Work surfaces
A surface is a way to interact with Claude Code and embed it into your process. At the start, it is enough to combine the terminal CLI with an IDE for reading code and reviewing changes.
Web, desktop, cloud, mobile, Slack, GitHub, CI, and browser scenarios may be useful later, but they should not complicate the first working cycle.
| Surface | Role in the process |
|---|---|
| CLI in the terminal | Launch Claude in a specific project directory |
| VS Code or JetBrains | Review files, context, and the diff |
| Desktop, web, cloud | Alternative access to sessions |
| Slack, GitHub, CI | Team interaction and automation |
| Remote, mobile, browser | Specialized or remote scenarios |
Why the course starts with the terminal
Launching from the repository root immediately establishes the working context: Claude can see the actual files, structure, and project boundaries. The IDE is not replaced; it helps the person verify the result.
cd ~/projects/commerce-os
claudeBasic workflow
- Open the repository in a terminal and launch Claude.
- Check the Git status and state the task.
- Get changes or a plan, then open the project in the IDE.
- Review the files, diff, and test results.
- Check the key scenario manually if automated tests are insufficient.
- Prepare the changes for review and record exactly what was checked.
Project → Claude → Git → IDE → checks → human decision → ready artifactWhat PR-ready means
- It is clear which files changed and why.
- The diff was reviewed without unnecessary formatting or unexpected edits.
- Checks were run, and their result can be explained.
- The key system behavior was confirmed.
- Another developer can understand how to reproduce or verify the result.
Changed:
- orders/OrderService.java
Checked:
- the orders page loads;
- new orders have the correct order.Tools for learning examples
The next practical tasks may require JDK, Gradle, and Python 3. Before installing anything manually, ask Claude to check the environment and show the versions.
In Java projects, prefer the Gradle Wrapper: it takes the compatible Gradle version from the repository.
java -version
gradle -version
python3 --version
# In an existing Gradle project
./gradlewCanonical lesson source · JavaRush
Open JavaRush material