pi-agent-toolkit 0.1.0
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/dist/dotfiles/AGENTS.md +197 -0
- package/dist/dotfiles/APPEND_SYSTEM.md +78 -0
- package/dist/dotfiles/agent-modes.json +12 -0
- package/dist/dotfiles/agent-skills/exa-search/.env.example +4 -0
- package/dist/dotfiles/agent-skills/exa-search/SKILL.md +234 -0
- package/dist/dotfiles/agent-skills/exa-search/scripts/exa-api.cjs +197 -0
- package/dist/dotfiles/auth.json.template +5 -0
- package/dist/dotfiles/damage-control-rules.yaml +318 -0
- package/dist/dotfiles/extensions/btw.ts +1031 -0
- package/dist/dotfiles/extensions/commit-approval.ts +590 -0
- package/dist/dotfiles/extensions/context.ts +578 -0
- package/dist/dotfiles/extensions/control.ts +1748 -0
- package/dist/dotfiles/extensions/damage-control/index.ts +543 -0
- package/dist/dotfiles/extensions/damage-control/node_modules/.package-lock.json +22 -0
- package/dist/dotfiles/extensions/damage-control/package-lock.json +28 -0
- package/dist/dotfiles/extensions/damage-control/package.json +7 -0
- package/dist/dotfiles/extensions/dirty-repo-guard.ts +56 -0
- package/dist/dotfiles/extensions/exa-enforce.ts +51 -0
- package/dist/dotfiles/extensions/exa-search-tool.ts +384 -0
- package/dist/dotfiles/extensions/execute-command/index.ts +82 -0
- package/dist/dotfiles/extensions/files.ts +1112 -0
- package/dist/dotfiles/extensions/loop.ts +446 -0
- package/dist/dotfiles/extensions/pr-approval.ts +730 -0
- package/dist/dotfiles/extensions/qna-interactive.ts +532 -0
- package/dist/dotfiles/extensions/question-mode.ts +242 -0
- package/dist/dotfiles/extensions/require-session-name-on-exit.ts +141 -0
- package/dist/dotfiles/extensions/review.ts +2091 -0
- package/dist/dotfiles/extensions/session-breakdown.ts +1629 -0
- package/dist/dotfiles/extensions/term-notify.ts +150 -0
- package/dist/dotfiles/extensions/tilldone.ts +527 -0
- package/dist/dotfiles/extensions/todos.ts +2082 -0
- package/dist/dotfiles/extensions/tools.ts +146 -0
- package/dist/dotfiles/extensions/uv.ts +123 -0
- package/dist/dotfiles/global-skills/brainstorm/SKILL.md +10 -0
- package/dist/dotfiles/global-skills/cli-detector/SKILL.md +192 -0
- package/dist/dotfiles/global-skills/gh-issue-creator/SKILL.md +173 -0
- package/dist/dotfiles/global-skills/google-chat-cards-v2/SKILL.md +237 -0
- package/dist/dotfiles/global-skills/google-chat-cards-v2/references/bridge_tap_implementation.md +466 -0
- package/dist/dotfiles/global-skills/technical-docs/SKILL.md +204 -0
- package/dist/dotfiles/global-skills/technical-docs/references/diagrams.md +168 -0
- package/dist/dotfiles/global-skills/technical-docs/references/examples.md +449 -0
- package/dist/dotfiles/global-skills/technical-docs/scripts/validate_docs.py +352 -0
- package/dist/dotfiles/global-skills/whats-new/SKILL.md +159 -0
- package/dist/dotfiles/intercepted-commands/pip +7 -0
- package/dist/dotfiles/intercepted-commands/pip3 +7 -0
- package/dist/dotfiles/intercepted-commands/poetry +10 -0
- package/dist/dotfiles/intercepted-commands/python +104 -0
- package/dist/dotfiles/intercepted-commands/python3 +104 -0
- package/dist/dotfiles/mcp.json.template +32 -0
- package/dist/dotfiles/models.json +27 -0
- package/dist/dotfiles/settings.json +25 -0
- package/dist/index.js +1344 -0
- package/package.json +34 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Check for disallowed module invocations
|
|
4
|
+
for arg in "$@"; do
|
|
5
|
+
case "$arg" in
|
|
6
|
+
-mpip|-m\ pip|pip)
|
|
7
|
+
echo "Error: 'python3 -m pip' is disabled. Use uv instead:" >&2
|
|
8
|
+
echo "" >&2
|
|
9
|
+
echo " To install a package for a script: uv run --with PACKAGE python script.py" >&2
|
|
10
|
+
echo " To add a dependency to the project: uv add PACKAGE" >&2
|
|
11
|
+
echo "" >&2
|
|
12
|
+
exit 1
|
|
13
|
+
;;
|
|
14
|
+
-mvenv|-m\ venv|venv)
|
|
15
|
+
echo "Error: 'python3 -m venv' is disabled. Use uv instead:" >&2
|
|
16
|
+
echo "" >&2
|
|
17
|
+
echo " To create a virtual environment: uv venv" >&2
|
|
18
|
+
echo "" >&2
|
|
19
|
+
exit 1
|
|
20
|
+
;;
|
|
21
|
+
-mpy_compile|-m\ py_compile|py_compile)
|
|
22
|
+
echo "Error: 'python3 -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
|
|
23
|
+
echo "" >&2
|
|
24
|
+
echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
|
|
25
|
+
echo "" >&2
|
|
26
|
+
exit 1
|
|
27
|
+
;;
|
|
28
|
+
esac
|
|
29
|
+
done
|
|
30
|
+
|
|
31
|
+
# Check for -m flag followed by pip or venv
|
|
32
|
+
prev=""
|
|
33
|
+
for arg in "$@"; do
|
|
34
|
+
if [ "$prev" = "-m" ]; then
|
|
35
|
+
case "$arg" in
|
|
36
|
+
pip)
|
|
37
|
+
echo "Error: 'python3 -m pip' is disabled. Use uv instead:" >&2
|
|
38
|
+
echo "" >&2
|
|
39
|
+
echo " To install a package for a script: uv run --with PACKAGE python script.py" >&2
|
|
40
|
+
echo " To add a dependency to the project: uv add PACKAGE" >&2
|
|
41
|
+
echo "" >&2
|
|
42
|
+
exit 1
|
|
43
|
+
;;
|
|
44
|
+
venv)
|
|
45
|
+
echo "Error: 'python3 -m venv' is disabled. Use uv instead:" >&2
|
|
46
|
+
echo "" >&2
|
|
47
|
+
echo " To create a virtual environment: uv venv" >&2
|
|
48
|
+
echo "" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
;;
|
|
51
|
+
py_compile)
|
|
52
|
+
echo "Error: 'python3 -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
|
|
53
|
+
echo "" >&2
|
|
54
|
+
echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
|
|
55
|
+
echo "" >&2
|
|
56
|
+
exit 1
|
|
57
|
+
;;
|
|
58
|
+
esac
|
|
59
|
+
fi
|
|
60
|
+
prev="$arg"
|
|
61
|
+
done
|
|
62
|
+
|
|
63
|
+
# Resolve a Python interpreter for uv. Prefer uv-managed Python to match
|
|
64
|
+
# `uv run python` defaults, while still avoiding shim recursion.
|
|
65
|
+
resolve_uv_python() {
|
|
66
|
+
local shim_dir candidate candidate_dir
|
|
67
|
+
shim_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
68
|
+
|
|
69
|
+
candidate="$(uv python find --managed-python 2>/dev/null || true)"
|
|
70
|
+
if [ -n "$candidate" ] && [ -x "$candidate" ]; then
|
|
71
|
+
candidate_dir="$(cd "$(dirname "$candidate")" && pwd)"
|
|
72
|
+
if [ "$candidate_dir" != "$shim_dir" ]; then
|
|
73
|
+
echo "$candidate"
|
|
74
|
+
return 0
|
|
75
|
+
fi
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
while IFS= read -r candidate; do
|
|
79
|
+
[ -n "$candidate" ] || continue
|
|
80
|
+
candidate_dir="$(cd "$(dirname "$candidate")" && pwd)"
|
|
81
|
+
[ "$candidate_dir" = "$shim_dir" ] && continue
|
|
82
|
+
echo "$candidate"
|
|
83
|
+
return 0
|
|
84
|
+
done < <(type -aP python3 2>/dev/null)
|
|
85
|
+
|
|
86
|
+
while IFS= read -r candidate; do
|
|
87
|
+
[ -n "$candidate" ] || continue
|
|
88
|
+
candidate_dir="$(cd "$(dirname "$candidate")" && pwd)"
|
|
89
|
+
[ "$candidate_dir" = "$shim_dir" ] && continue
|
|
90
|
+
echo "$candidate"
|
|
91
|
+
return 0
|
|
92
|
+
done < <(type -aP python 2>/dev/null)
|
|
93
|
+
|
|
94
|
+
return 1
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
UV_PYTHON="$(resolve_uv_python)"
|
|
98
|
+
if [ -z "$UV_PYTHON" ]; then
|
|
99
|
+
echo "Error: Unable to locate a Python interpreter outside intercepted-commands." >&2
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
# Dispatch through uv with an explicit interpreter path to avoid recursion.
|
|
104
|
+
exec uv run --python "$UV_PYTHON" python "$@"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"jcodemunch": {
|
|
4
|
+
"command": "uvx",
|
|
5
|
+
"args": ["jcodemunch-mcp@latest"]
|
|
6
|
+
},
|
|
7
|
+
"pg-example-prod": {
|
|
8
|
+
"command": "docker",
|
|
9
|
+
"args": [
|
|
10
|
+
"run",
|
|
11
|
+
"-i",
|
|
12
|
+
"--rm",
|
|
13
|
+
"-e",
|
|
14
|
+
"DATABASE_URI",
|
|
15
|
+
"crystaldba/postgres-mcp",
|
|
16
|
+
"--access-mode=restricted"
|
|
17
|
+
],
|
|
18
|
+
"env": {
|
|
19
|
+
"DATABASE_URI": "postgresql://USER:PASSWORD@HOST:PORT/DATABASE"
|
|
20
|
+
},
|
|
21
|
+
"lifecycle": "lazy"
|
|
22
|
+
},
|
|
23
|
+
"chrome-devtools": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": [
|
|
26
|
+
"-y",
|
|
27
|
+
"chrome-devtools-mcp@latest",
|
|
28
|
+
"--autoConnect"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"providers": {
|
|
3
|
+
"mlx-local": {
|
|
4
|
+
"baseUrl": "http://127.0.0.1:8880/v1",
|
|
5
|
+
"api": "openai-completions",
|
|
6
|
+
"apiKey": "mlx-local",
|
|
7
|
+
"compat": {
|
|
8
|
+
"supportsDeveloperRole": false,
|
|
9
|
+
"supportsReasoningEffort": false,
|
|
10
|
+
"supportsUsageInStreaming": false,
|
|
11
|
+
"maxTokensField": "max_tokens",
|
|
12
|
+
"thinkingFormat": "qwen-chat-template"
|
|
13
|
+
},
|
|
14
|
+
"models": [
|
|
15
|
+
{
|
|
16
|
+
"id": "mlx-community/qwen3-coder-next-4bit",
|
|
17
|
+
"name": "Qwen3 Coder Next (MLX Local)",
|
|
18
|
+
"reasoning": true,
|
|
19
|
+
"input": ["text"],
|
|
20
|
+
"contextWindow": 262144,
|
|
21
|
+
"maxTokens": 32768,
|
|
22
|
+
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lastChangelogVersion": "0.63.1",
|
|
3
|
+
"defaultProvider": "anthropic",
|
|
4
|
+
"defaultModel": "claude-opus-4-6",
|
|
5
|
+
"defaultThinkingLevel": "xhigh",
|
|
6
|
+
"hideThinkingBlock": false,
|
|
7
|
+
"enabledModels": [
|
|
8
|
+
"anthropic/claude-opus-4-6",
|
|
9
|
+
"anthropic/claude-sonnet-4-6",
|
|
10
|
+
"anthropic/claude-haiku-4-5",
|
|
11
|
+
"openai-codex/gpt-5.4",
|
|
12
|
+
"google-antigravity/gemini-3.1-pro-low",
|
|
13
|
+
"google-antigravity/gemini-3.1-pro-high",
|
|
14
|
+
"ollama/qwen3-coder-next:latest"
|
|
15
|
+
],
|
|
16
|
+
"compaction": {
|
|
17
|
+
"enabled": true,
|
|
18
|
+
"reserveTokens": 16384,
|
|
19
|
+
"keepRecentTokens": 40000
|
|
20
|
+
},
|
|
21
|
+
"packages": [
|
|
22
|
+
"npm:@danchamorro/pi-prompt-enhancer",
|
|
23
|
+
"npm:@danchamorro/pi-agent-modes"
|
|
24
|
+
]
|
|
25
|
+
}
|