@furkankoykiran/contextify-cli 0.4.3 → 0.4.4
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 +39 -7
- package/package.json +25 -17
- package/src/hooks/session-end.sh +0 -0
- package/src/hooks/session-start.sh +0 -0
- package/src/hooks/stop.sh +0 -0
package/README.md
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Contextify CLI
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
> **Open-source CLI for Claude Code: capture sessions, ship transcripts to your memory pipeline, and synthesize Claude-ready prompts.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@furkankoykiran/contextify-cli)
|
|
6
|
+
[](https://www.npmjs.com/package/@furkankoykiran/contextify-cli)
|
|
7
|
+
[](https://github.com/furkankoykiran/contextify-cli/actions/workflows/ci.yml)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](.nvmrc)
|
|
10
|
+
|
|
11
|
+
`contextify` is the capture half of [Contextify](https://contextify.live) — a closed-loop prompt factory and project memory for Claude Code. It hooks into [Anthropic Claude Code](https://docs.anthropic.com/en/docs/claude-code) sessions on your machine, ships transcripts to your memory pipeline, and turns drafts into Claude-ready prompts grounded in everything your project has already learned.
|
|
12
|
+
|
|
13
|
+
The CLI is **MIT-licensed and contribution-friendly**. The backend (web app, worker, prompt synthesizer) is closed-source.
|
|
14
|
+
|
|
15
|
+
## Why use this
|
|
16
|
+
|
|
17
|
+
- **Claude Code transcript capture** — every `SessionStart`, `Stop`, and `SessionEnd` event is shadowed and streamed without disrupting your flow.
|
|
18
|
+
- **Project memory grounding** — turn a one-line draft into a multi-section, memory-augmented Claude Code prompt with `contextify prompt`.
|
|
19
|
+
- **Zero per-project config** — `project_id` is derived from each session's `cwd` at fire-time. Install once, capture everywhere.
|
|
20
|
+
- **Bring your own server** — point `CONTEXTIFY_SERVER_URL` at `https://contextify.live` or self-host the backend.
|
|
6
21
|
|
|
7
22
|
## Install
|
|
8
23
|
|
|
@@ -14,7 +29,7 @@ npm i -g @furkankoykiran/contextify-cli
|
|
|
14
29
|
|
|
15
30
|
## Quick start
|
|
16
31
|
|
|
17
|
-
1. Create an API key at https://contextify.live/dashboard/keys
|
|
32
|
+
1. Create an API key at [https://contextify.live/dashboard/keys](https://contextify.live/dashboard/keys).
|
|
18
33
|
2. Export the key and the server URL:
|
|
19
34
|
```bash
|
|
20
35
|
export CONTEXTIFY_API_KEY="ctx_live_..."
|
|
@@ -25,7 +40,7 @@ npm i -g @furkankoykiran/contextify-cli
|
|
|
25
40
|
contextify install
|
|
26
41
|
```
|
|
27
42
|
|
|
28
|
-
That's it — every Claude Code session is now captured.
|
|
43
|
+
That's it — every Claude Code session is now captured. Inspect captures and synthesized memories at [https://contextify.live/dashboard](https://contextify.live/dashboard).
|
|
29
44
|
|
|
30
45
|
## Commands
|
|
31
46
|
|
|
@@ -50,7 +65,7 @@ That's it — every Claude Code session is now captured. `project_id` is derived
|
|
|
50
65
|
| `CONTEXTIFY_STATE_DIR` | Override the `~/.contextify` state directory. |
|
|
51
66
|
| `CLAUDE_SETTINGS_PATH` | Override the `~/.claude/settings.json` path (useful for tests). |
|
|
52
67
|
|
|
53
|
-
## How identity is resolved
|
|
68
|
+
## How project identity is resolved
|
|
54
69
|
|
|
55
70
|
Project id resolution stack, first match wins:
|
|
56
71
|
|
|
@@ -59,6 +74,23 @@ Project id resolution stack, first match wins:
|
|
|
59
74
|
3. Git remote URL of the enclosing repo
|
|
60
75
|
4. `realpath` of the current directory
|
|
61
76
|
|
|
77
|
+
## Development
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
git clone https://github.com/furkankoykiran/contextify-cli.git
|
|
81
|
+
cd contextify-cli
|
|
82
|
+
pnpm install
|
|
83
|
+
pnpm build
|
|
84
|
+
pnpm test
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full workflow.
|
|
88
|
+
|
|
89
|
+
## Related
|
|
90
|
+
|
|
91
|
+
- [Contextify](https://contextify.live) — the hosted prompt factory + project memory.
|
|
92
|
+
- [Anthropic Claude Code](https://docs.anthropic.com/en/docs/claude-code) — the official CLI this tool hooks into.
|
|
93
|
+
|
|
62
94
|
## License
|
|
63
95
|
|
|
64
|
-
MIT
|
|
96
|
+
[MIT](LICENSE) © Furkan Köykıran
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furkankoykiran/contextify-cli",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.4",
|
|
4
|
+
"description": "Open-source CLI for Claude Code: capture sessions, ship transcripts to your memory pipeline, and synthesize Claude-ready prompts.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
7
7
|
"claude",
|
|
@@ -13,16 +13,19 @@
|
|
|
13
13
|
"memory",
|
|
14
14
|
"prompt",
|
|
15
15
|
"prompt-engineering",
|
|
16
|
-
"
|
|
16
|
+
"context-engineering",
|
|
17
|
+
"cli",
|
|
18
|
+
"agent",
|
|
19
|
+
"agentic-ai",
|
|
20
|
+
"developer-tools"
|
|
17
21
|
],
|
|
18
22
|
"homepage": "https://contextify.live",
|
|
19
23
|
"repository": {
|
|
20
24
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/furkankoykiran/contextify.git"
|
|
22
|
-
"directory": "apps/cli"
|
|
25
|
+
"url": "git+https://github.com/furkankoykiran/contextify-cli.git"
|
|
23
26
|
},
|
|
24
27
|
"bugs": {
|
|
25
|
-
"url": "https://github.com/furkankoykiran/contextify/issues"
|
|
28
|
+
"url": "https://github.com/furkankoykiran/contextify-cli/issues"
|
|
26
29
|
},
|
|
27
30
|
"author": "Furkan Köykıran",
|
|
28
31
|
"license": "MIT",
|
|
@@ -68,24 +71,29 @@
|
|
|
68
71
|
"dist",
|
|
69
72
|
"src/hooks"
|
|
70
73
|
],
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"dev": "tsc -p tsconfig.json --watch",
|
|
75
|
-
"clean": "rm -rf dist .turbo *.tsbuildinfo",
|
|
76
|
-
"lint": "eslint src --max-warnings=0",
|
|
77
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
78
|
-
"test": "vitest run"
|
|
74
|
+
"engines": {
|
|
75
|
+
"node": ">=20.19.0",
|
|
76
|
+
"pnpm": ">=9"
|
|
79
77
|
},
|
|
80
78
|
"devDependencies": {
|
|
81
|
-
"@contextify/eslint-config": "workspace:*",
|
|
82
|
-
"@contextify/tsconfig": "workspace:*",
|
|
83
79
|
"@types/node": "20.14.10",
|
|
84
80
|
"@typescript-eslint/eslint-plugin": "8.18.2",
|
|
85
81
|
"@typescript-eslint/parser": "8.18.2",
|
|
86
82
|
"eslint": "8.57.1",
|
|
87
83
|
"eslint-config-prettier": "9.1.0",
|
|
84
|
+
"prettier": "3.3.3",
|
|
88
85
|
"typescript": "5.5.4",
|
|
89
86
|
"vitest": "2.1.8"
|
|
87
|
+
},
|
|
88
|
+
"scripts": {
|
|
89
|
+
"build": "tsc -p tsconfig.json && chmod +x dist/index.js",
|
|
90
|
+
"start": "node ./dist/index.js",
|
|
91
|
+
"dev": "tsc -p tsconfig.json --watch",
|
|
92
|
+
"clean": "rm -rf dist *.tsbuildinfo",
|
|
93
|
+
"lint": "eslint src --max-warnings=0",
|
|
94
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
95
|
+
"test": "vitest run",
|
|
96
|
+
"format": "prettier --write \"**/*.{ts,json,md,yml,yaml}\"",
|
|
97
|
+
"format:check": "prettier --check \"**/*.{ts,json,md,yml,yaml}\""
|
|
90
98
|
}
|
|
91
|
-
}
|
|
99
|
+
}
|
package/src/hooks/session-end.sh
CHANGED
|
File without changes
|
|
File without changes
|
package/src/hooks/stop.sh
CHANGED
|
File without changes
|