@claudemini/shit-cli 1.8.1 → 1.9.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/README.md +22 -3
- package/lib/agent-review.js +714 -0
- package/lib/log.js +1 -2
- package/lib/review-common.js +100 -0
- package/lib/review.js +164 -271
- package/lib/summarize.js +19 -2
- package/lib/webhook.js +5 -1
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**S**ession-based **H**ook **I**ntelligence **T**racker
|
|
4
4
|
|
|
5
|
-
A
|
|
5
|
+
A memory system for human-AI coding sessions. Tracks what happened, classifies intent and risk, and provides structured data for code review automation.
|
|
6
6
|
|
|
7
7
|
Supports **Claude Code**, **Gemini CLI**, **Cursor**, and **OpenCode**.
|
|
8
8
|
|
|
@@ -53,6 +53,7 @@ shit view <session-id> # View semantic session report
|
|
|
53
53
|
shit view <session-id> --json # Include raw JSON data
|
|
54
54
|
shit review [session-id] # Run structured code review from session data
|
|
55
55
|
shit review --json # Machine-readable findings (structured schema)
|
|
56
|
+
shit review # goatchain Agent-driven review
|
|
56
57
|
shit review --recent=3 --md # Aggregated Markdown report for PR comments
|
|
57
58
|
shit review --strict --fail-on=medium # CI gate by severity threshold
|
|
58
59
|
shit explain <session-id> # Human-friendly explanation of a session
|
|
@@ -64,6 +65,12 @@ shit explain <commit-sha> # Explain a commit via its checkpoint
|
|
|
64
65
|
- `--all` review all sessions in `.shit-logs`
|
|
65
66
|
- `--min-severity=<info|low|medium|high|critical>` filter findings
|
|
66
67
|
- `--fail-on=<info|low|medium|high|critical>` strict-mode failure threshold (default `high`)
|
|
68
|
+
- `--agent-timeout-ms=<ms>` total timeout for the review agent (default `120000`)
|
|
69
|
+
- `--allow-worktree-diff` allow worktree fallback diff when checkpoint commits are unavailable
|
|
70
|
+
- `--agent-auto-approve=<bool>` auto approve agent tool calls (default `true`)
|
|
71
|
+
- `--no-agent-auto-approve` disable auto approval for agent tool calls
|
|
72
|
+
- `--agent` deprecated alias (accepted but ignored)
|
|
73
|
+
- `--engine=<name>` deprecated alias (accepted but ignored)
|
|
67
74
|
- `--strict` exit code `1` when findings reach `--fail-on`
|
|
68
75
|
- `--json` output structured JSON
|
|
69
76
|
- `--markdown` / `--md` output Markdown
|
|
@@ -112,7 +119,7 @@ shit summarize <session-id> # Generate AI summary (requires API key)
|
|
|
112
119
|
| `log <type>` | Log a hook event from stdin (called by hooks) |
|
|
113
120
|
| `list` | List all sessions with type, intent, risk |
|
|
114
121
|
| `view <id>` | View semantic session report |
|
|
115
|
-
| `review [id]` | Run
|
|
122
|
+
| `review [id]` | Run agent-driven code review (goatchain, single or multi-session) |
|
|
116
123
|
| `query` | Query session memory across sessions |
|
|
117
124
|
| `explain <id>` | Human-friendly explanation of a session or commit |
|
|
118
125
|
| `commit` | Create checkpoint on git commit |
|
|
@@ -139,7 +146,7 @@ Human <-> AI Agent (Claude Code, Gemini CLI, ...)
|
|
|
139
146
|
|
|
|
140
147
|
Memory System (.shit-logs/ + index.json)
|
|
141
148
|
|
|
|
142
|
-
|
|
149
|
+
Agent Review (goatchain) / Human Queries
|
|
143
150
|
```
|
|
144
151
|
|
|
145
152
|
1. **Ingestion** - Hooks fire on every agent event (tool use, prompts, session start/end). Events are appended to `events.jsonl`.
|
|
@@ -330,6 +337,7 @@ Set one of these environment variables to enable AI-powered session summaries:
|
|
|
330
337
|
```bash
|
|
331
338
|
export OPENAI_API_KEY=sk-... # Uses gpt-4o-mini by default
|
|
332
339
|
export OPENAI_BASE_URL=https://api.openai.com/v1 # Optional: OpenAI-compatible base URL
|
|
340
|
+
export AI_MODEL=gpt-5-mini # Optional: universal model override (all providers)
|
|
333
341
|
export ANTHROPIC_API_KEY=sk-... # Uses claude-3-haiku by default
|
|
334
342
|
```
|
|
335
343
|
|
|
@@ -346,18 +354,29 @@ shit summarize <session-id>
|
|
|
346
354
|
| `OPENAI_API_KEY` | Enable AI summaries via OpenAI |
|
|
347
355
|
| `OPENAI_BASE_URL` | OpenAI-compatible base URL for summaries (default: `https://api.openai.com/v1`) |
|
|
348
356
|
| `OPENAI_ENDPOINT` | Full OpenAI-compatible endpoint (overrides `OPENAI_BASE_URL`) |
|
|
357
|
+
| `AI_MODEL` | Universal model override for summaries (applies to all providers) |
|
|
358
|
+
| `OPENAI_MODEL` | OpenAI-only model override (takes precedence over `AI_MODEL` for OpenAI) |
|
|
349
359
|
| `ANTHROPIC_API_KEY` | Enable AI summaries via Anthropic |
|
|
360
|
+
| `ANTHROPIC_MODEL` | Anthropic-only model override (takes precedence over `AI_MODEL` for Anthropic) |
|
|
361
|
+
| `SHIT_REVIEW_AGENT_TIMEOUT_MS` | Agent review timeout in milliseconds (default: `120000`) |
|
|
362
|
+
| `SHIT_REVIEW_AUTO_APPROVE` | Auto approve agent tool calls (`true`/`false`, default: `true`) |
|
|
350
363
|
| `SHIT_WEBHOOK_URL` | Webhook endpoint URL |
|
|
351
364
|
| `SHIT_WEBHOOK_SECRET` | HMAC-SHA256 signing secret for webhooks |
|
|
352
365
|
| `SHIT_WEBHOOK_AUTH_TOKEN` | Bearer token for webhook authentication |
|
|
353
366
|
| `SHIT_WEBHOOK_EVENTS` | Comma-separated list of webhook events to subscribe to |
|
|
354
367
|
|
|
368
|
+
`shit summarize` also accepts OpenAI-compatible responses where completion text is returned via `reasoning_content` instead of `content`.
|
|
369
|
+
|
|
355
370
|
## Security
|
|
356
371
|
|
|
357
372
|
- Session logs are stored locally in `.shit-logs/` (added to `.gitignore` automatically)
|
|
358
373
|
- Secrets (API keys, tokens, passwords) are automatically redacted when writing to shadow branches
|
|
359
374
|
- Checkpoint data uses git plumbing commands — no impact on your working tree
|
|
360
375
|
|
|
376
|
+
## Acknowledgements
|
|
377
|
+
|
|
378
|
+
Special thanks to [goatchain](https://www.npmjs.com/package/goatchain) for powering the agent-driven review workflow in `shit review`.
|
|
379
|
+
|
|
361
380
|
## License
|
|
362
381
|
|
|
363
382
|
MIT
|