Claude Code
Starting off again from the first to install Claude code in a VM and recording the same here.
How to install Claude ?
Claude Code Post-Install Guide: From Curl Install to Productive Coding Agent
Claude Code installation is now very straightforward. On macOS, Linux, or WSL, the fastest way to install it is through the native installer using:
curl -fsSL https://claude.ai/install.sh | bashOnce installed, you can launch it from your project folder by running:
claudeThis simple install step is only the beginning. The real value of Claude Code starts after installation — when it is connected to your project, understands your repository, follows your team instructions, runs commands safely, and helps with real engineering workflows.
Claude Code is not just another chat interface. Anthropic describes it as an agentic coding tool that can read the codebase, edit files, run commands, and integrate with development tools directly from the terminal, IDE, desktop app, or browser.
1. Verify the Installation
After installation, the first step is to confirm that Claude Code is properly installed.
Run:
claude --versionThen run:
claude doctorThe claude doctor command is useful because it checks the installation and configuration more deeply than a simple version check. Anthropic’s setup guide recommends both claude --version and claude doctor after installation.
This step is important because it helps identify problems early, such as:
- Command not found
- PATH issue
- Shell mismatch
- Authentication issue
- Permission issue
- Unsupported environment
2. Authenticate Claude Code
Once Claude Code is installed, run:
claudeOn first launch, Claude Code opens a browser-based login flow. If the browser does not open automatically, Claude Code allows you to copy the login URL and paste it manually into your browser. This is especially useful in WSL, SSH sessions, or container-based environments.
Claude Code requires an eligible Claude account. The official setup guide states that Claude Code access requires a Pro, Max, Team, Enterprise, or Console account; the free Claude.ai plan does not include Claude Code access.
For teams, authentication can also be managed through:
- Claude for Teams
- Claude Enterprise
- Claude Console
- Amazon Bedrock
- Google Cloud’s Agent Platform
- Microsoft Foundry
- Enterprise gateway-based authentication
This makes Claude Code suitable not only for individual developers, but also for enterprise engineering teams.
3. Start Claude Code Inside the Project Folder
Creating the repository in local from Git
1. Create a folder and clone the repo
Run this in terminal:
mkdir -p ~/projects
cd ~/projectsgit clone https://github.com/binoykumarb/bk.git firstproj
cd firstprojNow your repository will be inside:~/projects/firstprojCheck:
pwd
ls
git statusHave some issues with my repository. Resolving the same.
Claude Code works best when started inside the actual project repository.
Example:
claudeThis gives Claude Code direct context of the files, folders, package structure, test scripts, and configuration available in that repository.
For example, you can ask:
Understand this repository and explain the build flow.Or:
Find how the API routes are structured and identify the test command.Claude Code can inspect files, understand project structure, and help you reason across multiple files. This is where it becomes different from a normal chatbot.
4. Create a CLAUDE.md File
A very useful post-install step is creating a CLAUDE.md file in the project root.
Example:
# Project Instructions for Claude Code## Project
This is the fp API service.## Rules
- Do not modify production configuration files without approval.
- Always run tests before suggesting a final fix.
- Follow existing coding conventions.
- Prefer small, reviewable changes.
- Explain any risky change before applying it.## Build Commands
- Run unit tests: `mvn test`
- Run API tests: `npm run newman`
- Run static checks: `mvn sonar:sonar`## Review Checklist
Before completing any task:
1. Explain the change.
2. List files modified.
3. Run relevant tests.
4. Mention remaining risk.
Anthropic’s documentation explains that CLAUDE.md can be added to the project root so Claude Code reads it at the start of a session. It can store coding standards, architecture decisions, preferred libraries, and review checklists.
This is one of the most important practices for teams. Without CLAUDE.md, every developer may prompt Claude differently. With CLAUDE.md, the team gets a more consistent working style.
5. Configure Settings and Permissions
After installation, do not let Claude Code operate without boundaries. Configure how it should behave.
Claude Code settings can be managed through:
/configAnthropic’s settings documentation explains that Claude Code supports global, project-level, local, and managed configuration scopes. Managed settings are useful for organization-wide policies, project settings are useful for team-shared repository rules, and local settings are useful for personal or machine-specific overrides.
Get Binoy’s stories in your inbox
Join Medium for free to get updates from this writer.
For enterprise teams, this matters because not all permissions should be left to individual developers. Some rules should be standardized.
Recommended team-level controls:
AreaRecommendationProduction filesRequire approval before modificationSecretsExclude from contextBuild scriptsAllow read, restrict auto-changeTest executionAllowDeployment scriptsRequire approvalGit commitsHuman review requiredEnvironment filesRead-only unless approved
For an enterprise product like eMPro, this is critical. Claude Code should accelerate engineering, not bypass engineering discipline.
6. Run the First Practical Task
A good first task should be safe, useful, and verifiable.
Example:
Review this repository and identify the unit test command, build command, API test command, and static analysis command. Do not modify files.Then try:
Find modules that do not have unit test coverage and suggest where tests should be added. Do not write code yet.Then:
Create a plan to add JUnit tests for the service layer. Wait for my approval before making changes.This workflow is better than directly asking Claude Code to “fix everything.”
The recommended pattern is:
Understand → Plan → Review → Execute → Verify7. Use Claude Code for Real Build Stabilization
For a product team, Claude Code becomes powerful when connected to daily engineering problems.
Example use cases:
Unit Test Improvement
Analyze the service classes and identify methods without JUnit coverage. Prepare a test coverage improvement plan using JUnit and Mockito.Build Failure Analysis
Read the latest build log and identify the root cause of failure. Classify whether it is compilation, dependency, unit test, configuration, or environment related.API Test Generation
Read the OpenAPI specification and suggest positive and negative API test scenarios for Postman/Newman.Code Quality Review
Review the changed files and identify possible Sonar, SpotBugs, PMD, or Checkstyle issues before commit.Release Readiness
Compare the validation outputs from JUnit, Newman, co.meta, accessibility scan, and dependency scan. Prepare a release gate decision: Proceed, Hold, Rebuild, or Escalate.This is where Claude Code becomes more than a developer assistant. It becomes part of the engineering validation loop.
8. Suggested Post-Install Checklist
After installing Claude Code, every developer should complete this checklist:
StepActionStatus1Install Claude Code using curl/native installerDone2Run claude --versionDone3Run claude doctorDone4Authenticate using eligible Claude accountDone5Open Claude Code inside project folderDone6Create or review CLAUDE.mdDone7Configure project permissionsDone8Run first read-only repository analysisDone9Ask Claude to prepare a plan before modifying filesDone10Run tests after changesDone
This checklist should become part of onboarding for any team adopting Claude Code.
9. What Teams Should Avoid
Claude Code is powerful, but teams should avoid unsafe usage.
Avoid prompts like:
Fix the entire project.Make all tests pass.Refactor the codebase.Deploy this to production.These prompts are too broad and risky.
Better prompts are specific and bounded:
Analyze why this JUnit test is failing. Explain the root cause first. Do not modify files until I approve.Add unit tests only for ExpenseService. Follow the existing test style. Run mvn test after changes.Review this API controller and suggest missing validation scenarios. Do not change code.Good Claude Code usage is not about giving large vague commands. It is about creating controlled engineering loops.
10. From Prompting to Loop Engineering
The real maturity comes when teams stop using Claude Code as a one-shot prompt tool and start using it as a loop-based engineering assistant.
A good loop looks like this:
Trigger → Context → Action → Verification → State → ReviewFor a build team, this becomes:
New Build
→ Read Logs and Reports
→ Classify Failures
→ Verify Against Checklist
→ Update Progress
→ Recommend Proceed / Hold / Rebuild / EscalateFor example:
You are the build validation assistant.Read the latest build log, JUnit report, Newman report, co.meta report, and accessibility report.Classify every gate as Passed, Failed, Pending, or Evidence Missing.Do not mark a gate as passed without evidence.Prepare a release decision:
- Proceed
- Hold
- Rebuild
- Escalate
This type of prompt makes Claude Code useful for disciplined product engineering.
Conclusion
Installing Claude Code with curl is the easiest part. The real work begins after installation.
A good Claude Code rollout should include:
- Installation verification
- Authentication
- Project-level instructions
- Permission controls
- Safe first tasks
- Team prompt patterns
- Build validation loops
- Human review checkpoints
Claude Code should not replace developers, testers, reviewers, or release managers. It should reduce repetitive work, improve analysis speed, and help teams make better engineering decisions with evidence.
For teams working on complex products like fp, Claude Code can become a practical engineering accelerator — provided it is used with structure, guardrails, and clear validation discipline.







