gsd-pi 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +39 -0
- package/README.md +43 -6
- package/package.json +11 -1
- package/src/resources/extensions/bg-shell/index.ts +347 -143
- package/src/resources/extensions/gsd/activity-log.ts +22 -1
- package/src/resources/extensions/gsd/tests/activity-log-prune.test.ts +327 -0
- package/src/resources/extensions/gsd/tests/auto-preflight.test.ts +56 -0
- package/src/resources/extensions/gsd/tests/auto-supervisor.test.mjs +53 -0
- package/src/resources/extensions/gsd/tests/complete-milestone.test.ts +225 -0
- package/src/resources/extensions/gsd/tests/cost-projection.test.ts +160 -0
- package/src/resources/extensions/gsd/tests/derive-state-deps.test.ts +341 -0
- package/src/resources/extensions/gsd/tests/derive-state.test.ts +637 -0
- package/src/resources/extensions/gsd/tests/doctor.test.ts +505 -0
- package/src/resources/extensions/gsd/tests/metrics-io.test.ts +201 -0
- package/src/resources/extensions/gsd/tests/metrics.test.ts +217 -0
- package/src/resources/extensions/gsd/tests/must-have-parser.test.ts +309 -0
- package/src/resources/extensions/gsd/tests/parsers.test.ts +1257 -0
- package/src/resources/extensions/gsd/tests/plan-milestone.test.ts +163 -0
- package/src/resources/extensions/gsd/tests/plan-quality-validator.test.ts +386 -0
- package/src/resources/extensions/gsd/tests/reassess-prompt.test.ts +171 -0
- package/src/resources/extensions/gsd/tests/replan-slice.test.ts +523 -0
- package/src/resources/extensions/gsd/tests/requirements.test.ts +125 -0
- package/src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs +17 -0
- package/src/resources/extensions/gsd/tests/resolve-ts.mjs +11 -0
- package/src/resources/extensions/gsd/tests/run-uat.test.ts +348 -0
- package/src/resources/extensions/gsd/tests/unit-runtime.test.ts +247 -0
- package/src/resources/extensions/gsd/tests/workspace-index.test.ts +94 -0
- package/src/resources/extensions/gsd/tests/worktree.test.ts +149 -0
- package/src/resources/extensions/search-the-web/cache.ts +8 -0
- package/src/resources/extensions/search-the-web/format.ts +144 -20
- package/src/resources/extensions/search-the-web/http.ts +92 -1
- package/src/resources/extensions/search-the-web/index.ts +37 -17
- package/src/resources/extensions/search-the-web/tool-fetch-page.ts +249 -104
- package/src/resources/extensions/search-the-web/tool-llm-context.ts +404 -0
- package/src/resources/extensions/search-the-web/tool-search.ts +156 -77
- package/src/resources/extensions/plan-mode/README.md +0 -65
- package/src/resources/extensions/plan-mode/index.ts +0 -521
- package/src/resources/extensions/plan-mode/utils.ts +0 -168
- package/src/resources/extensions/worktree/index.ts +0 -420
package/LICENSE
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Business Source License 1.1
|
|
2
|
+
|
|
3
|
+
Licensor: Lex Christopherson
|
|
4
|
+
Licensed Work: GSD (gsd-pi)
|
|
5
|
+
Additional Use Grant: None
|
|
6
|
+
Change Date: 2029-03-10
|
|
7
|
+
Change License: MIT
|
|
8
|
+
|
|
9
|
+
Parameters
|
|
10
|
+
|
|
11
|
+
Licensor: Lex Christopherson
|
|
12
|
+
Licensed Work: The Licensed Work is (c) 2026 Lex Christopherson
|
|
13
|
+
|
|
14
|
+
Use Limitation: You may not use the Licensed Work for a Commercial Purpose.
|
|
15
|
+
A "Commercial Purpose" means use in a commercial product or service, or use
|
|
16
|
+
on behalf of a for-profit entity, unless you have received a separate
|
|
17
|
+
commercial license from the Licensor.
|
|
18
|
+
|
|
19
|
+
On the Change Date, or the fourth anniversary of the first publicly available
|
|
20
|
+
distribution of a specific version of the Licensed Work under this License,
|
|
21
|
+
whichever comes first, the Licensor grants you rights under the terms of the
|
|
22
|
+
Change License, and the rights granted in the paragraph above terminate.
|
|
23
|
+
|
|
24
|
+
For purposes of this License:
|
|
25
|
+
|
|
26
|
+
"Commercial Purpose" means use intended for or directed toward commercial
|
|
27
|
+
advantage or monetary compensation.
|
|
28
|
+
|
|
29
|
+
The Licensor may make additional grants beyond those described above. Any
|
|
30
|
+
additional grants will be described in the Additional Use Grant above.
|
|
31
|
+
|
|
32
|
+
Notice
|
|
33
|
+
|
|
34
|
+
The Business Source License (this document, or the "License") is not an
|
|
35
|
+
Open Source license. However, the Licensed Work will eventually be made
|
|
36
|
+
available under an Open Source License, as stated in this License.
|
|
37
|
+
|
|
38
|
+
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
|
39
|
+
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
package/README.md
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
**The evolution of [Get Shit Done](https://github.com/glittercowboy/get-shit-done) — now a real coding agent.**
|
|
6
6
|
|
|
7
|
+
[](https://www.npmjs.com/package/gsd-pi)
|
|
8
|
+
[](https://www.npmjs.com/package/gsd-pi)
|
|
9
|
+
[](https://github.com/glittercowboy/gsd-pi)
|
|
10
|
+
[](LICENSE)
|
|
11
|
+
|
|
7
12
|
The original GSD went viral as a prompt framework for Claude Code. It worked, but it was fighting the tool — injecting prompts through slash commands, hoping the LLM would follow instructions, with no actual control over context windows, sessions, or execution.
|
|
8
13
|
|
|
9
14
|
This version is different. GSD is now a standalone CLI built on the [Pi SDK](https://github.com/nicholasgasior/pi-coding-agent), which gives it direct TypeScript access to the agent harness itself. That means GSD can actually *do* what v1 could only *ask* the LLM to do: clear context between tasks, inject exactly the right files at dispatch time, manage git branches, track cost and tokens, detect stuck loops, recover from crashes, and auto-advance through an entire milestone without human intervention.
|
|
@@ -11,7 +16,7 @@ This version is different. GSD is now a standalone CLI built on the [Pi SDK](htt
|
|
|
11
16
|
One command. Walk away. Come back to a built project with clean git history.
|
|
12
17
|
|
|
13
18
|
```bash
|
|
14
|
-
npm install -g
|
|
19
|
+
npm install -g gsd-pi
|
|
15
20
|
gsd
|
|
16
21
|
```
|
|
17
22
|
|
|
@@ -116,7 +121,7 @@ The wizard is the on-ramp. Auto mode is the highway.
|
|
|
116
121
|
### Install
|
|
117
122
|
|
|
118
123
|
```bash
|
|
119
|
-
npm install -g
|
|
124
|
+
npm install -g gsd-pi
|
|
120
125
|
```
|
|
121
126
|
|
|
122
127
|
Requires Node.js ≥ 20.6.0. Installs Chromium via Playwright for browser-based verification (non-fatal if it fails).
|
|
@@ -315,8 +320,8 @@ gsd (CLI binary)
|
|
|
315
320
|
|
|
316
321
|
## Requirements
|
|
317
322
|
|
|
318
|
-
- **Node.js** ≥ 20.6.0
|
|
319
|
-
- **
|
|
323
|
+
- **Node.js** ≥ 20.6.0 (22+ recommended)
|
|
324
|
+
- **An LLM provider** — any of the 20+ supported providers (see [Use Any Model](#use-any-model))
|
|
320
325
|
- **Git** — initialized automatically if missing
|
|
321
326
|
|
|
322
327
|
Optional:
|
|
@@ -326,9 +331,41 @@ Optional:
|
|
|
326
331
|
|
|
327
332
|
---
|
|
328
333
|
|
|
334
|
+
## Use Any Model
|
|
335
|
+
|
|
336
|
+
GSD isn't locked to one provider. It runs on the [Pi SDK](https://github.com/nicholasgasior/pi-coding-agent), which supports **20+ model providers** out of the box. Use different models for different phases — Opus for planning, Sonnet for execution, a fast model for research.
|
|
337
|
+
|
|
338
|
+
### Built-in Providers
|
|
339
|
+
|
|
340
|
+
Anthropic, OpenAI, Google (Gemini), OpenRouter, GitHub Copilot, Amazon Bedrock, Azure OpenAI, Google Vertex, Groq, Cerebras, Mistral, xAI, HuggingFace, Vercel AI Gateway, and more.
|
|
341
|
+
|
|
342
|
+
### OAuth / Max Plans
|
|
343
|
+
|
|
344
|
+
If you have a **Claude Max**, **Codex**, or **GitHub Copilot** subscription, you can use those directly — Pi handles the OAuth flow. No API key needed.
|
|
345
|
+
|
|
346
|
+
### OpenRouter
|
|
347
|
+
|
|
348
|
+
[OpenRouter](https://openrouter.ai) gives you access to hundreds of models through a single API key. Use it to run GSD with Llama, DeepSeek, Qwen, or anything else OpenRouter supports.
|
|
349
|
+
|
|
350
|
+
### Per-Phase Model Selection
|
|
351
|
+
|
|
352
|
+
In your preferences (`/gsd prefs`), assign different models to different phases:
|
|
353
|
+
|
|
354
|
+
```yaml
|
|
355
|
+
models:
|
|
356
|
+
research: openrouter/deepseek/deepseek-r1
|
|
357
|
+
planning: claude-opus-4-6
|
|
358
|
+
execution: claude-sonnet-4-6
|
|
359
|
+
completion: claude-sonnet-4-6
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Use expensive models where quality matters (planning, complex execution) and cheaper/faster models where speed matters (research, simple completions). GSD tracks cost per-model so you can see exactly where your budget goes.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
329
366
|
## License
|
|
330
367
|
|
|
331
|
-
|
|
368
|
+
[Business Source License 1.1](LICENSE)
|
|
332
369
|
|
|
333
370
|
---
|
|
334
371
|
|
|
@@ -336,6 +373,6 @@ MIT
|
|
|
336
373
|
|
|
337
374
|
**The original GSD showed what was possible. This version delivers it.**
|
|
338
375
|
|
|
339
|
-
**`npm install -g
|
|
376
|
+
**`npm install -g gsd-pi && gsd`**
|
|
340
377
|
|
|
341
378
|
</div>
|
package/package.json
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gsd-pi",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "GSD — Get Stuff Done coding agent",
|
|
5
|
+
"license": "BUSL-1.1",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/glittercowboy/gsd-pi.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/glittercowboy/gsd-pi#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/glittercowboy/gsd-pi/issues"
|
|
13
|
+
},
|
|
5
14
|
"type": "module",
|
|
6
15
|
"bin": {
|
|
7
16
|
"gsd": "dist/loader.js"
|
|
@@ -24,6 +33,7 @@
|
|
|
24
33
|
"scripts": {
|
|
25
34
|
"build": "tsc && npm run copy-themes",
|
|
26
35
|
"copy-themes": "node -e \"const{mkdirSync,cpSync}=require('fs');const{resolve}=require('path');const src=resolve(__dirname,'node_modules/@mariozechner/pi-coding-agent/dist/modes/interactive/theme');mkdirSync('pkg/dist/modes/interactive/theme',{recursive:true});cpSync(src,'pkg/dist/modes/interactive/theme',{recursive:true})\"",
|
|
36
|
+
"test": "node --import ./src/resources/extensions/gsd/tests/resolve-ts.mjs --experimental-strip-types --test 'src/resources/extensions/gsd/tests/*.test.ts' 'src/resources/extensions/gsd/tests/*.test.mjs' 'src/tests/*.test.ts'",
|
|
27
37
|
"dev": "tsc --watch",
|
|
28
38
|
"postinstall": "node scripts/postinstall.js",
|
|
29
39
|
"prepublishOnly": "npm run build"
|