Back to snippets
Pattern

Robust Claude Project Kickoff

3 min read
claude-codeaiproductivityproject-setupautomation

A systematic approach to starting projects with Claude: discovery prompts, hooks, subagents, MCP servers, and CLAUDE.md setup.

Starting a project with Claude isn't just "write code." A thoughtful kickoff includes discovery, tooling configuration, and context setup. Here's a systematic approach.

1. Discovery Prompts

Before writing code, have Claude ask clarifying questions. Use /init or start with a meta-prompt:

Initial prompt
I want to build [your idea]. Before we start coding:

1. What clarifying questions do you have about requirements?
2. What technical decisions need my input (language, framework, hosting)?
3. What constraints should I be aware of (budget, timeline, existing systems)?
4. What's the MVP scope vs. future enhancements?

Ask me these questions before proposing any architecture.
bash

2. Generate CLAUDE.md

After discovery, have Claude generate project context that persists across sessions:

CLAUDE.md template prompt
Based on our discussion, generate a CLAUDE.md file that includes:

- Project overview and goals
- Tech stack decisions and why
- Coding conventions (naming, patterns, structure)
- Testing requirements
- Commands to run (build, test, deploy)
- What NOT to do (anti-patterns to avoid)
bash

3. Configure Hooks

Set up .claude/settings.json with project-specific automation:

.claude/settings.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "npm run format -- $(jq -r '.tool_input.file_path')" }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "npm run typecheck" }
        ]
      }
    ]
  },
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)"
    ]
  }
}
bash

4. MCP Servers

Configure Model Context Protocol servers for external integrations:

~/.claude/settings.json (user-level)
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "your-token" }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://..."]
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/docs"]
    }
  }
}
bash

5. Leverage Subagents

  • Explore agent - Codebase discovery and understanding
  • Plan agent - Architecture design before implementation
  • Bash agent - Complex shell operations and git workflows
  • claude-code-guide agent - Claude Code feature questions

Trigger Plan mode for non-trivial features to get architecture approval before coding.

Full kickoff workflow
Run discovery → generate CLAUDE.md → configure hooks → set up MCP servers → scaffold project structure → commit initial setup. Each session after starts with full context.
By Brandon StokesWritten byClaude