claude-jacked 0.2.7__py3-none-any.whl → 0.3.0__py3-none-any.whl
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.
- claude_jacked-0.3.0.dist-info/METADATA +667 -0
- claude_jacked-0.3.0.dist-info/RECORD +33 -0
- jacked/__init__.py +34 -14
- jacked/cli.py +513 -60
- jacked/client.py +78 -28
- jacked/data/agents/double-check-reviewer.md +42 -0
- jacked/data/commands/audit-rules.md +103 -0
- jacked/data/commands/dc.md +36 -3
- jacked/data/commands/learn.md +89 -0
- jacked/data/commands/redo.md +85 -0
- jacked/data/commands/techdebt.md +115 -0
- jacked/data/hooks/security_gatekeeper.py +415 -0
- jacked/data/rules/jacked_behaviors.md +11 -0
- jacked/index_write_tracker.py +227 -0
- jacked/indexer.py +189 -163
- jacked/searcher.py +4 -0
- claude_jacked-0.2.7.dist-info/METADATA +0 -580
- claude_jacked-0.2.7.dist-info/RECORD +0 -26
- {claude_jacked-0.2.7.dist-info → claude_jacked-0.3.0.dist-info}/WHEEL +0 -0
- {claude_jacked-0.2.7.dist-info → claude_jacked-0.3.0.dist-info}/entry_points.txt +0 -0
- {claude_jacked-0.2.7.dist-info → claude_jacked-0.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,580 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: claude-jacked
|
|
3
|
-
Version: 0.2.7
|
|
4
|
-
Summary: Cross-machine semantic search for Claude Code sessions
|
|
5
|
-
Project-URL: Homepage, https://github.com/jackneil/claude-jacked
|
|
6
|
-
Project-URL: Repository, https://github.com/jackneil/claude-jacked
|
|
7
|
-
Project-URL: Issues, https://github.com/jackneil/claude-jacked/issues
|
|
8
|
-
Author-email: Jack Neil <jack@jackmd.com>
|
|
9
|
-
License-Expression: MIT
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Keywords: ai,claude,context,qdrant,semantic-search
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Intended Audience :: Developers
|
|
14
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
-
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
-
Requires-Python: >=3.10
|
|
20
|
-
Requires-Dist: click>=8.0.0
|
|
21
|
-
Requires-Dist: python-dotenv>=1.0.0
|
|
22
|
-
Requires-Dist: qdrant-client>=1.7.0
|
|
23
|
-
Requires-Dist: rich>=13.0.0
|
|
24
|
-
Provides-Extra: dev
|
|
25
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
26
|
-
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
27
|
-
Description-Content-Type: text/markdown
|
|
28
|
-
|
|
29
|
-
# claude-jacked
|
|
30
|
-
|
|
31
|
-
Supercharge your Claude Code workflow with cross-machine session search, review agents, and workflow commands.
|
|
32
|
-
|
|
33
|
-
## Quick Install
|
|
34
|
-
|
|
35
|
-
**One-liner (Linux/macOS/Git Bash):**
|
|
36
|
-
```bash
|
|
37
|
-
curl -sSL https://raw.githubusercontent.com/jackneil/claude-jacked/master/install.sh | bash
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**Or manual two-step:**
|
|
41
|
-
```bash
|
|
42
|
-
pipx install claude-jacked && jacked install
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Then set up Qdrant credentials (see [Qdrant Setup](#set-up-qdrant-cloud)) and run `jacked backfill`.
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Guided Install (Copy Into Claude Code)
|
|
50
|
-
|
|
51
|
-
> 📋 [View on GitHub](https://github.com/jackneil/claude-jacked#guided-install-copy-into-claude-code) for copy button
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
Install claude-jacked for me. First check what's already set up, then help me with anything missing:
|
|
55
|
-
|
|
56
|
-
DIAGNOSTIC PHASE (run these first to see current state):
|
|
57
|
-
- Detect my operating system
|
|
58
|
-
- Check if pipx is installed: pipx --version (or: python -m pipx --version)
|
|
59
|
-
- Check if jacked CLI is installed: jacked --version (or on Windows: where jacked)
|
|
60
|
-
- Check if Qdrant credentials are set in current shell: echo $QDRANT_CLAUDE_SESSIONS_ENDPOINT
|
|
61
|
-
- Check if hook is installed: look in ~/.claude/settings.json for "jacked index"
|
|
62
|
-
- If jacked exists and env vars visible: jacked status && jacked configure --show
|
|
63
|
-
|
|
64
|
-
WINDOWS EXTRA CHECK (Git Bash doesn't inherit Windows System Environment):
|
|
65
|
-
- If env vars NOT visible in bash, check Windows System Environment:
|
|
66
|
-
powershell.exe -Command "[System.Environment]::GetEnvironmentVariable('QDRANT_CLAUDE_SESSIONS_ENDPOINT', 'Machine')"
|
|
67
|
-
powershell.exe -Command "[System.Environment]::GetEnvironmentVariable('QDRANT_CLAUDE_SESSIONS_ENDPOINT', 'User')"
|
|
68
|
-
- If vars exist in Windows but not bash: they need to be added to ~/.bashrc
|
|
69
|
-
|
|
70
|
-
REPORT what's already configured vs what's missing before proceeding.
|
|
71
|
-
|
|
72
|
-
SETUP PHASE (only do steps that are missing):
|
|
73
|
-
1. If no Python 3.11+: help install miniconda
|
|
74
|
-
2. If no pipx: pip install pipx && pipx ensurepath
|
|
75
|
-
3. If jacked not installed: pipx install claude-jacked && jacked install
|
|
76
|
-
4. If no Qdrant credentials anywhere: walk me through cloud.qdrant.io setup
|
|
77
|
-
5. If env vars in Windows but not bash: add export lines to ~/.bashrc, then source it
|
|
78
|
-
6. If env vars missing entirely: help add to shell profile
|
|
79
|
-
7. If no indexed sessions: jacked backfill
|
|
80
|
-
|
|
81
|
-
VERIFY: jacked status && jacked configure --show
|
|
82
|
-
|
|
83
|
-
Ask if this is personal use or team setup.
|
|
84
|
-
If team: explain that everyone needs the same Qdrant cluster credentials.
|
|
85
|
-
|
|
86
|
-
WINDOWS NOTES:
|
|
87
|
-
- Claude Code uses Git Bash, which does NOT inherit Windows System Environment variables
|
|
88
|
-
- If you set env vars in Windows Settings, you ALSO need them in ~/.bashrc for Git Bash
|
|
89
|
-
- pipx installs jacked to: C:\Users\<user>\pipx\venvs\claude-jacked\Scripts\jacked.exe
|
|
90
|
-
- If "jacked" isn't found, find it with: where jacked OR ls /c/Users/$USER/pipx/venvs/claude-jacked/Scripts/
|
|
91
|
-
- In Git Bash, backslash paths get mangled. Use forward slashes: /c/Users/...
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## What's In Here
|
|
97
|
-
|
|
98
|
-
| Component | Description |
|
|
99
|
-
|-----------|-------------|
|
|
100
|
-
| **jacked CLI** | Cross-machine semantic search for Claude Code sessions via Qdrant |
|
|
101
|
-
| **10 Agents** | Double-check reviewer, PR workflow, test coverage, code simplicity, and more |
|
|
102
|
-
| **2 Commands** | `/dc` (double-check), `/pr` (PR workflow) |
|
|
103
|
-
| **1 Skill** | `/jacked` for searching past sessions from within Claude |
|
|
104
|
-
|
|
105
|
-
## Why This Exists
|
|
106
|
-
|
|
107
|
-
Claude Code has a context problem:
|
|
108
|
-
|
|
109
|
-
1. **Sessions don't sync across machines** - Work on your desktop, can't resume on laptop
|
|
110
|
-
2. **Auto-compact destroys context** - Hit the limit and your carefully built context gets summarized into oblivion
|
|
111
|
-
3. **Finding past work is painful** - "How did I solve that auth bug last week?" means grep-ing through JSONL files
|
|
112
|
-
|
|
113
|
-
This repo addresses these problems:
|
|
114
|
-
|
|
115
|
-
- **jacked** indexes all your sessions to Qdrant Cloud for semantic search from anywhere
|
|
116
|
-
- **Agents** like `double-check-reviewer` catch mistakes before they ship
|
|
117
|
-
- **Commands** like `/dc` trigger comprehensive reviews at the right moments
|
|
118
|
-
|
|
119
|
-
The goal: never lose useful context, never repeat solved problems, catch issues early.
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Manual Install
|
|
124
|
-
|
|
125
|
-
### Step 1: Install the CLI
|
|
126
|
-
|
|
127
|
-
**Use pipx** (recommended - installs globally, always on PATH):
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
pipx install claude-jacked
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
Don't have pipx? `pip install pipx && pipx ensurepath`
|
|
134
|
-
|
|
135
|
-
**Why not regular pip?** If you `pip install` into a conda env or virtualenv, the `jacked` command only works when that env is active. Claude Code hooks run in a fresh shell without your env activated → `jacked: command not found`. pipx avoids this by installing to an isolated global location that's always on PATH.
|
|
136
|
-
|
|
137
|
-
### Step 2: Install Claude Code Integration
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
jacked install
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
This installs:
|
|
144
|
-
- All agents to `~/.claude/agents/`
|
|
145
|
-
- All commands to `~/.claude/commands/`
|
|
146
|
-
- The `/jacked` skill to `~/.claude/skills/`
|
|
147
|
-
- Auto-index hook (indexes sessions after every Claude response)
|
|
148
|
-
|
|
149
|
-
Restart Claude Code after running this.
|
|
150
|
-
|
|
151
|
-
### Step 3: Set Up Qdrant Cloud
|
|
152
|
-
|
|
153
|
-
The session search features require Qdrant Cloud for vector storage and embedding:
|
|
154
|
-
|
|
155
|
-
1. Sign up at [cloud.qdrant.io](https://cloud.qdrant.io) (requires paid tier ~$30/mo for server-side embedding)
|
|
156
|
-
2. Create a cluster and get your URL + API key
|
|
157
|
-
3. Add to your shell profile:
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
export QDRANT_CLAUDE_SESSIONS_ENDPOINT="https://your-cluster.qdrant.io"
|
|
161
|
-
export QDRANT_CLAUDE_SESSIONS_API_KEY="your-api-key"
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Step 4: Index Your Sessions
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
jacked backfill # Index all existing sessions
|
|
168
|
-
jacked status # Verify it's working
|
|
169
|
-
jacked search "something you worked on before"
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
**Note:** If you only want the agents and commands (not the session search), you can manually copy just those files from the repo without setting up Qdrant. But the main `jacked` functionality requires it.
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Uninstall
|
|
177
|
-
|
|
178
|
-
**One-liner:**
|
|
179
|
-
```bash
|
|
180
|
-
curl -sSL https://raw.githubusercontent.com/jackneil/claude-jacked/master/uninstall.sh | bash
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Or manual two-step:**
|
|
184
|
-
```bash
|
|
185
|
-
jacked uninstall && pipx uninstall claude-jacked
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
This removes hooks, skill, agents, and commands from Claude Code. Your Qdrant index is preserved if you reinstall later.
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Team Setup
|
|
193
|
-
|
|
194
|
-
Share knowledge across your team by using the same Qdrant cluster.
|
|
195
|
-
|
|
196
|
-
### How It Works
|
|
197
|
-
|
|
198
|
-
1. **Everyone on the team** uses the same `QDRANT_CLAUDE_SESSIONS_ENDPOINT` and `QDRANT_CLAUDE_SESSIONS_API_KEY`
|
|
199
|
-
2. **Each person sets** their `JACKED_USER_NAME` to identify their sessions
|
|
200
|
-
3. **Search results** show who created each session (YOU vs @teammate)
|
|
201
|
-
4. **Ranking prioritizes** your own sessions, then teammates, with recency boost
|
|
202
|
-
|
|
203
|
-
### Team Environment Setup
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
# Everyone uses the same cluster
|
|
207
|
-
export QDRANT_CLAUDE_SESSIONS_ENDPOINT="https://team-cluster.qdrant.io"
|
|
208
|
-
export QDRANT_CLAUDE_SESSIONS_API_KEY="team-api-key"
|
|
209
|
-
|
|
210
|
-
# Each person sets their name
|
|
211
|
-
export JACKED_USER_NAME="sarah" # or "mike", "jack", etc.
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
### Search Examples
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
jacked search "auth implementation" # Ranked: your stuff first, then team
|
|
218
|
-
jacked search "auth" --mine # Only your sessions
|
|
219
|
-
jacked search "auth" --user sarah # Only Sarah's sessions
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Multi-Factor Ranking
|
|
223
|
-
|
|
224
|
-
Results are ranked by:
|
|
225
|
-
| Factor | Weight | Description |
|
|
226
|
-
|--------|--------|-------------|
|
|
227
|
-
| Semantic | Core | How well the query matches the session content |
|
|
228
|
-
| Ownership | 1.0 / 0.8 | Your sessions weighted higher than teammates |
|
|
229
|
-
| Repository | 1.0 / 0.7 | Current repo weighted higher than others |
|
|
230
|
-
| Recency | Decay | Recent sessions weighted higher (35-week half-life) |
|
|
231
|
-
|
|
232
|
-
Customize weights via environment variables:
|
|
233
|
-
```bash
|
|
234
|
-
export JACKED_TEAMMATE_WEIGHT=0.8 # Teammate session multiplier
|
|
235
|
-
export JACKED_OTHER_REPO_WEIGHT=0.7 # Other repo multiplier
|
|
236
|
-
export JACKED_TIME_DECAY_HALFLIFE_WEEKS=35 # Weeks until half relevance
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Agents
|
|
242
|
-
|
|
243
|
-
Installed automatically by `jacked install` to `~/.claude/agents/`.
|
|
244
|
-
|
|
245
|
-
| Agent | What It Does |
|
|
246
|
-
|-------|--------------|
|
|
247
|
-
| `double-check-reviewer` | CTO/CSO-level review for security, auth gaps, data leaks |
|
|
248
|
-
| `code-simplicity-reviewer` | Reviews for over-engineering and unnecessary complexity |
|
|
249
|
-
| `defensive-error-handler` | Audits error handling and adds defensive patterns |
|
|
250
|
-
| `git-pr-workflow-manager` | Manages branches, commits, and PR organization |
|
|
251
|
-
| `pr-workflow-checker` | Checks PR status and handles PR lifecycle |
|
|
252
|
-
| `issue-pr-coordinator` | Scans issues, groups related ones, manages PR workflows |
|
|
253
|
-
| `test-coverage-engineer` | Analyzes and improves test coverage |
|
|
254
|
-
| `test-coverage-improver` | Adds doctests and test files systematically |
|
|
255
|
-
| `readme-maintainer` | Keeps README in sync with code changes |
|
|
256
|
-
| `wiki-documentation-architect` | Creates/maintains GitHub Wiki documentation |
|
|
257
|
-
|
|
258
|
-
### Usage
|
|
259
|
-
|
|
260
|
-
Claude automatically uses these agents when appropriate. You can also invoke them explicitly:
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
Use the double-check-reviewer agent to review what we just built
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Commands
|
|
269
|
-
|
|
270
|
-
Installed automatically by `jacked install` to `~/.claude/commands/`.
|
|
271
|
-
|
|
272
|
-
| Command | What It Does |
|
|
273
|
-
|---------|--------------|
|
|
274
|
-
| `/dc` | Triggers comprehensive double-check review (auto-detects if planning vs implementation) |
|
|
275
|
-
| `/pr` | Checks PR status, manages workflow for current branch |
|
|
276
|
-
|
|
277
|
-
### Usage
|
|
278
|
-
|
|
279
|
-
```
|
|
280
|
-
/dc # Review current work
|
|
281
|
-
/pr # Check PR status
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## Skills
|
|
287
|
-
|
|
288
|
-
Installed automatically by `jacked install` to `~/.claude/skills/`.
|
|
289
|
-
|
|
290
|
-
| Skill | What It Does |
|
|
291
|
-
|-------|--------------|
|
|
292
|
-
| `/jacked` | Search past sessions and load context |
|
|
293
|
-
|
|
294
|
-
### Usage
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
/jacked implement user authentication
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
Claude searches your indexed sessions, shows matches, and lets you load relevant context.
|
|
301
|
-
|
|
302
|
-
**Note:** Searches all indexed sessions (yours + teammates if team setup). Results are ranked by: semantic match × ownership (yours first) × repo (current first) × recency. Use `--mine` for only your sessions.
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## Jacked CLI Reference
|
|
307
|
-
|
|
308
|
-
### Commands
|
|
309
|
-
|
|
310
|
-
```bash
|
|
311
|
-
jacked search "query" # Semantic search with multi-factor ranking
|
|
312
|
-
jacked search "query" --mine # Only your sessions
|
|
313
|
-
jacked search "query" --user sarah # Only this teammate's sessions
|
|
314
|
-
jacked search "query" --repo path # Boost results from this repo
|
|
315
|
-
jacked search "query" --type chunk # Search full transcript chunks only
|
|
316
|
-
|
|
317
|
-
jacked sessions # List indexed sessions
|
|
318
|
-
jacked sessions --repo myproject # Filter by repo name
|
|
319
|
-
|
|
320
|
-
jacked retrieve <session_id> # Smart mode: plan + summaries + labels
|
|
321
|
-
jacked retrieve <id> --mode full # Get full transcript (huge)
|
|
322
|
-
jacked retrieve <id> --mode plan # Just the plan file
|
|
323
|
-
jacked retrieve <id> --mode agents # Just subagent summaries
|
|
324
|
-
jacked retrieve <id> --mode labels # Just summary labels (tiny)
|
|
325
|
-
|
|
326
|
-
jacked index /path/to/session.jsonl --repo /path # Index specific session
|
|
327
|
-
jacked backfill # Index all existing sessions
|
|
328
|
-
jacked backfill --force # Re-index everything
|
|
329
|
-
|
|
330
|
-
jacked status # Check Qdrant connectivity
|
|
331
|
-
jacked delete <session_id> # Remove session from index
|
|
332
|
-
jacked cleardb # Delete all YOUR indexed data (requires confirmation)
|
|
333
|
-
jacked install # Install hook + skill + agents + commands
|
|
334
|
-
jacked install --sounds # Also install sound notification hooks
|
|
335
|
-
jacked uninstall # Remove hook + skill + agents + commands
|
|
336
|
-
jacked uninstall --sounds # Remove only sound hooks
|
|
337
|
-
jacked configure # Show config help
|
|
338
|
-
jacked configure --show # Show current config values
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### How It Works
|
|
342
|
-
|
|
343
|
-
```
|
|
344
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
345
|
-
│ YOUR MACHINE │
|
|
346
|
-
│ │
|
|
347
|
-
│ Claude Code │
|
|
348
|
-
│ ├── Stop hook → jacked index (after every response) │
|
|
349
|
-
│ └── /jacked skill → search + load context │
|
|
350
|
-
│ │
|
|
351
|
-
│ ~/.claude/projects/ │
|
|
352
|
-
│ └── {repo}/ │
|
|
353
|
-
│ └── {session}.jsonl ←── parsed and indexed │
|
|
354
|
-
└─────────────────────────────────────────────────────────────┘
|
|
355
|
-
│
|
|
356
|
-
│ HTTPS
|
|
357
|
-
▼
|
|
358
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
359
|
-
│ QDRANT CLOUD │
|
|
360
|
-
│ │
|
|
361
|
-
│ • Server-side embedding (no local ML needed) │
|
|
362
|
-
│ • Vectors + full transcripts stored │
|
|
363
|
-
│ • Accessible from any machine │
|
|
364
|
-
└─────────────────────────────────────────────────────────────┘
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
### Smart Retrieval (v0.2.6+)
|
|
368
|
-
|
|
369
|
-
Sessions are indexed with multiple content types for efficient retrieval:
|
|
370
|
-
|
|
371
|
-
| Content Type | What It Contains | Token Cost |
|
|
372
|
-
|--------------|------------------|------------|
|
|
373
|
-
| `plan` | Full implementation strategy from plan files | ~500-2K |
|
|
374
|
-
| `subagent_summary` | Rich summaries from exploration/planning agents | ~200-500 each |
|
|
375
|
-
| `summary_label` | Tiny chapter titles from auto-compaction | ~10-20 each |
|
|
376
|
-
| `user_message` | First 5 user messages for intent matching | ~100-500 each |
|
|
377
|
-
| `chunk` | Full transcript chunks (legacy) | ~2K each |
|
|
378
|
-
|
|
379
|
-
**Retrieval Modes:**
|
|
380
|
-
|
|
381
|
-
| Mode | What's Included | When to Use |
|
|
382
|
-
|------|-----------------|-------------|
|
|
383
|
-
| `smart` | Plan + agent summaries + labels + user msgs | Default - best balance (~5-10K tokens) |
|
|
384
|
-
| `plan` | Just the plan file | Quick strategic overview |
|
|
385
|
-
| `labels` | Just summary labels | Quick topic check (tiny) |
|
|
386
|
-
| `agents` | All subagent summaries | Deep dive into exploration results |
|
|
387
|
-
| `full` | Everything including transcript | Need full details (50-200K tokens - use sparingly!) |
|
|
388
|
-
|
|
389
|
-
**Why smart mode?** Full transcripts can be 50-200K tokens, which blows up your context window. Smart mode returns the highest-value content (~5-10K tokens) so you get the key decisions and plans without the bloat.
|
|
390
|
-
|
|
391
|
-
**Staleness warnings:** When loading old context, you'll see warnings based on age:
|
|
392
|
-
- 7-30 days: "Code may have changed since this session"
|
|
393
|
-
- 30-90 days: "Treat as starting point for WHERE to look, not WHAT to do"
|
|
394
|
-
- 90+ days: "Historical reference only - verify everything"
|
|
395
|
-
|
|
396
|
-
### Re-indexing After Upgrade
|
|
397
|
-
|
|
398
|
-
If you upgraded from a version before v0.2.6, your existing sessions are indexed as full transcript chunks only. To get smart retrieval:
|
|
399
|
-
|
|
400
|
-
```bash
|
|
401
|
-
jacked cleardb # Wipes YOUR data (not teammates), requires typing "DELETE MY DATA"
|
|
402
|
-
jacked backfill # Re-index with new content types
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
---
|
|
406
|
-
|
|
407
|
-
## Configuration
|
|
408
|
-
|
|
409
|
-
### Environment Variables
|
|
410
|
-
|
|
411
|
-
**Required:**
|
|
412
|
-
| Variable | Description |
|
|
413
|
-
|----------|-------------|
|
|
414
|
-
| `QDRANT_CLAUDE_SESSIONS_ENDPOINT` | Qdrant Cloud cluster URL |
|
|
415
|
-
| `QDRANT_CLAUDE_SESSIONS_API_KEY` | Qdrant API key |
|
|
416
|
-
|
|
417
|
-
**Identity (for team sharing):**
|
|
418
|
-
| Variable | Default | Description |
|
|
419
|
-
|----------|---------|-------------|
|
|
420
|
-
| `JACKED_USER_NAME` | git user.name | Your name for session attribution |
|
|
421
|
-
| `SMART_FORK_MACHINE_NAME` | hostname | Override machine name |
|
|
422
|
-
|
|
423
|
-
**Ranking weights:**
|
|
424
|
-
| Variable | Default | Description |
|
|
425
|
-
|----------|---------|-------------|
|
|
426
|
-
| `JACKED_TEAMMATE_WEIGHT` | 0.8 | Multiplier for teammate sessions |
|
|
427
|
-
| `JACKED_OTHER_REPO_WEIGHT` | 0.7 | Multiplier for other repos |
|
|
428
|
-
| `JACKED_TIME_DECAY_HALFLIFE_WEEKS` | 35 | Weeks until session relevance halves |
|
|
429
|
-
|
|
430
|
-
**Other:**
|
|
431
|
-
| Variable | Default | Description |
|
|
432
|
-
|----------|---------|-------------|
|
|
433
|
-
| `QDRANT_CLAUDE_SESSIONS_COLLECTION` | `claude_sessions` | Collection name |
|
|
434
|
-
| `CLAUDE_PROJECTS_DIR` | `~/.claude/projects` | Claude projects directory |
|
|
435
|
-
|
|
436
|
-
### Hook Configuration
|
|
437
|
-
|
|
438
|
-
The `jacked install` command adds this to `~/.claude/settings.json`:
|
|
439
|
-
|
|
440
|
-
```json
|
|
441
|
-
{
|
|
442
|
-
"hooks": {
|
|
443
|
-
"Stop": [{
|
|
444
|
-
"matcher": "",
|
|
445
|
-
"hooks": [{
|
|
446
|
-
"type": "command",
|
|
447
|
-
"command": "jacked index --repo \"$CLAUDE_PROJECT_DIR\""
|
|
448
|
-
}]
|
|
449
|
-
}]
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
### Sound Notifications
|
|
455
|
-
|
|
456
|
-
Add audio feedback when Claude needs attention or completes a task:
|
|
457
|
-
|
|
458
|
-
```bash
|
|
459
|
-
jacked install --sounds
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
This adds hooks that play:
|
|
463
|
-
- **Notification sound** when Claude requests user input
|
|
464
|
-
- **Completion sound** when Claude finishes a task
|
|
465
|
-
|
|
466
|
-
Works on Windows (PowerShell), macOS (afplay), Linux (paplay), and WSL. Falls back to terminal bell on unsupported systems.
|
|
467
|
-
|
|
468
|
-
To remove only sound hooks (keep everything else):
|
|
469
|
-
```bash
|
|
470
|
-
jacked uninstall --sounds
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
---
|
|
474
|
-
|
|
475
|
-
## Security Warning
|
|
476
|
-
|
|
477
|
-
**Jacked sends session data to Qdrant Cloud.** This includes:
|
|
478
|
-
|
|
479
|
-
- Full conversation transcripts
|
|
480
|
-
- Repo paths and machine names
|
|
481
|
-
- Anything you paste into sessions (including secrets)
|
|
482
|
-
|
|
483
|
-
Recommendations:
|
|
484
|
-
- Don't paste API keys/passwords in Claude sessions
|
|
485
|
-
- Keep your Qdrant API key secure
|
|
486
|
-
- Consider self-hosting Qdrant for sensitive work
|
|
487
|
-
|
|
488
|
-
**Data isolation:** The `cleardb` command only deletes data belonging to the current user (based on `JACKED_USER_NAME`). Teammates' data is unaffected.
|
|
489
|
-
|
|
490
|
-
---
|
|
491
|
-
|
|
492
|
-
## Troubleshooting
|
|
493
|
-
|
|
494
|
-
### "QDRANT_CLAUDE_SESSIONS_ENDPOINT not set"
|
|
495
|
-
|
|
496
|
-
Add to your shell profile (`~/.bashrc`, `~/.zshrc`, or PowerShell profile):
|
|
497
|
-
|
|
498
|
-
```bash
|
|
499
|
-
export QDRANT_CLAUDE_SESSIONS_ENDPOINT="https://your-cluster.qdrant.io"
|
|
500
|
-
export QDRANT_CLAUDE_SESSIONS_API_KEY="your-key"
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
### "No matching sessions found"
|
|
504
|
-
|
|
505
|
-
```bash
|
|
506
|
-
jacked backfill # Index existing sessions first
|
|
507
|
-
jacked status # Verify connectivity
|
|
508
|
-
```
|
|
509
|
-
|
|
510
|
-
### "jacked: command not found"
|
|
511
|
-
|
|
512
|
-
You probably installed with `pip` into a virtualenv/conda env that isn't active. Fix:
|
|
513
|
-
|
|
514
|
-
```bash
|
|
515
|
-
pipx install claude-jacked
|
|
516
|
-
```
|
|
517
|
-
|
|
518
|
-
This installs globally so the hook can find it regardless of which env is active.
|
|
519
|
-
|
|
520
|
-
### Windows: Path Issues in Git Bash
|
|
521
|
-
|
|
522
|
-
Claude Code uses Git Bash on Windows, which mangles backslash paths. When you run `C:\Users\jack\.local\bin\jacked.exe`, bash turns it into garbage like `C:Usersjack.localbinjacked.exe`.
|
|
523
|
-
|
|
524
|
-
**Where pipx installs jacked on Windows:**
|
|
525
|
-
```
|
|
526
|
-
C:\Users\<your-username>\pipx\venvs\claude-jacked\Scripts\jacked.exe
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
**Solutions:**
|
|
530
|
-
|
|
531
|
-
1. **Use cmd.exe wrapper** (most reliable in Git Bash):
|
|
532
|
-
```bash
|
|
533
|
-
cmd.exe /c "C:\Users\jack\pipx\venvs\claude-jacked\Scripts\jacked.exe status"
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
2. **Add Scripts folder to PATH** (one-time fix):
|
|
537
|
-
Add `C:\Users\<you>\pipx\venvs\claude-jacked\Scripts` to your Windows PATH environment variable.
|
|
538
|
-
|
|
539
|
-
3. **Use forward slashes** (sometimes works):
|
|
540
|
-
```bash
|
|
541
|
-
/c/Users/jack/pipx/venvs/claude-jacked/Scripts/jacked.exe status
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
**Finding where jacked is installed:**
|
|
545
|
-
```cmd
|
|
546
|
-
where jacked
|
|
547
|
-
```
|
|
548
|
-
or
|
|
549
|
-
```cmd
|
|
550
|
-
dir C:\Users\%USERNAME%\pipx\venvs\claude-jacked\Scripts\jacked.exe
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
### Agents not loading
|
|
554
|
-
|
|
555
|
-
Make sure files are in the right place:
|
|
556
|
-
- Global: `~/.claude/agents/`
|
|
557
|
-
- Project: `.claude/agents/` in your repo root
|
|
558
|
-
|
|
559
|
-
---
|
|
560
|
-
|
|
561
|
-
## Development
|
|
562
|
-
|
|
563
|
-
```bash
|
|
564
|
-
git clone https://github.com/jackneil/claude-jacked
|
|
565
|
-
cd claude-jacked
|
|
566
|
-
pip install -e ".[dev]"
|
|
567
|
-
pytest
|
|
568
|
-
```
|
|
569
|
-
|
|
570
|
-
---
|
|
571
|
-
|
|
572
|
-
## License
|
|
573
|
-
|
|
574
|
-
MIT
|
|
575
|
-
|
|
576
|
-
## Credits
|
|
577
|
-
|
|
578
|
-
Built for [Claude Code](https://claude.ai/code) by Anthropic.
|
|
579
|
-
|
|
580
|
-
Uses [Qdrant](https://qdrant.tech/) for vector search.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
jacked/__init__.py,sha256=aVi7IpwXTJWSR8wBe4GHbAB4QlWyWvCobMQZ165Ytk8,609
|
|
2
|
-
jacked/cli.py,sha256=91wEnp6EBTJZkhnuMGexrSW6yw_I7TQIoHGvVQ8S9NA,32891
|
|
3
|
-
jacked/client.py,sha256=KCxPJcVyHn5cHybzN2anaermUjqJTupjPVbC8mv15F0,16043
|
|
4
|
-
jacked/config.py,sha256=DeC1no5rFsvlb6JaU2PzLyyhI4DaJrxrsfqVugWuC4Q,8606
|
|
5
|
-
jacked/indexer.py,sha256=RHMPSzRGd87j-A7WrH37y3fh_3qd5XYhNvn02EFe1cc,15778
|
|
6
|
-
jacked/retriever.py,sha256=Lehq8zpQJzY9f7DmM9DfqUulZoVBHgpvWuasUgouxxw,19454
|
|
7
|
-
jacked/searcher.py,sha256=J0qQGOPlKAC5RT5JN8Xm-ZsVBQKpju8IJNJaXWQA0C4,12713
|
|
8
|
-
jacked/transcript.py,sha256=QXm1xJd15n_-tvrXpNpsY-968Y68yKXeHjN0EgLKg6s,24421
|
|
9
|
-
jacked/data/agents/code-simplicity-reviewer.md,sha256=K_dqHP-h30fMeSGnUnq0hG4RJXDNnsKHDhchsuQ5YfA,5550
|
|
10
|
-
jacked/data/agents/defensive-error-handler.md,sha256=bE4oZSz_pFHE-LtzEqLL1TB8NH-YjY0cAveXQLgbjDM,5558
|
|
11
|
-
jacked/data/agents/double-check-reviewer.md,sha256=NP0f1vP4_C_EK9FV9kyNrkulL4NZ14-sAh9NYroQuYM,7920
|
|
12
|
-
jacked/data/agents/git-pr-workflow-manager.md,sha256=owsusEBk1-ms4yvzzlyv32EKvkrp5oVQNHFw8GopHTE,8145
|
|
13
|
-
jacked/data/agents/issue-pr-coordinator.md,sha256=I9qUM6xQuNUfvNR4vDV1BYFczx3VZvZv7clKldUT8pc,7354
|
|
14
|
-
jacked/data/agents/pr-workflow-checker.md,sha256=IwuTCI7L7Z_DfScn-1e0UvrmMWhX6yLTBMiLBZyUPtE,6751
|
|
15
|
-
jacked/data/agents/readme-maintainer.md,sha256=z2CVCf9JR1qg3X6tPm69EmBbCGvIDCSJcVk9t-OtiF4,7464
|
|
16
|
-
jacked/data/agents/test-coverage-engineer.md,sha256=56LaFTyOocwclgNF6LBsPKZJSNoDLIfV8FzYrKao7wo,7555
|
|
17
|
-
jacked/data/agents/test-coverage-improver.md,sha256=q7IJtXX0rWwgcMqskSYqqXew4sEobH-Y4u8G3SpPr-Q,6607
|
|
18
|
-
jacked/data/agents/wiki-documentation-architect.md,sha256=x9qIAeNEH--4-d2hbhnhIFxpZ1lCg-wji9T29agmEoM,15812
|
|
19
|
-
jacked/data/commands/dc.md,sha256=Y4YkaPkmrSC0fXTGiLaX4p9uVUQ9jn1ZVCjSz02XUgg,5600
|
|
20
|
-
jacked/data/commands/pr.md,sha256=1orTbDnL4ky2bk5VXm5j66hGybTrNWVTyAPxx_uMggU,193
|
|
21
|
-
jacked/data/skills/jacked/SKILL.md,sha256=IEMp-PfWlu5rmS1R5HHblUX1CGwzno2gtO4yQ2cMAg4,5488
|
|
22
|
-
claude_jacked-0.2.7.dist-info/METADATA,sha256=j5tYntnAiN12XW4IrQ91bv5LtwaZu_BIaLaXy182TFc,20685
|
|
23
|
-
claude_jacked-0.2.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
24
|
-
claude_jacked-0.2.7.dist-info/entry_points.txt,sha256=52JDhetd7OsE9iJryGrQIL3PWhum_QCeLuTeQ9-CTqQ,43
|
|
25
|
-
claude_jacked-0.2.7.dist-info/licenses/LICENSE,sha256=m8NmsH7P5G4VH3VyHWPQUTl2weuNTh1-eaH0RbUcn3k,1066
|
|
26
|
-
claude_jacked-0.2.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|