<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[AI Workspace Builder]]></title><description><![CDATA[Practical guides on setting up Claude Code for teams: CLAUDE.md files, role profiles, and team conventions that actually stick.]]></description><link>https://aiworkspacebuilder.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ac4597371d92959bdf5aa1b/ea8e3635-39a2-4d3d-8da5-8a094d61bd04.png</url><title>AI Workspace Builder</title><link>https://aiworkspacebuilder.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 06:42:45 GMT</lastBuildDate><atom:link href="https://aiworkspacebuilder.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to onboard a new developer to a Claude Code team in one day]]></title><description><![CDATA[When a team uses Claude Code, a new developer joins twice. The person joins, and so does their agent. The person has weeks to learn how the team works. Their agent starts writing code on day one, and ]]></description><link>https://aiworkspacebuilder.hashnode.dev/how-to-onboard-a-new-developer-to-a-claude-code-team-in-one-day</link><guid isPermaLink="true">https://aiworkspacebuilder.hashnode.dev/how-to-onboard-a-new-developer-to-a-claude-code-team-in-one-day</guid><category><![CDATA[claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[onboarding]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[AI Workspace Builder]]></dc:creator><pubDate>Mon, 12 Oct 2026 08:07:59 GMT</pubDate><content:encoded><![CDATA[<p>When a team uses Claude Code, a new developer joins twice. The person joins, and so does their agent. The person has weeks to learn how the team works. Their agent starts writing code on day one, and it only knows what the repository tells it.</p>
<p>That makes onboarding faster if the team's way of working is written down where the agent reads it, and slower if it isn't: the new hire's first PRs arrive quickly, look plausible, and ignore half the team's conventions.</p>
<p>Here is a one-day plan that gets both of them ready.</p>
<h2>Before day one: make the repository explain itself</h2>
<p>Most of the work happens before the new developer arrives. Check that the repository carries three things.</p>
<p><strong>A shared</strong> <code>CLAUDE.md</code> <strong>at the root.</strong> Claude Code reads it automatically at the start of every session. It should hold the commands (install, run, test, lint), the folder layout, a reference implementation to copy, the ownership of each area, and the handful of rules the team actually enforces. If you don't have one, our <a href="https://aiworkspacebuilder.hashnode.dev/a-claude-md-template-for-teams-copy-it-and-adapt">CLAUDE.md template for teams</a> is a starting point.</p>
<p><strong>A committed</strong> <code>.claude/settings.json</code><strong>.</strong> This is where shared permissions live: which commands Claude Code may run without asking, and which it must never run. Committing it means the new hire's agent starts with the same guardrails as everyone else's, instead of whatever they click through in the first hour.</p>
<p><strong>Folder-level</strong> <code>CLAUDE.md</code> <strong>files where the rules differ.</strong> If the payments service or the data pipeline has its own conventions, put them in a <code>CLAUDE.md</code> inside that folder. Claude Code picks it up when working there, and the root file stays short.</p>
<p>A quick test: ask someone who has never seen the repository to open Claude Code and ask "how do I run the tests for one file?" If the answer is wrong, a new hire's agent will get it wrong too.</p>
<h2>Morning: set up the machine and the personal layer</h2>
<p><strong>1. Install and sign in.</strong> Install Claude Code, sign in, and clone the repository. Run it once from the repository root so it picks up the shared files.</p>
<p><strong>2. Read the shared</strong> <code>CLAUDE.md</code> <strong>together.</strong> Spend 20 minutes on it with the new developer. This is the fastest overview of the codebase you have, and it is the exact context their agent will work from. Anything they find confusing is probably confusing to the agent too, so fix it on the spot.</p>
<p><strong>3. Set up the personal layer.</strong> Personal preferences belong in the developer's own <code>~/.claude/CLAUDE.md</code>, not the shared file: how verbose they like answers, their editor habits, the language they prefer explanations in. Personal permission tweaks go in <code>.claude/settings.local.json</code>, which stays out of version control. Make the split explicit on day one, so team rules don't get edited to suit one person.</p>
<p><strong>4. Show the team's commands.</strong> If the team keeps custom slash commands in <code>.claude/commands/</code> (for example a <code>/review</code> or <code>/new-endpoint</code> command), walk through them. They are the team's habits in runnable form.</p>
<h2>Midday: a guided first task</h2>
<p>Pick a small, real task with a clear finish line: a bug with a reproduction, or a small endpoint that follows an existing pattern. Not a toy, and not anything that crosses team boundaries.</p>
<p>Have the new developer do it with Claude Code while a teammate watches for 30 minutes. The point is not the code. It is to see how the agent behaves in your repository:</p>
<ul>
<li><p>Did it follow the reference implementation, or invent its own structure?</p>
</li>
<li><p>Did it run the right test command the first time?</p>
</li>
<li><p>Did it stay inside the files the task needed?</p>
</li>
<li><p>Did it stop and ask where the rules say to ask (schema changes, auth, billing)?</p>
</li>
</ul>
<p>Every "no" is a gap in the shared files, not a mistake by the new hire. Write it down.</p>
<h2>Afternoon: the first PR and the first fix to the instructions</h2>
<p><strong>1. Open the PR the normal way.</strong> Same template, same checks, same reviewers as everyone else. Agent-written code from a new hire gets the review any new hire's code gets.</p>
<p><strong>2. Turn the gaps into edits.</strong> For each "no" from the guided task, add or fix one line in the right <code>CLAUDE.md</code>. Let the new developer make the edit and open it as a second small PR.</p>
<p>This is the most useful thing a new hire can do on day one. They are the only person on the team who sees the repository with fresh eyes, and their agent is the only one that shows exactly what the written instructions are missing.</p>
<h2>End of day: what to check</h2>
<p>By the end of the day the new developer should have:</p>
<ul>
<li><p>Claude Code running against the repository with the shared settings</p>
</li>
<li><p>A personal <code>~/.claude/CLAUDE.md</code> that holds their preferences, not team rules</p>
</li>
<li><p>One merged or reviewed PR for a real task</p>
</li>
<li><p>One PR that improves the team's instructions</p>
</li>
</ul>
<p>If all four are true, their agent now works the way the team works, and the instructions are a little better for the next person.</p>
<h2>Why this matters more as the team grows</h2>
<p>On a team of three, conventions live in people's heads and spread in conversation. On a team of thirty, each developer's agent is making hundreds of small choices a day based on whatever the repository says. Onboarding is the moment the gap between "how we work" and "what is written down" is easiest to see, so it is the best moment to close it.</p>
<h2>Starting from the docs you already have</h2>
<p>The slow part is usually the first version of the shared files. Most of it already exists in your onboarding guide, your engineering handbook, and the page about who owns what. It just isn't in a form the agent reads.</p>
<p>That is what we built <a href="https://aiworkspacebuilder.ai">AI Workspace Builder</a> for. You upload the docs your team already has, and it generates the CLAUDE.md, a profile for each role, and an install script in 15 to 30 seconds. There's one free trial workspace, no card required.</p>
<p>Either way, the next new hire is the best test you have. Watch what their agent gets wrong on day one, and write it down.</p>
]]></content:encoded></item><item><title><![CDATA[A CLAUDE.md template for teams (copy it and adapt)]]></title><description><![CDATA[Most CLAUDE.md examples online are written for one person working on one side project. A team file has a different job: every developer's Claude Code session reads the same file, so it has to encode h]]></description><link>https://aiworkspacebuilder.hashnode.dev/a-claude-md-template-for-teams-copy-it-and-adapt</link><guid isPermaLink="true">https://aiworkspacebuilder.hashnode.dev/a-claude-md-template-for-teams-copy-it-and-adapt</guid><category><![CDATA[claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[AI Workspace Builder]]></dc:creator><pubDate>Fri, 09 Oct 2026 17:25:47 GMT</pubDate><content:encoded><![CDATA[<p>Most CLAUDE.md examples online are written for one person working on one side project. A team file has a different job: every developer's Claude Code session reads the same file, so it has to encode how the <strong>team</strong> works, not how one person likes to work.</p>
<p>Below is a template you can copy into the root of a shared repo. Replace everything in <code>&lt;angle brackets&gt;</code>, delete what doesn't apply, and keep it short. Notes on each section follow.</p>
<h2>The template</h2>
<pre><code class="language-markdown"># &lt;Project name&gt;

&lt;One sentence: what this repo is and who uses it.&gt;

## Commands
- Install: `&lt;command&gt;`
- Run locally: `&lt;command&gt;`
- Test (all): `&lt;command&gt;`
- Test (one file): `&lt;command&gt; &lt;path&gt;`
- Lint and format: `&lt;command&gt;` (must pass before any commit)
- Never run: `&lt;command&gt;` (&lt;why: e.g. resets the shared dev database&gt;)

## Layout
- `&lt;folder&gt;/`: &lt;what lives here&gt;
- `&lt;folder&gt;/`: &lt;what lives here&gt;
- Reference implementation for new &lt;services/components/endpoints&gt;: `&lt;path&gt;`

## Ownership
| Area | Owner | Reviews required |
|---|---|---|
| `&lt;folder&gt;/` | &lt;team&gt; | &lt;n&gt;, at least one from &lt;team&gt; |
| `&lt;folder&gt;/` | &lt;team&gt; | &lt;n&gt; |

## Rules
- Follow the pattern in `&lt;reference path&gt;` for new &lt;things&gt;. Do not invent a new structure.
- &lt;Database&gt; schema changes: write the migration and open a PR. Never apply it directly.
- Anything touching &lt;billing/auth/data deletion&gt;: stop and ask before writing code.
- Dependencies: patch upgrades are fine. Minor or major upgrades need a separate PR.
- If you can't verify something (a command, an API, a config value), say "I haven't verified this" and stop.

## Standards
- Test coverage on new code: &lt;n&gt;% minimum
- &lt;Language&gt;-specific: &lt;e.g. no `any` in TypeScript, type hints on all public functions&gt;
- Commit messages: &lt;convention, e.g. Conventional Commits&gt;
- PR size: under &lt;n&gt; lines changed where possible

## Glossary
- **&lt;Term&gt;**: &lt;what it means here&gt;. Not "&lt;banned synonym&gt;".
- **&lt;Term&gt;**: &lt;what it means here&gt;.

## Definition of done
- Tests pass locally and the linter is clean
- The change follows the reference implementation
- The PR description explains what changed and why, in plain language
</code></pre>
<p>That's the whole file. If yours is much longer, read on.</p>
<h2>What each section is for</h2>
<h3>Commands</h3>
<p>This is the section that pays off fastest. Without it, Claude Code guesses the commands, and a plausible guess (<code>npm test</code> in a pnpm monorepo, <code>pytest</code> without the right flags) wastes time on every task.</p>
<p>The <strong>"Never run"</strong> line matters more than it looks. One destructive command that's easy to type, like a database reset or a deploy script, is worth naming explicitly.</p>
<h3>Layout and the reference implementation</h3>
<p>Don't describe the whole folder tree. The agent can read it. Name the folders whose purpose isn't obvious, and point to <strong>one existing file that shows the right way to do things</strong>.</p>
<p>"New endpoints follow the structure of <code>api/orders/</code>" gets better results than a page describing your architecture. Models copy examples far more reliably than they follow descriptions.</p>
<h3>Ownership</h3>
<p>In a team repo, the most expensive agent mistake is a change that crosses team boundaries: a refactor that touches three teams' code in one PR. An ownership table lets the agent notice the boundary and split the work, or ask first.</p>
<h3>Rules</h3>
<p>Write rules as short imperatives. "Never apply schema changes directly" is followed. "We generally prefer that schema changes go through review" is not.</p>
<p>Keep the list to the rules that are actually broken. A rule nobody would break anyway is noise that dilutes the ones that matter.</p>
<h3>Standards</h3>
<p>Numbers beat adjectives. "Clean, well-tested code" changes nothing. "80% coverage on new code" and "no <code>any</code> types" can be checked, by the agent and by your reviewer.</p>
<h3>Glossary</h3>
<p>This is the section most teams skip and most need. When the agent invents its own names for your domain concepts (a "customer" becomes an "account holder" in one file and a "client" in another), the codebase slowly fills with inconsistent vocabulary. A short glossary, including the synonyms you <strong>don't</strong> want, stops that.</p>
<h3>Definition of done</h3>
<p>Tell the agent what it has to check before it says it's finished. This turns "done" from a claim into something it verifies: tests ran, the linter passed, the change matches the reference.</p>
<h2>What to leave out</h2>
<ul>
<li><p><strong>Things the code already says.</strong> The agent can read your <code>package.json</code> and folder structure.</p>
</li>
<li><p><strong>Personal preferences.</strong> Tone, verbosity, editor habits: those belong in each developer's own <code>~/.claude/CLAUDE.md</code>, not the shared file.</p>
</li>
<li><p><strong>Rules for one folder.</strong> Put them in a <code>CLAUDE.md</code> inside that folder. Claude Code picks it up when working there, and the root file stays readable.</p>
</li>
<li><p><strong>Long prose.</strong> If a section needs paragraphs, it's documentation. Link to it instead of pasting it.</p>
</li>
</ul>
<h2>Keeping it true</h2>
<p>A team CLAUDE.md fails quietly: it says one thing, the codebase moved on, and the agent confidently follows the old rule. Two habits prevent that:</p>
<ol>
<li><p><strong>Review it like code.</strong> Changes go through PRs, and any PR that changes a convention updates the file in the same PR.</p>
</li>
<li><p><strong>Treat a bad agent suggestion as a bug report against the file.</strong> If the agent got something wrong because the rule was missing or stale, fix the file, not just the code.</p>
</li>
</ol>
<h2>Starting from your team's docs instead</h2>
<p>Most of what goes into this template already exists somewhere in your team's documents: the onboarding guide, the engineering handbook, the page about who owns what. Turning that prose into short rules is the slow part.</p>
<p>That's what we built <a href="https://aiworkspacebuilder.ai">AI Workspace Builder</a> for. You upload the docs your team already has, and it generates the CLAUDE.md, a profile for each role, and team-level files in 15 to 30 seconds. There's a free trial workspace, no card required.</p>
<p>Either way, start small: commands, one reference implementation, and the three rules your team breaks most often. That alone changes how Claude Code behaves in your repo.</p>
]]></content:encoded></item><item><title><![CDATA[How to set up Claude Code for your whole team (not just your own laptop)]]></title><description><![CDATA[Most developers who try Claude Code start the same way: open a repo, ask for a change, and get something that is almost right. The code compiles, but it uses the wrong logging library, skips the test ]]></description><link>https://aiworkspacebuilder.hashnode.dev/how-to-set-up-claude-code-for-your-whole-team-not-just-your-own-laptop</link><guid isPermaLink="true">https://aiworkspacebuilder.hashnode.dev/how-to-set-up-claude-code-for-your-whole-team-not-just-your-own-laptop</guid><category><![CDATA[claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[AI Workspace Builder]]></dc:creator><pubDate>Wed, 07 Oct 2026 08:24:59 GMT</pubDate><content:encoded><![CDATA[<p>Most developers who try Claude Code start the same way: open a repo, ask for a change, and get something that is almost right. The code compiles, but it uses the wrong logging library, skips the test convention your team agreed on, and opens a PR against the wrong branch.</p>
<p>The model is not the problem. Context is. Claude Code knows nothing about your team unless you write it down, and the place you write it down is a file called <code>CLAUDE.md</code>.</p>
<p>This guide covers what goes in that file when a <strong>team</strong> shares it, not just one person, and the mistakes that make it stop working after a month.</p>
<h2>What CLAUDE.md actually does</h2>
<p>Claude Code reads <code>CLAUDE.md</code> automatically at the start of every session. You do not paste it, reference it, or remind the agent. If the file is in your project root, it is in context.</p>
<p>There are three places it can live:</p>
<table>
<thead>
<tr>
<th>Location</th>
<th>Scope</th>
<th>Who edits it</th>
</tr>
</thead>
<tbody><tr>
<td><code>~/.claude/CLAUDE.md</code></td>
<td>Every project on your machine</td>
<td>You only</td>
</tr>
<tr>
<td><code>&lt;repo&gt;/CLAUDE.md</code></td>
<td>Everyone working in this repo</td>
<td>The team, via PR</td>
</tr>
<tr>
<td><code>&lt;repo&gt;/&lt;folder&gt;/CLAUDE.md</code></td>
<td>Work inside that folder</td>
<td>The team that owns the folder</td>
</tr>
</tbody></table>
<p>For a team, the repo-level file is the one that matters. It is checked in, reviewed like code, and every developer's agent reads the same rules.</p>
<p>If you have never made one, run <code>/init</code> inside Claude Code. It scans the repo and writes a starter file. That starter covers the code. It does not cover the team, and that is the part you need to add.</p>
<h2>The five sections a team CLAUDE.md needs</h2>
<h3>1. Who owns what</h3>
<p>The agent cannot ask "who reviews payments code?" unless the answer is in the file.</p>
<pre><code class="language-markdown">## Ownership
| Area | Owner | Reviews required |
|---|---|---|
| payments/ | Payments team | 2, one from payments |
| api/ | Platform team | 1 |
| web/ | Frontend team | 1 |
</code></pre>
<p>This alone stops a whole class of bad suggestions, like refactoring a module across a team boundary in one PR.</p>
<h3>2. How decisions escalate</h3>
<p>Write down what the agent should do when a task crosses a line: stop and ask, open an issue, or proceed.</p>
<pre><code class="language-markdown">## Escalation
- Schema changes: never apply directly. Write the migration, open a PR, tag the platform team.
- Anything touching billing: stop and ask before writing code.
- Dependency upgrades: allowed for patch versions only.
</code></pre>
<p>Short imperatives work better than prose. The agent follows "never apply directly" far more reliably than "we generally prefer that schema changes go through review."</p>
<h3>3. The exact commands</h3>
<p>List the build, test, and lint commands character for character. If you do not, the agent invents plausible ones, and plausible is not the same as correct.</p>
<pre><code class="language-markdown">## Commands
- Install: `pnpm install`
- Test one package: `pnpm --filter &lt;pkg&gt; test`
- Lint: `pnpm lint` (must pass before any commit)
- Never run: `pnpm db:reset` (wipes the shared dev database)
</code></pre>
<p>That last line has saved more than one team a bad afternoon.</p>
<h3>4. What "good" means here</h3>
<p>Every team has standards that are obvious to them and invisible to an outsider. Write the number down.</p>
<pre><code class="language-markdown">## Standards
- Test coverage on new code: 80% minimum
- API responses: p95 under 300 ms
- No new `any` types in TypeScript
- Commit messages: Conventional Commits (feat:, fix:, chore:)
</code></pre>
<h3>5. The tools and systems</h3>
<p>Which issue tracker, which CI, where logs live, which environments exist. The agent will reference these when it explains what to do next, so they should be real.</p>
<h2>Per-role profiles: when one file is not enough</h2>
<p>A single <code>CLAUDE.md</code> works until your team has people who need different defaults. A tech lead wants the agent to flag architectural risk. A new joiner wants it to explain conventions. A PM wants it to stay out of the code entirely.</p>
<p>A pattern that works well: keep the shared rules in <code>CLAUDE.md</code>, and add a short profile per role that someone loads when they start a session.</p>
<pre><code class="language-plaintext">profiles/
  tech-lead/profile.md
  backend-engineer/profile.md
  product-manager/profile.md
