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.
@@ -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,7 @@
1
+ {
2
+ "plugins": ["https://plugins.dprint.dev/markdown-0.18.0.wasm"],
3
+ "includes": ["**/*.md"],
4
+ "markdown": {
5
+ "lineWidth": 120
6
+ }
7
+ }
@@ -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