AI Workspace Builder

Free CLAUDE.md templates for teams

Starting points for teams using Claude Code. Copy one into your repository, replace everything in <angle brackets>, and delete what doesn't apply.

Team CLAUDE.md for a shared repository

Every developer's Claude Code session reads this file at the start. Put the team's commands, layout, ownership, and rules here.

CLAUDE.md (repository root)
# <Project name>

<One sentence: what this repo is and who uses it.>

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

## Layout
- `<folder>/`: <what lives here>
- `<folder>/`: <what lives here>
- Reference implementation for new <services/components/endpoints>: `<path>`

## Ownership
| Area | Owner | Reviews required |
|---|---|---|
| `<folder>/` | <team> | <n>, at least one from <team> |
| `<folder>/` | <team> | <n> |

## Rules
- Follow the pattern in `<reference path>` for new <things>. Do not invent a new structure.
- <Database> schema changes: write the migration and open a PR. Never apply it directly.
- Anything touching <billing/auth/data deletion>: 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: <n>% minimum
- <Language>-specific: <e.g. no `any` in TypeScript, type hints on all public functions>
- Commit messages: <convention, e.g. Conventional Commits>
- PR size: under <n> lines changed where possible

## Glossary
- **<Term>**: <what it means here>. Not "<banned synonym>".
- **<Term>**: <what it means here>.

## 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

Folder-level CLAUDE.md for one service

For a part of the codebase with its own rules. Claude Code picks it up when working in that folder, so the root file stays short.

<service>/CLAUDE.md
# <Service name>

<One sentence: what this service does and who depends on it.>

## Commands
- Test this service only: `<command>`
- Run it locally: `<command>`

## Rules for this folder
- Copy the structure of `<path to reference file>` for new <handlers/jobs/components>.
- Use `<internal library>` for <logging/HTTP/database access>. Not `<popular alternative>`.
- Never call `<external API or other service>` directly. Go through `<client module>`.
- Public interfaces in `<path>` are used by <other teams>. Changing them needs a review from <owner>.

## Gotchas
- <A non-obvious fact that has caused bugs before, e.g. "timestamps in this service are stored in UTC">
- <Another one>

Personal CLAUDE.md for your own preferences

Your own habits, not the team's rules. It applies to every project on your machine and is never committed.

~/.claude/CLAUDE.md
# My preferences

## How I like to work
- Keep explanations short. Show the change first, then one line on why.
- Ask before running anything that deletes files or touches a remote.
- When there are several reasonable options, recommend one instead of listing them all.

## My environment
- Editor: <editor>
- Shell: <zsh/bash/fish>
- Package managers I use: <npm/pnpm/uv/...>

## Don't
- Don't add comments that restate the code.
- Don't reformat files you didn't otherwise change.

Shared Claude Code permissions

Committed to the repo so every developer's agent starts with the same guardrails. Personal overrides go in .claude/settings.local.json, which stays out of version control.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "Bash(<test command> *)",
      "Bash(<lint command> *)",
      "Bash(git status)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Bash(<destructive command> *)",
      "Read(./.env)",
      "Read(./secrets/**)"
    ]
  }
}

Rather not fill these in by hand?

Upload the docs your team already has (onboarding guide, engineering handbook, ownership pages) and AI Workspace Builder generates the CLAUDE.md, a profile for each role, and an install script in 15 to 30 seconds. One free trial workspace, no card required.

Generate from your docs

How to use these well: what each section is for · making the agent follow your conventions