</code></pre>
<p>Each profile covers how that role thinks, what they prioritize, and what they never compromise on. The shared file stays short. The profiles carry the difference.</p>
<h2>Four mistakes that make it stop working</h2>
<p><strong>It grows until nobody reads it.</strong> Past a few screens, the important rules get lost among the trivia. If a section only matters for one folder, move it into that folder's <code>CLAUDE.md</code>.</p>
<p><strong>It describes, instead of instructing.</strong> "Our team values clean code" changes nothing. "Functions over 40 lines need a comment explaining why" does.</p>
<p><strong>It drifts from reality.</strong> The file says the tests run with Jest. The repo moved to Vitest in March. Now the agent is confidently wrong. Review the file when you review the code it describes.</p>
<p><strong>It is written once by one person.</strong> The best CLAUDE.md files are edited by everyone who catches the agent getting something wrong. Treat a bad agent suggestion as a bug report against the file.</p>
<h2>A faster way to write the first version</h2>
<p>Most of what goes into a team <code>CLAUDE.md</code> already exists somewhere: an onboarding doc, an engineering handbook, a Notion page about who owns what. The slow part is turning that prose into short, enforceable rules.</p>
<p>That is the problem we built <a href="https://aiworkspacebuilder.ai">AI Workspace Builder</a> to solve. You upload the docs your team already has (PDFs, markdown, Word files, or a Notion page), and it pulls out roles, processes, metrics, tools, and escalation paths, then generates the <code>CLAUDE.md</code>, a profile per role, and team-level files. It takes 15 to 30 seconds, and the free tier gives you one trial workspace with no card required.</p>
<p>Whether you use it or write the file by hand, the principle is the same: the agent is only as good as what you tell it about your team. Write it down once, keep it short, and keep it true.</p>
<hr />
<p><em>What is the one rule in your CLAUDE.md that made the biggest difference? Drop it in the comments.</em></p>
]]></content:encoded></item></channel></rss>