docs: redesign README with pro patterns

- Add shields.io badges (npm version, downloads, license, stars)
- Move "Why I Built This" section higher for immediate context
- Add dark/light mode aware star history chart
- Use GitHub alerts for callouts
- Collapse secondary install options into details blocks
- Remove incorrect marketplace installation option
- Improve visual hierarchy and spacing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2026-01-08 13:45:44 -06:00
parent c6d7ee3858
commit 58c2e86e4d

230
README.md
View File

@@ -1,10 +1,26 @@
<div align="center">
# Get Shit Done
**A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.**
**A meta-prompting, context engineering, and spec-driven development system for Claude Code**
[![npm version](https://img.shields.io/npm/v/get-shit-done-cc?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-cc)
[![npm downloads](https://img.shields.io/npm/dm/get-shit-done-cc?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/get-shit-done-cc)
[![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/glittercowboy/get-shit-done?style=for-the-badge&logo=github&color=181717)](https://github.com/glittercowboy/get-shit-done)
<br>
```bash
npx get-shit-done-cc
```
**Works on Mac, Windows, and Linux.**
<br>
![GSD Install](assets/terminal.svg)
<div align="center">
<br>
*"If you know clearly what you want, this WILL build it for you. No bs."*
@@ -17,10 +33,28 @@
**Trusted by engineers at Amazon, Google, Shopify, and Webflow.**
[Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [Commands](#commands) · [Why It Works](#why-it-works)
</div>
---
## Why I Built This
I'm a solo developer. I don't write code — Claude Code does.
Other spec-driven development tools exist; BMAD, Speckit... But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you're building. I'm not a 50-person software company. I don't want to play enterprise theater. I'm just a creative person trying to build great things that work.
So I built GSD. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.
The system gives Claude everything it needs to do the work *and* verify it. I trust the workflow. It just does a good job.
That's what this is. No enterprise roleplay bullshit. Just an incredibly effective system for building cool stuff consistently using Claude Code.
— **TÂCHES**
---
Vibecoding has a bad reputation. You describe what you want, AI generates code, and you get inconsistent garbage that falls apart at scale.
GSD fixes that. It's the context engineering layer that makes Claude Code reliable. Describe your idea, let the system extract everything it needs to know, and let Claude Code get to work.
@@ -31,16 +65,30 @@ GSD fixes that. It's the context engineering layer that makes Claude Code reliab
People who want to describe what they want and have it built correctly — without pretending they're running a 50-person engineering org.
### Marketplace Installation
---
Install from the Claude Code marketplace:
## Getting Started
```bash
/plugin marketplace add glittercowboy/get-shit-done
/plugin install get-shit-done@get-shit-done
npx get-shit-done-cc
```
### Manual Installation
That's it. Verify with `/gsd:help`.
<details>
<summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
```bash
npx get-shit-done-cc --global # Install to ~/.claude/
npx get-shit-done-cc --local # Install to ./.claude/
```
Use `--global` (`-g`) or `--local` (`-l`) to skip the interactive prompt.
</details>
<details>
<summary><strong>Manual Installation (for development)</strong></summary>
Clone the repository and tell Claude Code where to find it:
@@ -51,42 +99,7 @@ claude --plugin-dir ./get-shit-done
Useful for development or testing modifications.
---
## Why I Built This
I'm a solo developer. I don't write code — Claude Code does.
Other spec-driven development tools exist; BMAD, Speckit... But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you're building. I'm not a 50-person software company. I don't want to play enterprise theater. I'm just a creative person trying to build great things that work.
So I built GSD. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.
The system gives Claude everything it needs to do the work _and_ verify it. I trust the workflow. It just does a good job.
That's what this is. No enterprise roleplay bullshit. Just an incredibly effective system for building cool stuff consistently using Claude Code.
— TÂCHES
---
## Installation
```bash
npx get-shit-done-cc
```
That's it. Works on Mac, Windows, and Linux.
### Non-interactive Install (Docker, CI, Scripts)
```bash
npx get-shit-done-cc --global # Install to ~/.claude/
npx get-shit-done-cc --local # Install to ./.claude/
```
Use `--global` (`-g`) or `--local` (`-l`) to skip the interactive prompt.
Verify: `/gsd:help`
</details>
### Recommended: Skip Permissions Mode
@@ -96,12 +109,13 @@ GSD is designed for frictionless automation. Run Claude Code with:
claude --dangerously-skip-permissions
```
This is how GSD is intended to be used — stopping to approve `date` and `git commit` 50 times defeats the purpose.
If you prefer not to use that flag, add this to your project's `.claude/settings.json` to auto-approve GSD's commands:
> [!TIP]
> This is how GSD is intended to be used — stopping to approve `date` and `git commit` 50 times defeats the purpose.
<details>
<summary>Show settings.json permissions</summary>
<summary><strong>Alternative: Granular Permissions</strong></summary>
If you prefer not to use that flag, add this to your project's `.claude/settings.json`:
```json
{
@@ -146,13 +160,12 @@ The system asks questions. Keeps asking until it has everything — your goals,
### 2. Create roadmap
```
/gsd:create-roadmap # Create phases and state tracking
/gsd:create-roadmap
```
Roadmap creation produces:
- **ROADMAP.md** - Phases from start to finish
- **STATE.md** - Living memory that persists across sessions
Produces:
- **ROADMAP.md** — Phases from start to finish
- **STATE.md** — Living memory that persists across sessions
### 3. Plan and execute phases
@@ -187,13 +200,15 @@ Already have code? Start here instead.
Spawns parallel agents to analyze your code. Creates `.planning/codebase/` with 7 documents:
- **STACK.md** — Languages, frameworks, dependencies
- **ARCHITECTURE.md** — Patterns, layers, data flow
- **STRUCTURE.md** — Directory layout, where things live
- **CONVENTIONS.md** — Code style, naming patterns
- **TESTING.md** — Test framework, patterns
- **INTEGRATIONS.md** — External services, APIs
- **CONCERNS.md** — Tech debt, known issues, fragile areas
| Document | Purpose |
|----------|---------|
| `STACK.md` | Languages, frameworks, dependencies |
| `ARCHITECTURE.md` | Patterns, layers, data flow |
| `STRUCTURE.md` | Directory layout, where things live |
| `CONVENTIONS.md` | Code style, naming patterns |
| `TESTING.md` | Test framework, patterns |
| `INTEGRATIONS.md` | External services, APIs |
| `CONCERNS.md` | Tech debt, known issues, fragile areas |
### 2. Initialize project
@@ -215,18 +230,18 @@ The codebase docs load automatically during planning. Claude knows your patterns
### Context Engineering
Claude Code is incredibly powerful _if_ you give it the context it needs. Most people don't.
Claude Code is incredibly powerful *if* you give it the context it needs. Most people don't.
GSD handles it for you:
| File | What it does |
| ------------ | ------------------------------------------------------ |
| `PROJECT.md` | Project vision, always loaded |
| `ROADMAP.md` | Where you're going, what's done |
| `STATE.md` | Decisions, blockers, position — memory across sessions |
| `PLAN.md` | Atomic task with XML structure, verification steps |
| `SUMMARY.md` | What happened, what changed, committed to history |
| `ISSUES.md` | Deferred enhancements tracked across sessions |
| File | What it does |
|------|--------------|
| `PROJECT.md` | Project vision, always loaded |
| `ROADMAP.md` | Where you're going, what's done |
| `STATE.md` | Decisions, blockers, position — memory across sessions |
| `PLAN.md` | Atomic task with XML structure, verification steps |
| `SUMMARY.md` | What happened, what changed, committed to history |
| `ISSUES.md` | Deferred enhancements tracked across sessions |
Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
@@ -252,19 +267,21 @@ Precise instructions. No guessing. Verification built in.
### Subagent Execution
As Claude fills its context window, quality degrades. You've seen it: "Due to context limits, I'll be more concise now." That "concision" is code for cutting corners.
As Claude fills its context window, quality degrades. You've seen it: *"Due to context limits, I'll be more concise now."* That "concision" is code for cutting corners.
GSD prevents this. Each plan is maximum 3 tasks. Each plan runs in a fresh subagent — 200k tokens purely for implementation, zero accumulated garbage.
- Task 1: fresh context, full quality
- Task 2: fresh context, full quality
- Task 3: fresh context, full quality
| Task | Context | Quality |
|------|---------|---------|
| Task 1 | Fresh | ✅ Full |
| Task 2 | Fresh | ✅ Full |
| Task 3 | Fresh | ✅ Full |
No degradation. Walk away, come back to completed work.
### Atomic Git Commits
Each task gets its own commit immediately after completion. Plans produce 2-4 commits total:
Each task gets its own commit immediately after completion:
```bash
abc123f docs(08-02): complete user registration plan
@@ -273,11 +290,8 @@ hij789k feat(08-02): implement password hashing
lmn012o feat(08-02): create registration endpoint
```
**Benefits:**
- Git bisect finds exact failing task
- Each task independently revertable
- Clear history for Claude in future sessions
- Better observability in AI-automated workflow
> [!NOTE]
> **Benefits:** Git bisect finds exact failing task. Each task independently revertable. Clear history for Claude in future sessions. Better observability in AI-automated workflow.
Every commit is surgical, traceable, and meaningful.
@@ -294,31 +308,31 @@ You're never locked in. The system adapts.
## Commands
| Command | What it does |
| --------------------------------- | ------------------------------------------------------------- |
| `/gsd:new-project` | Extract your idea through questions, create PROJECT.md |
| `/gsd:create-roadmap` | Create roadmap and state tracking |
| `/gsd:map-codebase` | Map existing codebase for brownfield projects |
| `/gsd:plan-phase [N]` | Generate task plans for phase |
| `/gsd:execute-plan` | Run plan via subagent |
| `/gsd:progress` | Where am I? What's next? |
| `/gsd:verify-work [N]`* | User acceptance test of phase or plan |
| `/gsd:plan-fix [plan]` | Plan fixes for UAT issues from verify-work |
| `/gsd:complete-milestone` | Ship it, prep next version |
| `/gsd:discuss-milestone` | Gather context for next milestone |
| `/gsd:new-milestone [name]` | Create new milestone with phases |
| `/gsd:add-phase` | Append phase to roadmap |
| `/gsd:insert-phase [N]` | Insert urgent work |
| `/gsd:remove-phase [N]` | Remove future phase, renumber subsequent |
| `/gsd:discuss-phase [N]` | Gather context before planning |
| `/gsd:research-phase [N]` | Deep ecosystem research for niche domains |
| `/gsd:list-phase-assumptions [N]` | See what Claude thinks before you correct it |
| `/gsd:pause-work` | Create handoff file when stopping mid-phase |
| `/gsd:resume-work` | Restore from last session |
| `/gsd:consider-issues` | Review deferred issues, close resolved, identify urgent |
| `/gsd:help` | Show all commands and usage guide |
| Command | What it does |
|---------|--------------|
| `/gsd:new-project` | Extract your idea through questions, create PROJECT.md |
| `/gsd:create-roadmap` | Create roadmap and state tracking |
| `/gsd:map-codebase` | Map existing codebase for brownfield projects |
| `/gsd:plan-phase [N]` | Generate task plans for phase |
| `/gsd:execute-plan` | Run plan via subagent |
| `/gsd:progress` | Where am I? What's next? |
| `/gsd:verify-work [N]` | User acceptance test of phase or plan ¹ |
| `/gsd:plan-fix [plan]` | Plan fixes for UAT issues from verify-work |
| `/gsd:complete-milestone` | Ship it, prep next version |
| `/gsd:discuss-milestone` | Gather context for next milestone |
| `/gsd:new-milestone [name]` | Create new milestone with phases |
| `/gsd:add-phase` | Append phase to roadmap |
| `/gsd:insert-phase [N]` | Insert urgent work |
| `/gsd:remove-phase [N]` | Remove future phase, renumber subsequent |
| `/gsd:discuss-phase [N]` | Gather context before planning |
| `/gsd:research-phase [N]` | Deep ecosystem research for niche domains |
| `/gsd:list-phase-assumptions [N]` | See what Claude thinks before you correct it |
| `/gsd:pause-work` | Create handoff file when stopping mid-phase |
| `/gsd:resume-work` | Restore from last session |
| `/gsd:consider-issues` | Review deferred issues, close resolved, identify urgent |
| `/gsd:help` | Show all commands and usage guide |
*Contributed by reddit user OracleGreyBeard
<sup>¹ Contributed by reddit user OracleGreyBeard</sup>
---
@@ -341,7 +355,13 @@ npx get-shit-done-cc@latest
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=glittercowboy/get-shit-done&type=date&legend=top-left)](https://www.star-history.com/#glittercowboy/get-shit-done&type=date&legend=top-left)
<a href="https://star-history.com/#glittercowboy/get-shit-done&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=glittercowboy/get-shit-done&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=glittercowboy/get-shit-done&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=glittercowboy/get-shit-done&type=Date" />
</picture>
</a>
---
@@ -351,4 +371,8 @@ MIT License. See [LICENSE](LICENSE) for details.
---
<div align="center">
**Claude Code is powerful. GSD makes it reliable.**
</div>