Files
msd-core/commands/gsd/new-project.md
Lex Christopherson 733fc1440c feat: improved continuation UI with context and visual hierarchy
- Add continuation-format.md reference defining the standard format
- Replace "## To Continue" with "## ▶ Next Up"
- Show plan/phase name + description instead of just command paths
- Add `/clear` explanation: "fresh context window"
- Change "Other options" to "Also available"
- Add /gsd:research-phase to phase planning options
- Add visual separators and completion headers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 09:00:18 -06:00

4.4 KiB

description, allowed-tools
description allowed-tools
Initialize a new project with deep context gathering and PROJECT.md
Read
Bash
Write
AskUserQuestion
Initialize a new project through comprehensive context gathering.

This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes.

Creates .planning/ with PROJECT.md and config.json.

<execution_context> @/.claude/get-shit-done/references/principles.md @/.claude/get-shit-done/references/questioning.md @/.claude/get-shit-done/templates/project.md @/.claude/get-shit-done/templates/config.json </execution_context>

**MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
  1. Abort if project exists:

    [ -d .planning ] && echo "ERROR: Project already initialized. Use /gsd:progress" && exit 1
    
  2. Initialize git repo in THIS directory (required even if inside a parent repo):

    # Check if THIS directory is already a git repo root (handles .git file for worktrees too)
    if [ -d .git ] || [ -f .git ]; then
        echo "Git repo exists in current directory"
    else
        git init
        echo "Initialized new git repo"
    fi
    

    You MUST run both bash commands above using the Bash tool before proceeding.

**1. Open (FREEFORM - do NOT use AskUserQuestion):**

Ask inline: "What do you want to build?"

Wait for their freeform response. This gives you the context needed to ask intelligent follow-up questions.

2. Follow the thread (NOW use AskUserQuestion):

Based on their response, use AskUserQuestion with options that probe what they mentioned:

  • header: "[Topic they mentioned]"
  • question: "You mentioned [X] — what would that look like?"
  • options: 2-3 interpretations + "Something else"

3. Sharpen the core:

Use AskUserQuestion:

  • header: "Core"
  • question: "If you could only nail one thing, what would it be?"
  • options: Key aspects they've mentioned + "All equally important" + "Something else"

4. Find boundaries:

Use AskUserQuestion:

  • header: "Scope"
  • question: "What's explicitly NOT in v1?"
  • options: Things that might be tempting + "Nothing specific" + "Let me list them"

5. Ground in reality:

Use AskUserQuestion:

  • header: "Constraints"
  • question: "Any hard constraints?"
  • options: Relevant constraint types + "None" + "Yes, let me explain"

6. Decision gate:

Use AskUserQuestion:

  • header: "Ready?"
  • question: "Ready to create PROJECT.md, or explore more?"
  • options (ALL THREE REQUIRED):
    • "Create PROJECT.md" - Finalize and continue
    • "Ask more questions" - I'll dig deeper
    • "Let me add context" - You have more to share

If "Ask more questions" → check coverage gaps from questioning.md → return to step 2. If "Let me add context" → receive input via their response → return to step 2. Loop until "Create PROJECT.md" selected.

Synthesize all context into `.planning/PROJECT.md` using the template from `templates/project.md`.

Do not compress. Capture everything gathered.

Ask workflow mode preference:

Use AskUserQuestion:

  • header: "Mode"
  • question: "How do you want to work?"
  • options:
    • "Interactive" - Confirm at each step
    • "YOLO" - Auto-approve, just execute

Create .planning/config.json with chosen mode using templates/config.json structure.

```bash git add .planning/PROJECT.md .planning/config.json git commit -m "$(cat <<'EOF' docs: initialize [project-name]

[One-liner from PROJECT.md]

Creates PROJECT.md with vision and requirements. EOF )"

</step>

<step name="done">
Present completion with next steps (see ~/.claude/get-shit-done/references/continuation-format.md):

Project initialized:

  • Project: .planning/PROJECT.md
  • Config: .planning/config.json (mode: [chosen mode])

▶ Next Up

[Project Name] — research domain or create roadmap

Research first (recommended for niche/complex domains):

/gsd:research-project

Create roadmap directly:

/gsd:create-roadmap

/clear first → fresh context window


</step>

</process>

<output>
- `.planning/PROJECT.md`
- `.planning/config.json`
</output>

<success_criteria>
- [ ] Deep questioning completed (not rushed)
- [ ] PROJECT.md captures full context
- [ ] config.json has workflow mode
- [ ] All committed to git
</success_criteria>