@tyroneross/bookmark 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/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +13 -0
- package/CLAUDE.md +69 -0
- package/LICENSE +21 -0
- package/README.md +178 -0
- package/agents/snapshot-analyst.md +41 -0
- package/commands/activate.md +20 -0
- package/commands/list.md +15 -0
- package/commands/restore.md +30 -0
- package/commands/snapshot.md +26 -0
- package/commands/status.md +19 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +437 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +86 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/restore/index.d.ts +13 -0
- package/dist/restore/index.d.ts.map +1 -0
- package/dist/restore/index.js +94 -0
- package/dist/restore/index.js.map +1 -0
- package/dist/setup/auto-setup.d.ts +16 -0
- package/dist/setup/auto-setup.d.ts.map +1 -0
- package/dist/setup/auto-setup.js +192 -0
- package/dist/setup/auto-setup.js.map +1 -0
- package/dist/setup/configure-hooks.d.ts +10 -0
- package/dist/setup/configure-hooks.d.ts.map +1 -0
- package/dist/setup/configure-hooks.js +97 -0
- package/dist/setup/configure-hooks.js.map +1 -0
- package/dist/snapshot/capture.d.ts +21 -0
- package/dist/snapshot/capture.d.ts.map +1 -0
- package/dist/snapshot/capture.js +134 -0
- package/dist/snapshot/capture.js.map +1 -0
- package/dist/snapshot/compress.d.ts +8 -0
- package/dist/snapshot/compress.d.ts.map +1 -0
- package/dist/snapshot/compress.js +93 -0
- package/dist/snapshot/compress.js.map +1 -0
- package/dist/snapshot/storage.d.ts +13 -0
- package/dist/snapshot/storage.d.ts.map +1 -0
- package/dist/snapshot/storage.js +151 -0
- package/dist/snapshot/storage.js.map +1 -0
- package/dist/threshold/adaptive.d.ts +23 -0
- package/dist/threshold/adaptive.d.ts.map +1 -0
- package/dist/threshold/adaptive.js +29 -0
- package/dist/threshold/adaptive.js.map +1 -0
- package/dist/threshold/state.d.ts +8 -0
- package/dist/threshold/state.d.ts.map +1 -0
- package/dist/threshold/state.js +83 -0
- package/dist/threshold/state.js.map +1 -0
- package/dist/threshold/time-based.d.ts +13 -0
- package/dist/threshold/time-based.d.ts.map +1 -0
- package/dist/threshold/time-based.js +24 -0
- package/dist/threshold/time-based.js.map +1 -0
- package/dist/transcript/estimator.d.ts +20 -0
- package/dist/transcript/estimator.d.ts.map +1 -0
- package/dist/transcript/estimator.js +95 -0
- package/dist/transcript/estimator.js.map +1 -0
- package/dist/transcript/extractor.d.ts +7 -0
- package/dist/transcript/extractor.d.ts.map +1 -0
- package/dist/transcript/extractor.js +237 -0
- package/dist/transcript/extractor.js.map +1 -0
- package/dist/transcript/parser.d.ts +16 -0
- package/dist/transcript/parser.d.ts.map +1 -0
- package/dist/transcript/parser.js +120 -0
- package/dist/transcript/parser.js.map +1 -0
- package/dist/types.d.ts +156 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/hooks/hooks.json +54 -0
- package/package.json +77 -0
- package/scripts/install-plugin.sh +38 -0
- package/skills/context-continuity/SKILL.md +49 -0
package/package.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tyroneross/bookmark",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Context snapshots for Claude Code — session continuity across compactions and terminals",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"bookmark": "./dist/cli/index.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./setup": {
|
|
17
|
+
"types": "./dist/setup/auto-setup.d.ts",
|
|
18
|
+
"import": "./dist/setup/auto-setup.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"commands",
|
|
24
|
+
"skills",
|
|
25
|
+
"hooks",
|
|
26
|
+
"agents",
|
|
27
|
+
".claude-plugin",
|
|
28
|
+
"scripts/install-plugin.sh",
|
|
29
|
+
"CLAUDE.md",
|
|
30
|
+
"README.md"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsc && npm run build:fixshebang",
|
|
34
|
+
"build:fixshebang": "node -e \"const fs=require('fs');const f='dist/cli/index.js';let c=fs.readFileSync(f,'utf8');if(!c.startsWith('#!')){c='#!/usr/bin/env node\\n'+c;fs.writeFileSync(f,c);}\"",
|
|
35
|
+
"dev": "tsc --watch",
|
|
36
|
+
"start": "node dist/cli/index.js",
|
|
37
|
+
"test": "vitest run",
|
|
38
|
+
"clean": "rm -rf dist",
|
|
39
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
40
|
+
"postinstall": "node dist/setup/auto-setup.js || true",
|
|
41
|
+
"install-plugin": "bash scripts/install-plugin.sh --global"
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"claude-code",
|
|
45
|
+
"context",
|
|
46
|
+
"snapshots",
|
|
47
|
+
"session-continuity",
|
|
48
|
+
"compaction",
|
|
49
|
+
"memory",
|
|
50
|
+
"devtools"
|
|
51
|
+
],
|
|
52
|
+
"author": "Tyrone Ross",
|
|
53
|
+
"license": "MIT",
|
|
54
|
+
"repository": {
|
|
55
|
+
"type": "git",
|
|
56
|
+
"url": "https://github.com/tyroneross/bookmark"
|
|
57
|
+
},
|
|
58
|
+
"homepage": "https://github.com/tyroneross/bookmark#readme",
|
|
59
|
+
"bugs": {
|
|
60
|
+
"url": "https://github.com/tyroneross/bookmark/issues"
|
|
61
|
+
},
|
|
62
|
+
"engines": {
|
|
63
|
+
"node": ">=20.0.0"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"commander": "^14.0.0",
|
|
67
|
+
"glob": "^13.0.0"
|
|
68
|
+
},
|
|
69
|
+
"optionalDependencies": {
|
|
70
|
+
"@anthropic-ai/sdk": "^0.39.0"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"@types/node": "^22.0.0",
|
|
74
|
+
"typescript": "^5.3.0",
|
|
75
|
+
"vitest": "^4.0.0"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Install Bookmark as a Claude Code plugin
|
|
3
|
+
# Usage: bash scripts/install-plugin.sh [--global]
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
8
|
+
PLUGIN_DIR="$SCRIPT_DIR"
|
|
9
|
+
|
|
10
|
+
if [[ "$1" == "--global" ]]; then
|
|
11
|
+
# Global install — link plugin for all projects
|
|
12
|
+
CLAUDE_PLUGINS_DIR="$HOME/.claude/plugins"
|
|
13
|
+
mkdir -p "$CLAUDE_PLUGINS_DIR"
|
|
14
|
+
|
|
15
|
+
# Create symlink
|
|
16
|
+
LINK_PATH="$CLAUDE_PLUGINS_DIR/bookmark"
|
|
17
|
+
if [ -L "$LINK_PATH" ]; then
|
|
18
|
+
rm "$LINK_PATH"
|
|
19
|
+
fi
|
|
20
|
+
ln -sf "$PLUGIN_DIR" "$LINK_PATH"
|
|
21
|
+
echo "Bookmark plugin linked globally: $LINK_PATH -> $PLUGIN_DIR"
|
|
22
|
+
else
|
|
23
|
+
# Project-level install
|
|
24
|
+
CWD="${2:-$(pwd)}"
|
|
25
|
+
CLAUDE_DIR="$CWD/.claude"
|
|
26
|
+
mkdir -p "$CLAUDE_DIR"
|
|
27
|
+
|
|
28
|
+
echo "Bookmark plugin installed for project: $CWD"
|
|
29
|
+
echo ""
|
|
30
|
+
echo "Commands available:"
|
|
31
|
+
echo " /bookmark:snapshot — Take a manual snapshot"
|
|
32
|
+
echo " /bookmark:restore — Restore from a snapshot"
|
|
33
|
+
echo " /bookmark:status — Show snapshot stats"
|
|
34
|
+
echo " /bookmark:list — List all snapshots"
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "Done. Restart your Claude Code session to activate hooks."
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-continuity
|
|
3
|
+
description: This skill activates when the user mentions "what was I working on", "continue from last session", "restore context", "what did we decide", "pick up where I left off", "compaction happened", "lost context", "session context", or when resuming work after a break. Provides session continuity by accessing bookmark snapshots.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Context Continuity Workflow
|
|
8
|
+
|
|
9
|
+
This skill helps restore and maintain context across Claude Code sessions and compactions.
|
|
10
|
+
|
|
11
|
+
## When to Activate
|
|
12
|
+
|
|
13
|
+
- User asks about prior session work
|
|
14
|
+
- User wants to continue a previous task
|
|
15
|
+
- After compaction when context was compressed
|
|
16
|
+
- User reports "losing" context or decisions
|
|
17
|
+
|
|
18
|
+
## Restoration Flow
|
|
19
|
+
|
|
20
|
+
1. Check for existing snapshots:
|
|
21
|
+
```bash
|
|
22
|
+
npx @tyroneross/bookmark status
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. If snapshots exist, read the hot context:
|
|
26
|
+
```bash
|
|
27
|
+
npx @tyroneross/bookmark show --latest
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
3. Present the restored context to the user:
|
|
31
|
+
- **Current Status**: What was being worked on
|
|
32
|
+
- **Decisions Made**: Key choices with rationale
|
|
33
|
+
- **Open Items**: What still needs doing
|
|
34
|
+
- **Unknowns**: Blockers or questions
|
|
35
|
+
|
|
36
|
+
4. Ask the user which open item to continue with.
|
|
37
|
+
|
|
38
|
+
## After Restoration
|
|
39
|
+
|
|
40
|
+
Once context is restored, continue working normally. The automatic hooks handle future snapshots.
|
|
41
|
+
|
|
42
|
+
## Manual Snapshot
|
|
43
|
+
|
|
44
|
+
If the user wants to explicitly save context before a break:
|
|
45
|
+
```bash
|
|
46
|
+
npx @tyroneross/bookmark snapshot --trigger manual
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
*bookmark — context snapshot*
|