Files
msd-core/commands/gsd/new-project.md
Lex Christopherson 3e8e5d537d fix: present new-project completion inline instead of as question
Show slash commands inline so users can copy them to fresh context,
matching pattern used by other GSD commands.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 07:38:42 -06:00

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

!`[ -d .planning ] && echo "PLANNING_EXISTS" || echo "NO_PLANNING"` !`[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"` Silent setup - execute before any user output:
# Abort if project exists
[ -d .planning ] && echo "Project already initialized. Use /gsd:progress" && exit 1

# Initialize git
[ -d .git ] || git init
Start: "What do you want to build?"

Let them talk. Then follow the conversation arc from questioning.md:

  1. Follow the thread — dig into what they said, what excites them
  2. Sharpen the core — essential vs nice-to-have
  3. Find boundaries — what is it NOT
  4. Ground in reality — only constraints that actually exist

Be a thinking partner, not an interviewer. Help them discover and articulate their vision.

When you feel you understand it, 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 → ask naturally → return to gate. 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 inline (not as a question):

Project initialized:

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

What's next?

  1. Research domain ecosystem (/gsd:research-project) - For niche/complex domains
  2. Create roadmap (/gsd:create-roadmap) - Skip research, go straight to planning
  3. Done for now

Note: Commands are shown in the options above so the user can see what to run in a fresh context.

**If user selects option 1:** invoke `/gsd:research-project`
**If user selects option 2:** invoke `/gsd:create-roadmap`
</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>