claude-starter 1.3.5 → 1.4.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.
Files changed (3) hide show
  1. package/README.md +13 -0
  2. package/index.js +25 -0
  3. package/package.json +10 -2
package/README.md CHANGED
@@ -15,6 +15,10 @@
15
15
  <strong>Claude Code 的主页。</strong>你的所有会话,一目了然。
16
16
  </p>
17
17
 
18
+ <p align="center">
19
+ Built for <strong>AI-native developer workflows</strong>: local-first, searchable, resumable, and fast — so the next session starts faster than the last one ended.
20
+ </p>
21
+
18
22
  <p align="center">
19
23
  <code>npm install -g claude-starter</code>&nbsp;&nbsp;→&nbsp;&nbsp;<code>claude-starter</code>
20
24
  </p>
@@ -31,6 +35,8 @@
31
35
 
32
36
  Claude Code's `/resume` gives you a wall of UUIDs:
33
37
 
38
+ If you use Claude Code as part of a real development loop, session history stops being archive data and becomes working context. You need to find old agent work by repo, topic, and intent — not by opaque IDs.
39
+
34
40
  ```
35
41
  ? Select a conversation
36
42
  3ee0f33a-b882-424f-9ba4-260342e4dd5b - 4/3/2026, 10:53:41 AM
@@ -48,6 +54,8 @@ claude-starter
48
54
 
49
55
  Beautiful split-pane UI with Tokyo Night colors. The left panel shows every session with project, time, and topic. The right panel previews the full conversation. Not UUIDs — your **actual words**.
50
56
 
57
+ `claude-starter` is built for developers treating coding agents as part of a daily workflow: keep everything local, cut resume friction, and make past conversations actually reusable.
58
+
51
59
  ## 🔍 Search — The Killer Feature
52
60
 
53
61
  Press `/` and start typing. **That's it.** No Enter needed.
@@ -140,6 +148,11 @@ Reads the JSONL session files from `~/.claude/projects/`, parses metadata and co
140
148
  - **Node.js** >= 18
141
149
  - **Claude Code** ([`claude`](https://docs.anthropic.com/en/docs/claude-code) in PATH)
142
150
 
151
+ ## Related Projects
152
+
153
+ - **[codex-starter](https://github.com/Bojun-Vvibe/codex-starter)** — the Codex counterpart with the same local-first workflow philosophy
154
+ - **[Bojun-Vvibe](https://github.com/Bojun-Vvibe)** — more terminal UX and AI-native workflow experiments
155
+
143
156
  ## License
144
157
 
145
158
  MIT
package/index.js CHANGED
@@ -9,6 +9,7 @@
9
9
  * claude-starter # Launch interactive TUI
10
10
  * claude-starter --list # Print sessions as a table (no TUI)
11
11
  * claude-starter --list N # Print the latest N sessions
12
+ * claude-starter --exclude "pat" # Exclude sessions matching regex (repeatable)
12
13
  * claude-starter --version # Show version
13
14
  * claude-starter --update # Update to the latest version
14
15
  *
@@ -35,6 +36,10 @@ const path = require('path');
35
36
  const { spawn, execSync } = require('child_process');
36
37
  const os = require('os');
37
38
 
39
+ let excludePatterns = [];
40
+
41
+ function setExcludePatterns(patterns) { excludePatterns = patterns; }
42
+
38
43
  // ─── CLI Detection ──────────────────────────────────────────────────────────
39
44
  // Detect whether `mai-claude` is available (binary, alias, or function).
40
45
  // First checks PATH directly, then sources shell config non-interactively
@@ -417,6 +422,7 @@ function loadAllSessions() {
417
422
  if (session.firstTs
418
423
  && session.topic !== '(no user messages)'
419
424
  && !/^warmup$/i.test(session.topic.trim())
425
+ && !excludePatterns.some(re => re.test(session.topic))
420
426
  ) sessions.push(session);
421
427
  } catch (e) { /* skip */ }
422
428
  }
@@ -1532,6 +1538,7 @@ if (typeof module !== 'undefined') {
1532
1538
  getEffectivePermissionMode,
1533
1539
  setSessionPermissionMode,
1534
1540
  setGlobalPermissionMode,
1541
+ setExcludePatterns,
1535
1542
  // Constants
1536
1543
  PERMISSION_MODES,
1537
1544
  PROJECT_COLORS,
@@ -1555,6 +1562,20 @@ if (require.main === module) {
1555
1562
 
1556
1563
  const args = process.argv.slice(2);
1557
1564
 
1565
+ for (let i = 0; i < args.length; i++) {
1566
+ if (args[i] === '--exclude' && args[i + 1]) {
1567
+ try { excludePatterns.push(new RegExp(args[i + 1], 'i')); } catch {}
1568
+ i++;
1569
+ }
1570
+ }
1571
+ if (process.env.CLAUDE_STARTER_EXCLUDE) {
1572
+ for (const p of process.env.CLAUDE_STARTER_EXCLUDE.split(',')) {
1573
+ if (p.trim()) {
1574
+ try { excludePatterns.push(new RegExp(p.trim(), 'i')); } catch {}
1575
+ }
1576
+ }
1577
+ }
1578
+
1558
1579
  if (args.includes('--version') || args.includes('-v') || args.includes('-V')) {
1559
1580
  console.log(`claude-starter v${PKG.version}`);
1560
1581
  process.exit(0);
@@ -1606,10 +1627,14 @@ if (require.main === module) {
1606
1627
  Usage:
1607
1628
  claude-starter Launch interactive TUI
1608
1629
  claude-starter --list [N] Print latest N sessions (default: 30)
1630
+ claude-starter --exclude "pat" Exclude sessions matching regex (repeatable)
1609
1631
  claude-starter --version Show version
1610
1632
  claude-starter --update Update to the latest version
1611
1633
  claude-starter --help Show this help
1612
1634
 
1635
+ Environment Variables:
1636
+ CLAUDE_STARTER_EXCLUDE=pat1,pat2 Comma-separated regex patterns to exclude
1637
+
1613
1638
  TUI Keyboard Shortcuts:
1614
1639
  ↑/↓ Navigate sessions
1615
1640
  Enter Start new / resume selected session
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-starter",
3
- "version": "1.3.5",
3
+ "version": "1.4.0",
4
4
  "description": "A beautiful terminal UI for managing Claude Code sessions — start new or resume past conversations",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -20,7 +20,11 @@
20
20
  "terminal",
21
21
  "session",
22
22
  "resume",
23
- "ai"
23
+ "ai",
24
+ "ai-native",
25
+ "developer-workflow",
26
+ "local-first",
27
+ "agentic-tooling"
24
28
  ],
25
29
  "author": "Bojun Chai <just_cbj@sina.com>",
26
30
  "license": "MIT",
@@ -28,6 +32,10 @@
28
32
  "type": "git",
29
33
  "url": "https://github.com/Bojun-Vvibe/claude-starter.git"
30
34
  },
35
+ "homepage": "https://github.com/Bojun-Vvibe/claude-starter#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/Bojun-Vvibe/claude-starter/issues"
38
+ },
31
39
  "engines": {
32
40
  "node": ">=18"
33
41
  },