get-shit-done-qwen
v1.5.17
Published
A meta-prompting, context engineering and spec-driven development system for Qwen Code by Belkis (überarbeitet).
Maintainers
Readme
GET SHIT DONE (for Qwen Code)
A lightweight and powerful meta-prompting, context engineering and spec-driven development system for Qwen Code.
Solves context rot — the quality degradation that happens as Qwen fills its context window.
npx get-shit-done-qwenWorks on Mac, Windows, and Linux.
"If you know clearly what you want, this WILL build it for you. No bs."
"By far the most powerful addition to my Qwen Code. Nothing over-engineered. Literally just gets shit done."
Why This Exists · How It Works · Commands · Why It Works
Why This Exists
This is a Qwen Code adaptation of the original Get Shit Done project by TÂCHES, which was built for Claude Code.
Qwen Code is Alibaba's open-source terminal-based AI coding agent, similar to Claude Code. It uses Qwen3-Coder with 256K native context (up to 1M with extrapolation) and supports the same agentic workflow patterns.
This adaptation brings all the power of GSD to Qwen Code users:
- Context engineering to prevent quality degradation
- Subagent orchestration with fresh context per task
- Atomic git commits for traceability
- Spec-driven development that actually works
No enterprise theater. Just an incredibly effective system for building cool stuff consistently using Qwen Code.
— Belkis (adapted from TÂCHES' original)
What Problem Does This Solve?
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 Qwen Code reliable. Describe your idea, let the system extract everything it needs to know, and let Qwen Code get to work.
Who This Is For
People who want to describe what they want and have it built correctly — without pretending they're running a 50-person engineering org.
Getting Started
npx get-shit-done-qwenThat's it. Verify with /gsd:help inside your Qwen Code interface.
Staying Updated
GSD evolves fast. Check for updates periodically:
/gsd:whats-newUpdate with:
npx get-shit-done-qwen@latestnpx get-shit-done-qwen --global # Install to ~/.qwen/
npx get-shit-done-qwen --local # Install to ./.qwen/Use --global (-g) or --local (-l) to skip the interactive prompt.
Clone the repository and run the installer locally:
git clone https://github.com/BEKO2210/get-shit-done-qwen.git
cd get-shit-done-qwen
node bin/install.js --localInstalls to ./.qwen/ for testing modifications before contributing.
Recommended: Skip Permissions Mode
GSD is designed for frictionless automation. Run Qwen Code with:
qwen --dangerously-skip-permissions[!TIP] This is how GSD is intended to be used — stopping to approve
dateandgit commit50 times defeats the purpose.
If you prefer not to use that flag, add this to your project's .qwen/settings.json:
{
"permissions": {
"allow": [
"Bash(date:*)",
"Bash(echo:*)",
"Bash(cat:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(wc:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(sort:*)",
"Bash(grep:*)",
"Bash(tr:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(git diff:*)",
"Bash(git tag:*)"
]
}
}How It Works
1. Start with an idea
/gsd:new-projectThe system asks questions. Keeps asking until it has everything — your goals, constraints, tech preferences, edge cases. You go back and forth until the idea is fully captured. Creates PROJECT.md.
1.5. Research the domain (optional)
/gsd:research-projectSpawns parallel agents to investigate the domain — what's the standard stack, what features users expect, common architectural patterns, and pitfalls to avoid. Creates .planning/research/ with ecosystem knowledge.
Recommended for best results. Skip only if you need speed over thoroughness.
2. Define requirements
/gsd:define-requirementsScope what's v1, what's v2, and what's out of scope. Creates REQUIREMENTS.md with checkable requirements and traceability. Works with or without prior research.
3. Create roadmap
/gsd:create-roadmapProduces:
- ROADMAP.md — Phases from start to finish, mapped to requirements
- STATE.md — Living memory that persists across sessions
4. Plan and execute phases
/gsd:plan-phase 1 # System creates atomic task plans
/gsd:execute-phase 1 # Parallel agents execute all plansEach phase breaks into 2-3 task plans. Each plan runs in a fresh subagent context — 200k tokens purely for implementation, zero degradation. Plans without dependencies run in parallel.
For single-plan or interactive execution:
/gsd:execute-plan # Run one plan at a time with checkpointsUse /gsd:execute-phase for parallel "walk away" automation (recommended). Use /gsd:execute-plan when you need interactive single-plan execution with manual checkpoints.
5. Ship and iterate
/gsd:complete-milestone # Archive v1, prep for v2
/gsd:add-phase # Append new work
/gsd:insert-phase 2 # Slip urgent work between phasesShip your MVP in a day. Add features. Insert hotfixes. The system stays modular — you're never stuck.
Existing Projects (Brownfield)
Already have code? Start here instead.
1. Map the codebase
/gsd:map-codebaseSpawns parallel agents to analyze your code. Creates .planning/codebase/ with 7 documents:
| 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
/gsd:new-projectSame as greenfield, but the system knows your codebase. Questions focus on what you're adding/changing, not starting from scratch.
3. Continue as normal
From here, it's the same flow:
/gsd:research-project(optional) →/gsd:define-requirements→/gsd:create-roadmap→/gsd:plan-phase→/gsd:execute-phase
The codebase docs load automatically during planning. Qwen knows your patterns, conventions, and where to put things.
Why It Works
Context Engineering
Qwen 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 |
| research/ | Ecosystem knowledge (stack, features, architecture, pitfalls) |
| REQUIREMENTS.md | Scoped v1/v2 requirements with phase traceability |
| 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 |
| todos/ | Captured ideas and tasks for later work |
Size limits based on where Qwen's quality degrades. Stay under, get consistent excellence.
XML Prompt Formatting
Every plan is structured XML optimized for Qwen:
<task type="auto">
<name>Create login endpoint</name>
<files>src/app/api/auth/login/route.ts</files>
<action>
Use jose for JWT (not jsonwebtoken - CommonJS issues).
Validate credentials against users table.
Return httpOnly cookie on success.
</action>
<verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
<done>Valid credentials return cookie, invalid return 401</done>
</task>Precise instructions. No guessing. Verification built in.
Subagent Execution
As Qwen 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 | 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:
abc123f docs(08-02): complete user registration plan
def456g feat(08-02): add email confirmation flow
hij789k feat(08-02): implement password hashing
lmn012o feat(08-02): create registration endpoint[!NOTE] Benefits: Git bisect finds exact failing task. Each task independently revertable. Clear history for Qwen in future sessions. Better observability in AI-automated workflow.
Every commit is surgical, traceable, and meaningful.
Modular by Design
- Add phases to current milestone
- Insert urgent work between phases
- Complete milestones and start fresh
- Adjust plans without rebuilding everything
You're never locked in. The system adapts.
Commands
Setup
| Command | What it does |
|---------|--------------|
| /gsd:new-project | Extract your idea through questions, create PROJECT.md |
| /gsd:research-project | Research domain ecosystem (stacks, features, pitfalls) |
| /gsd:define-requirements | Scope v1/v2/out-of-scope requirements |
| /gsd:create-roadmap | Create roadmap with phases mapped to requirements |
| /gsd:map-codebase | Map existing codebase for brownfield projects |
Execution
| Command | What it does |
|---------|--------------|
| /gsd:plan-phase [N] | Generate task plans for phase |
| /gsd:execute-phase <N> | Execute all plans in phase with parallel agents |
| /gsd:execute-plan | Run single plan via subagent |
| /gsd:progress | Where am I? What's next? |
Verification
| Command | What it does |
|---------|--------------|
| /gsd:verify-work [N] | User acceptance test of phase or plan |
Milestones
| Command | What it does |
|---------|--------------|
| /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 |
Phase Management
| Command | What it does |
|---------|--------------|
| /gsd:add-phase | Append phase to roadmap |
| /gsd:insert-phase [N] | Insert urgent work between phases |
| /gsd:remove-phase [N] | Remove future phase, renumber subsequent |
| /gsd:discuss-phase [N] | Gather context before planning |
| /gsd:research-phase [N] | Deep research for unfamiliar domains |
| /gsd:list-phase-assumptions [N] | See what Qwen assumes before correcting |
Session
| Command | What it does |
|---------|--------------|
| /gsd:pause-work | Create handoff file when stopping mid-phase |
| /gsd:resume-work | Restore from last session |
Utilities
| Command | What it does |
|---------|--------------|
| /gsd:add-todo [desc] | Capture idea or task for later |
| /gsd:check-todos [area] | List pending todos, select one to work on |
| /gsd:debug [desc] | Systematic debugging with persistent state |
| /gsd:help | Show all commands and usage guide |
Troubleshooting
Commands not found after install?
- Restart Qwen Code to reload slash commands
- Verify files exist in
~/.qwen/commands/gsd/(global) or./.qwen/commands/gsd/(local)
Commands not working as expected?
- Run
/gsd:helpto verify installation - Re-run
npx get-shit-done-qwento reinstall
Updating to the latest version?
npx get-shit-done-qwen@latestUsing Docker or containerized environments?
If file reads fail with tilde paths (~/.qwen/...), set QWEN_CONFIG_DIR before installing:
QWEN_CONFIG_DIR=/home/youruser/.qwen npx get-shit-done-qwen --globalThis ensures absolute paths are used instead of ~ which may not expand correctly in containers.
Credits
This project is adapted from the original Get Shit Done by TÂCHES, modified to work with Qwen Code instead of Claude Code.
License
MIT License. See LICENSE for details.
Qwen Code is powerful. GSD makes it reliable.
