Quickstart Kit

This isn't the official docs. This is what we actually use, every day, across 40+ projects. Opinionated, battle-tested configuration that you can copy right now.

The One-Liner

Open Claude Code and type this:

Fetch clodd.minima.nyc/api/setup - it returns a JSON manifest. For each file in the manifest, fetch the URL and write the contents to the destination path. Create directories with mkdir -p as needed. Then run the verification commands and install the plugins.

That's it. Claude fetches the manifest, downloads each config file, writes them to the right places, and verifies the install. No copy-pasting walls of config.

What It Does

Claude will fetch a JSON manifest from clodd.minima.nyc/api/setup that contains:

  • 6 config files to download and place:
    • ~/.claude/settings.json - Opus model, bypass permissions, verbose
    • ~/.claude/mcp.json - Playwright MCP at system level
    • ~/.claude/commands/commit.md - Conventional commit command
    • ~/.claude/commands/handoff.md - Context handoff command
    • ~/.claude/commands/changelog.md - Changelog entry command
    • ~/.claude/commands/progress.md - Progress log command
  • 2 plugins to install (code-review, frontend-design)
  • Verification commands to confirm everything landed

How It Works

Claude Code has WebFetch built in - no MCP, no extensions, no prerequisites. A completely fresh install of Claude Code can fetch URLs and write files. The setup endpoint returns a machine-readable JSON manifest so Claude doesn't have to parse HTML or guess at code blocks. It just reads the instructions, fetches each file, and writes it to disk.


Manual Setup (if you prefer)

If you'd rather do it yourself, or if you want to customize before installing, here's the full bootstrap prompt:

Set up my Claude Code environment. Do ALL of the following:

1. Write ~/.claude/settings.json with this exact content:
{
  "permissions": {
    "allow": ["*", "WebSearch", "WebFetch", "Fetch"]
  },
  "model": "opus",
  "defaultMode": "bypassPermissions",
  "permissionMode": "bypassPermissions",
  "verbose": true
}

2. Write ~/.claude/mcp.json with this exact content:
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

3. Create ~/.claude/commands/commit.md with a conventional commit skill:
- Frontmatter: description "Create a well-formatted git commit with conventional commit style", allowed-tools "Bash(git:*)"
- Use dynamic commands in the markdown to show current git status, branch, staged changes, and unstaged changes
- Instructions: review changes, stage if needed, determine type (feat/fix/docs/style/refactor/test/chore), write commit message in format "type(scope): short description" with bullet points and Co-Authored-By footer, use heredoc for the commit command, show result with git log -1
- Rules: under 72 char first line, imperative mood, never push unless asked

4. Create ~/.claude/commands/handoff.md with a context handoff skill:
- Frontmatter: description "Create a handoff document for context transfer to another agent or session", allowed-tools "Read, Glob, Grep, Bash(git:*), Bash(mkdir:*)"
- Use dynamic commands to show current branch, git status, and recent commits
- Creates context/HANDOFF.md with sections: Session Summary, Completed Work, In Progress, Remaining Tasks, Key Decisions, Important Context, Files Modified, Resume Command, and a Compact Message paragraph
- Instructions: gather context from conversation and git, be specific with file paths, be actionable, mkdir -p context before writing

5. Create ~/.claude/commands/changelog.md with a changelog entry skill:
- Frontmatter: description "Add a changelog entry to docs/changelog.md based on recent work", allowed-tools "Read, Glob, Grep, Bash(git:*), Bash(mkdir:*), Bash(date:*)"
- Use dynamic commands to show current branch, today's date, and recent commits
- Instructions: ensure docs/changelog.md exists (create with mkdir -p docs if not), read the current changelog, categorize changes into Added/Changed/Fixed/Removed, append under today's date heading (don't duplicate if today already has a section), use plain language not commit-speak, show the entry after saving
- If $ARGUMENTS is provided, use that as a hint for what changed

6. Create ~/.claude/commands/progress.md with a progress log skill:
- Frontmatter: description "Create a progress log in docs/progress/ for this session's work", allowed-tools "Read, Glob, Grep, Bash(git:*), Bash(mkdir:*), Bash(date:*)"
- Use dynamic commands to show current branch, current date/time, recent commits, and changed files
- Instructions: mkdir -p docs/progress, generate filename as {date}_{time}--{slug}.md, determine type (Build Log/Decision/Research/Code Review), write structured file with sections for Context, What Changed (or Options Considered or Findings), Files Modified, and Key Takeaways
- Use $ARGUMENTS as the topic slug if provided, otherwise infer from session context
- Each file should be self-contained so a teammate can read it with no prior context

7. After creating everything, confirm what was set up and show me how to verify with: cat ~/.claude/settings.json && cat ~/.claude/mcp.json && ls ~/.claude/commands/

What This Sets Up

ThingWhy
Model: OpusBest model for coding. Set at system level so you never have to think about it. Check anytime with /model.
Bypass PermissionsStops the constant "allow this tool?" prompts. You're a developer, you know what you're doing.
Playwright MCPBrowser automation at the system level. Available in every project without per-project config.
/commit commandConventional commits every time. Just type /commit and it handles the rest.
/changelog commandAppends to docs/changelog.md with Added/Changed/Fixed format. Run after committing.
/progress commandCreates a new docs/progress/{date}_{time}--{slug}.md file. One topic per file, readable by teammates.
/handoff commandContext getting full? /handoff creates a summary, then /clear and tell the new session to read context/HANDOFF.md.

After Setup

Install Plugins

The manifest tells Claude to install these, but if it skipped them:

claude plugins install code-review
claude plugins install frontend-design

Verify Everything

Start a new Claude Code session and check:

/model          # Should show opus
/status         # Should show your config

Try the Playwright MCP by asking Claude to navigate to a website - if it works, MCP is configured correctly.

What's Next