| name | new-project |
| description | Scaffold a new project with the full AI-assisted development workflow โ Makefile targets, linter/formatter configs, pre-commit hooks, CLAUDE.md, docs skeleton, tailored to the chosen stack (python, go, typescript/nextjs, rust, etc.). Use when the user says 'start a new project', 'bootstrap a repo', 'scaffold X', 'set up a fresh codebase for Y', 'init a new service'. |
Scaffold a new project with the AI-assisted development workflow.
Argument format: <project-name> [language/framework]
<project-name> (required) โ name of the project directory to create
[language/framework] (optional) โ the tech stack, used to tailor Makefile targets, linter config, .gitignore, and pre-commit hooks. Examples: python, python/fastapi, go, typescript/nextjs, rust. If omitted, you will be asked.
Examples:
/new-project my-api python/fastapi โ creates ./my-api/ with Python/FastAPI tooling
/new-project my-cli go โ creates ./my-cli/ with Go tooling
/new-project my-app โ creates ./my-app/, asks what stack to use
Process
1. Interview (if needed)
If no language/framework was given, ask the user:
- What language/framework?
- What type of project? (API, CLI, library, web app, etc.)
- Any specific tooling preferences? (test framework, linter, etc.)
2. Initialize the project
Create the project directory inside the current working directory and initialize git:
mkdir -p <project-name>
cd <project-name>
git init
The project is created at $PWD/<project-name>/. If you want it elsewhere, cd to the desired parent directory first.
3. Create workflow structure
Create these directories:
.claude/
.claude/agents/
docs/
docs/specs/
docs/roadmap/
docs/adr/
docs/rfc/
Note: Skills are installed globally at ~/.claude/skills/. Do NOT create project-level skill copies โ they'd duplicate and drift from the global versions. The global skills (/architecture, /tdd, /security, /adr, /rfc, /spec, /roadmap, /feature, /fix, /review, /autopilot) are already available. For stack-aware code review, install Anthropic's official code-review skill from claude-code-plugins. Only create project-level agents and settings.
4. Create CLAUDE.md
Create a CLAUDE.md at the project root tailored to the language/framework:
# CLAUDE.md
## Build & Test
- `make test` โ run test suite
- `make lint` โ run linters
- `make typecheck` โ type checking (if applicable)
- `make build` โ build the project (if applicable)
## Code Style
- [Language-specific conventions that Claude might get wrong]
## Architecture
- [Brief description of project structure]
## Workflow
- All PRs require passing CI + human review
- Commit messages use conventional commits (feat:, fix:, refactor:, chore:)
- Security-sensitive changes require /sec-review before PR
- Features start with a spec in docs/specs/
Adapt the build commands and style section to the chosen language/framework.
5. Create project-level agents
Copy the security-reviewer and architecture-reviewer into .claude/agents/, tailored to the project's language if needed.
6. Create project-level settings
Create .claude/settings.json with hooks appropriate to the language:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"command": "make lint-changed 2>&1 | head -20",
"description": "Lint after every file edit"
}
]
}
}
7. Create Makefile
Create a Makefile with standard targets for the chosen language/framework:
test โ run tests
lint โ run linter
typecheck โ run type checker (if applicable)
build โ build (if applicable)
lint-changed โ lint only changed files
security-scan โ run security scanner (gitleaks, bandit, gosec, etc.)
8. Create .pre-commit-config.yaml
Set up pre-commit hooks:
- Language-appropriate linter
- Type checker (if applicable)
- Test runner
- gitleaks for secret detection
9. Create .gitignore
Appropriate for the language/framework. Always include:
.claude/ local files
.env
- Language-specific build artifacts
10. Create initial docs
Create .gitkeep files to preserve directory structure:
docs/specs/.gitkeep
docs/roadmap/.gitkeep
docs/adr/.gitkeep
docs/rfc/.gitkeep
11. Summary
Tell the user what was created and suggest next steps:
cd <project-name>
pre-commit install
/prd <project-name> โ define what we're building
/architecture โ define system structure
/tdd โ define testing strategy, dev environment, CI/CD
/security โ define the threat model (if applicable)
/spec <first-feature> โ write your first feature spec
/feature docs/specs/<first-feature>.md โ implement it