claude-jump 1.0.0 → 1.0.1
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 +12 -37
- package/bin/{cc-scan.js → cj-scan.js} +1 -1
- package/bin/{cc.js → cj.js} +3 -3
- package/lib/setup.js +6 -6
- package/package.json +6 -6
- /package/bin/{cc-setup.js → cj-setup.js} +0 -0
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# claude-
|
|
1
|
+
# claude-jump
|
|
2
2
|
|
|
3
3
|
Jump to any project (interactive menu, ranked by how often/recently you use it) and launch [Claude Code](https://claude.com/claude-code) in one command — instead of `cd`-ing there by hand every time.
|
|
4
4
|
|
|
@@ -6,8 +6,6 @@ Built on [`zoxide`](https://github.com/ajeetdsouza/zoxide) (recent/frequent dire
|
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
|
-
### Via npm / pnpm / bun (recommended)
|
|
10
|
-
|
|
11
9
|
```sh
|
|
12
10
|
npm i -g claude-jump
|
|
13
11
|
# or
|
|
@@ -16,28 +14,12 @@ pnpm add -g claude-jump
|
|
|
16
14
|
bun add -g claude-jump
|
|
17
15
|
```
|
|
18
16
|
|
|
19
|
-
This installs the `
|
|
20
|
-
|
|
21
|
-
pnpm and bun block install scripts by default for security, so the setup step may not run automatically. If `cc` doesn't work after install, run the setup manually:
|
|
22
|
-
|
|
23
|
-
```sh
|
|
24
|
-
cc-setup
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Then restart your terminal, or run `source ~/.zshrc` (or `~/.bashrc`).
|
|
28
|
-
|
|
29
|
-
### Via curl (no Node.js required)
|
|
30
|
-
|
|
31
|
-
```sh
|
|
32
|
-
curl -fsSL https://raw.githubusercontent.com/achilledavid/claude-cc/main/install.sh | bash
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
This installs `fzf` and `zoxide` if missing, and adds a `cc` shell function to your rc file (zsh or bash). Unlike the npm install, `cc` here is a shell function, not a binary — it can `cd` you into the project directly and keep you there after you quit Claude Code.
|
|
17
|
+
This installs the `cj`, `cj-scan` and `cj-setup` commands globally, and runs a setup step that installs `fzf` and `zoxide` if missing (via Homebrew / apt / dnf / pacman) and adds the `zoxide` shell hook to your rc file (zsh or bash).
|
|
36
18
|
|
|
37
|
-
|
|
19
|
+
pnpm and bun block install scripts by default for security, so the setup step may not run automatically. If `cj` doesn't work after install, run the setup manually:
|
|
38
20
|
|
|
39
21
|
```sh
|
|
40
|
-
|
|
22
|
+
cj-setup
|
|
41
23
|
```
|
|
42
24
|
|
|
43
25
|
Then restart your terminal, or run `source ~/.zshrc` (or `~/.bashrc`).
|
|
@@ -45,15 +27,15 @@ Then restart your terminal, or run `source ~/.zshrc` (or `~/.bashrc`).
|
|
|
45
27
|
## Usage
|
|
46
28
|
|
|
47
29
|
```sh
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
cj # interactive menu of your projects, launches Claude Code in the one you pick
|
|
31
|
+
cj myproject # jump straight to the best match for "myproject", no menu
|
|
50
32
|
```
|
|
51
33
|
|
|
52
34
|
The project list starts empty and fills up naturally as you `cd` around (that's what `zoxide` tracks). To seed it immediately with your existing projects:
|
|
53
35
|
|
|
54
36
|
```sh
|
|
55
|
-
|
|
56
|
-
|
|
37
|
+
cj-scan ~/Desktop ~/Documents # finds every git repo under these paths and adds it to the list
|
|
38
|
+
cj-scan # defaults to scanning the current directory
|
|
57
39
|
```
|
|
58
40
|
|
|
59
41
|
## Uninstall
|
|
@@ -66,21 +48,14 @@ pnpm remove -g claude-jump
|
|
|
66
48
|
bun remove -g claude-jump
|
|
67
49
|
```
|
|
68
50
|
|
|
69
|
-
This removes the `
|
|
70
|
-
|
|
71
|
-
If you installed via curl instead:
|
|
72
|
-
|
|
73
|
-
```sh
|
|
74
|
-
curl -fsSL https://raw.githubusercontent.com/achilledavid/claude-cc/main/uninstall.sh | bash
|
|
75
|
-
```
|
|
51
|
+
This removes the `cj`, `cj-scan` and `cj-setup` commands and the `zoxide` hook block from your shell rc file. `fzf` and `zoxide` themselves are left installed since other tools may use them.
|
|
76
52
|
|
|
77
53
|
## How it works
|
|
78
54
|
|
|
79
55
|
- `zoxide` maintains a frecency-ranked (frequency + recency) database of directories you visit.
|
|
80
|
-
- `
|
|
81
|
-
- `
|
|
82
|
-
-
|
|
83
|
-
- **curl install**: `cc` is a shell function sourced from `~/.claude-cc/cc.sh`, so it `cd`s your actual shell into the project and you stay there after quitting Claude Code.
|
|
56
|
+
- `cj` opens that list through `fzf` for a fuzzy interactive pick, then launches `claude` in that directory.
|
|
57
|
+
- `cj <name>` skips the menu and jumps to `zoxide`'s best match directly.
|
|
58
|
+
- `cj` is a real binary (`bin/cj.js`), so quitting Claude Code leaves you back where you started — it doesn't persist a `cd` in your shell.
|
|
84
59
|
|
|
85
60
|
## License
|
|
86
61
|
|
package/bin/{cc.js → cj.js}
RENAMED
|
@@ -10,7 +10,7 @@ function commandExists(cmd) {
|
|
|
10
10
|
function requireDeps(deps) {
|
|
11
11
|
const missing = deps.filter((d) => !commandExists(d));
|
|
12
12
|
if (missing.length > 0) {
|
|
13
|
-
console.error(`
|
|
13
|
+
console.error(`cj: missing ${missing.join(', ')}. Run: cj-setup`);
|
|
14
14
|
process.exit(1);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -19,7 +19,7 @@ function pickDirectMatch(args) {
|
|
|
19
19
|
const result = spawnSync('zoxide', ['query', '--', ...args], { encoding: 'utf8' });
|
|
20
20
|
const dir = (result.stdout || '').trim();
|
|
21
21
|
if (!dir) {
|
|
22
|
-
console.error(`
|
|
22
|
+
console.error(`cj: no match for '${args.join(' ')}'`);
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
25
|
return dir;
|
|
@@ -46,7 +46,7 @@ function main() {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
if (!commandExists('claude')) {
|
|
49
|
-
console.error("
|
|
49
|
+
console.error("cj: 'claude' (Claude Code CLI) was not found in PATH.");
|
|
50
50
|
process.exit(1);
|
|
51
51
|
}
|
|
52
52
|
|
package/lib/setup.js
CHANGED
|
@@ -42,7 +42,7 @@ function installDeps() {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
console.log('!! Could not detect a supported package manager (brew/apt/dnf/pacman).');
|
|
45
|
-
console.log(' Please install manually, then re-run:
|
|
45
|
+
console.log(' Please install manually, then re-run: cj-setup');
|
|
46
46
|
console.log(' fzf: https://github.com/junegunn/fzf#installation');
|
|
47
47
|
console.log(' zoxide: https://github.com/ajeetdsouza/zoxide#installation');
|
|
48
48
|
return false;
|
|
@@ -92,7 +92,7 @@ function run() {
|
|
|
92
92
|
const forced = process.env.CLAUDE_JUMP_FORCE_SETUP === '1';
|
|
93
93
|
if (!isGlobal && !forced) {
|
|
94
94
|
console.log('==> claude-jump: skipping shell setup (not a global install).');
|
|
95
|
-
console.log(' Install globally instead, or run `
|
|
95
|
+
console.log(' Install globally instead, or run `cj-setup` by hand:');
|
|
96
96
|
console.log(' npm i -g claude-jump / pnpm add -g claude-jump / bun add -g claude-jump');
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
@@ -102,7 +102,7 @@ function run() {
|
|
|
102
102
|
|
|
103
103
|
if (!commandExists('claude')) {
|
|
104
104
|
console.log("!! Warning: 'claude' (Claude Code CLI) was not found in PATH.");
|
|
105
|
-
console.log(" claude-jump will still work, but '
|
|
105
|
+
console.log(" claude-jump will still work, but 'cj' needs it to launch anything.");
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
const rcFile = addShellHook();
|
|
@@ -110,10 +110,10 @@ function run() {
|
|
|
110
110
|
console.log('');
|
|
111
111
|
console.log(`==> Shell hook added to ${rcFile}`);
|
|
112
112
|
console.log('==> Restart your shell or run: source ' + rcFile);
|
|
113
|
-
console.log('==> Seed your recent projects:
|
|
113
|
+
console.log('==> Seed your recent projects: cj-scan ~/Desktop ~/Documents');
|
|
114
114
|
console.log('==> Use it:');
|
|
115
|
-
console.log('
|
|
116
|
-
console.log('
|
|
115
|
+
console.log(' cj interactive menu');
|
|
116
|
+
console.log(' cj <name> jump directly');
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
module.exports = { run, addShellHook, installDeps, detectRcFile, detectShellName };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-jump",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Jump to any project (interactive menu, ranked by frecency) and launch Claude Code in one command.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
@@ -10,17 +10,17 @@
|
|
|
10
10
|
"fzf",
|
|
11
11
|
"productivity"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/achilledavid/claude-
|
|
13
|
+
"homepage": "https://github.com/achilledavid/claude-jump#readme",
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "git+https://github.com/achilledavid/claude-
|
|
16
|
+
"url": "git+https://github.com/achilledavid/claude-jump.git"
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"author": "Achille David",
|
|
20
20
|
"bin": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
21
|
+
"cj": "bin/cj.js",
|
|
22
|
+
"cj-scan": "bin/cj-scan.js",
|
|
23
|
+
"cj-setup": "bin/cj-setup.js"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
"bin",
|
|
File without changes
|