pi-shit 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/extensions/AGENTS.md +50 -0
- package/extensions/TODO.md +47 -0
- package/extensions/biome.json +26 -0
- package/extensions/dprint.json +7 -0
- package/extensions/justfile +33 -0
- package/extensions/package-lock.json +1585 -0
- package/extensions/package.json +12 -0
- package/extensions/pi-notify/demo.gif +0 -0
- package/extensions/pi-notify/demo.mp4 +0 -0
- package/extensions/tsconfig.json +19 -0
- package/extensions/vitest.config.ts +7 -0
- package/package.json +30 -11
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# AGENTS.md - AI Assistant Context
|
|
2
|
+
|
|
3
|
+
Custom pi-coding-agent extensions.
|
|
4
|
+
|
|
5
|
+
## Development
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
just # List all commands
|
|
9
|
+
just compile # Type-check with tsc
|
|
10
|
+
just fmt # Format with Biome
|
|
11
|
+
just lint # Lint with Biome
|
|
12
|
+
just check # Format + lint + compile (full check)
|
|
13
|
+
|
|
14
|
+
just setup-hooks # Install pre-commit hook
|
|
15
|
+
just remove-hooks # Remove pre-commit hook
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Pre-commit hook runs `just check` before each commit.
|
|
19
|
+
|
|
20
|
+
## Structure
|
|
21
|
+
|
|
22
|
+
Each extension is a folder with an `index.ts` entry point:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
extension-name/
|
|
26
|
+
├── index.ts # Main extension code
|
|
27
|
+
└── README.md # Usage docs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Current extensions:
|
|
31
|
+
|
|
32
|
+
- `deep-review`
|
|
33
|
+
- `pi-notify`
|
|
34
|
+
- `plan-mode`
|
|
35
|
+
|
|
36
|
+
## Type Checking
|
|
37
|
+
|
|
38
|
+
Extensions import from pi's packages. The `tsconfig.json` maps these:
|
|
39
|
+
|
|
40
|
+
- `@mariozechner/pi-coding-agent` - Extension API
|
|
41
|
+
- `@mariozechner/pi-agent-core` - Message types
|
|
42
|
+
- `@mariozechner/pi-ai` - Content types
|
|
43
|
+
- `@mariozechner/pi-tui` - TUI utilities
|
|
44
|
+
- `@sinclair/typebox` - Schema types
|
|
45
|
+
|
|
46
|
+
## Style
|
|
47
|
+
|
|
48
|
+
- Biome handles formatting and linting
|
|
49
|
+
- Spaces for indentation (4-space)
|
|
50
|
+
- 120 char line width
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# TODO
|
|
2
|
+
|
|
3
|
+
## Plan mode improvements
|
|
4
|
+
|
|
5
|
+
- Improve plan mode to better infer steps as todos
|
|
6
|
+
- Step 1:, Step 2:, etc.
|
|
7
|
+
- ### 8., ### 9., etc.
|
|
8
|
+
- Allow referencing of files in plan refinement editor
|
|
9
|
+
- Allow find tool use in plan mode
|
|
10
|
+
- Questionnaire options can mark a choice as `(recommended)`
|
|
11
|
+
- Questionnaire question text gets truncated; render multiline/compact so full prompt is readable
|
|
12
|
+
- Questionnaire prompt: model misreads "Type something" and suggests "Other (describe)"; prompt should steer to typed answer handling / accept variants
|
|
13
|
+
- Plan-mode todo widget lines are truncated; render multiline/compact so full items are readable
|
|
14
|
+
|
|
15
|
+
## Explore: Replace built-in todos with file-based tracking
|
|
16
|
+
|
|
17
|
+
**Context:** Amp removed their todolist feature. Mario says todos confuse models. Same vibes here.
|
|
18
|
+
|
|
19
|
+
https://x.com/thorstenball/status/2010757205084312026
|
|
20
|
+
|
|
21
|
+
### Problems with built-in todos
|
|
22
|
+
|
|
23
|
+
- Models get confused about when/how to update them
|
|
24
|
+
- Extra cognitive overhead in system prompt
|
|
25
|
+
- State management complexity
|
|
26
|
+
- Often out of sync with actual progress
|
|
27
|
+
|
|
28
|
+
### Alternative: Simple file-based approach
|
|
29
|
+
|
|
30
|
+
- `todo.md` or `## TODO` section in README
|
|
31
|
+
- Model reads/writes it like any other file
|
|
32
|
+
- No special tools or state to manage
|
|
33
|
+
- Transparent and version-controlled
|
|
34
|
+
- Works with existing edit/write tools
|
|
35
|
+
|
|
36
|
+
### Questions to explore
|
|
37
|
+
|
|
38
|
+
- [ ] Is the `[DONE:n]` tag approach in plan-mode sufficient?
|
|
39
|
+
- [ ] Should we strip out todolist tool entirely?
|
|
40
|
+
- [ ] Does a simple markdown checklist work better in practice?
|
|
41
|
+
- [ ] How does ralph-wiggum handle task tracking? (uses taskContent markdown)
|
|
42
|
+
|
|
43
|
+
### Next steps
|
|
44
|
+
|
|
45
|
+
- Try using just markdown checklists for a while
|
|
46
|
+
- Compare with current `[DONE:n]` progress tracking
|
|
47
|
+
- Decide whether to simplify or remove todo-related features
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json",
|
|
3
|
+
"formatter": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"indentStyle": "space",
|
|
6
|
+
"indentWidth": 4,
|
|
7
|
+
"lineWidth": 120
|
|
8
|
+
},
|
|
9
|
+
"linter": {
|
|
10
|
+
"enabled": true,
|
|
11
|
+
"rules": {
|
|
12
|
+
"recommended": true,
|
|
13
|
+
"suspicious": {
|
|
14
|
+
"noExplicitAny": "off"
|
|
15
|
+
},
|
|
16
|
+
"style": {
|
|
17
|
+
"noNonNullAssertion": "off",
|
|
18
|
+
"useTemplate": "off"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": {
|
|
23
|
+
"includes": ["**/*.ts"],
|
|
24
|
+
"ignoreUnknown": true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
default:
|
|
2
|
+
@just --list
|
|
3
|
+
|
|
4
|
+
check: fmt md-fmt lint compile test
|
|
5
|
+
|
|
6
|
+
compile:
|
|
7
|
+
tsc --noEmit
|
|
8
|
+
|
|
9
|
+
fmt:
|
|
10
|
+
npx @biomejs/biome format --write .
|
|
11
|
+
|
|
12
|
+
lint:
|
|
13
|
+
npx @biomejs/biome lint .
|
|
14
|
+
|
|
15
|
+
md-fmt:
|
|
16
|
+
dprint fmt --staged --allow-no-files
|
|
17
|
+
|
|
18
|
+
remove-hooks:
|
|
19
|
+
rm -f .git/hooks/pre-commit
|
|
20
|
+
echo "✓ Pre-commit hook removed"
|
|
21
|
+
|
|
22
|
+
setup: && setup-hooks
|
|
23
|
+
npm install
|
|
24
|
+
|
|
25
|
+
setup-hooks:
|
|
26
|
+
#!/usr/bin/env sh
|
|
27
|
+
echo '#!/bin/sh' > .git/hooks/pre-commit
|
|
28
|
+
echo 'just check || exit 1' >> .git/hooks/pre-commit
|
|
29
|
+
chmod +x .git/hooks/pre-commit
|
|
30
|
+
echo "✓ Pre-commit hook installed"
|
|
31
|
+
|
|
32
|
+
test:
|
|
33
|
+
npm test
|