aiblueprint-cli 1.1.4 → 1.1.8
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 +496 -41
- package/claude-code-config/agents/action.md +36 -0
- package/claude-code-config/agents/explore-codebase.md +6 -0
- package/claude-code-config/agents/explore-docs.md +88 -0
- package/claude-code-config/agents/fix-grammar.md +49 -0
- package/claude-code-config/agents/snipper.md +2 -0
- package/claude-code-config/agents/websearch.md +1 -0
- package/claude-code-config/commands/commit.md +1 -1
- package/claude-code-config/commands/debug.md +91 -0
- package/claude-code-config/commands/epct/code.md +171 -0
- package/claude-code-config/commands/epct/deploy.md +116 -0
- package/claude-code-config/commands/epct/explore.md +97 -0
- package/claude-code-config/commands/epct/plan.md +132 -0
- package/claude-code-config/commands/epct/tasks.md +206 -0
- package/claude-code-config/commands/explore.md +45 -0
- package/claude-code-config/commands/melvynx-plugin.md +1 -0
- package/claude-code-config/commands/oneshot.md +57 -0
- package/claude-code-config/hooks/hooks.json +15 -0
- package/claude-code-config/scripts/statusline/CLAUDE.md +178 -0
- package/claude-code-config/scripts/statusline/README.md +105 -0
- package/claude-code-config/scripts/statusline/biome.json +34 -0
- package/claude-code-config/scripts/statusline/bun.lockb +0 -0
- package/claude-code-config/scripts/statusline/data/.gitignore +5 -0
- package/claude-code-config/scripts/statusline/fixtures/test-input.json +25 -0
- package/claude-code-config/scripts/statusline/package.json +21 -0
- package/claude-code-config/scripts/statusline/src/commands/CLAUDE.md +3 -0
- package/claude-code-config/scripts/statusline/src/commands/spend-month.ts +60 -0
- package/claude-code-config/scripts/statusline/src/commands/spend-today.ts +42 -0
- package/claude-code-config/scripts/statusline/src/index.ts +141 -0
- package/claude-code-config/scripts/statusline/src/lib/context.ts +103 -0
- package/claude-code-config/scripts/statusline/src/lib/formatters.ts +218 -0
- package/claude-code-config/scripts/statusline/src/lib/git.ts +100 -0
- package/claude-code-config/scripts/statusline/src/lib/spend.ts +119 -0
- package/claude-code-config/scripts/statusline/src/lib/types.ts +25 -0
- package/claude-code-config/scripts/statusline/src/lib/usage-limits.ts +147 -0
- package/claude-code-config/scripts/statusline/statusline.config.ts +122 -0
- package/claude-code-config/scripts/statusline/test.ts +20 -0
- package/claude-code-config/scripts/statusline/tsconfig.json +27 -0
- package/dist/cli.js +722 -256
- package/package.json +1 -2
- package/claude-code-config/output-styles/assistant.md +0 -15
- package/claude-code-config/output-styles/honnest.md +0 -9
- package/claude-code-config/output-styles/senior-dev.md +0 -14
- package/claude-code-config/scripts/statusline-ccusage.sh +0 -188
- package/claude-code-config/scripts/statusline.readme.md +0 -194
- /package/claude-code-config/{hooks → scripts}/hook-post-file.ts +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export type Separator =
|
|
2
|
+
| "|"
|
|
3
|
+
| "•"
|
|
4
|
+
| "·"
|
|
5
|
+
| "⋅"
|
|
6
|
+
| "●"
|
|
7
|
+
| "◆"
|
|
8
|
+
| "▪"
|
|
9
|
+
| "▸"
|
|
10
|
+
| "›"
|
|
11
|
+
| "→";
|
|
12
|
+
|
|
13
|
+
export interface StatuslineConfig {
|
|
14
|
+
// Display everything on one line (separated by separator) or two lines
|
|
15
|
+
oneLine: boolean;
|
|
16
|
+
|
|
17
|
+
// Show model name even when using Sonnet (default model)
|
|
18
|
+
showSonnetModel: boolean;
|
|
19
|
+
|
|
20
|
+
// Path display mode:
|
|
21
|
+
// - "full": Show complete path with ~ substitution
|
|
22
|
+
// - "truncated": Show only last 2 segments
|
|
23
|
+
// - "basename": Show only the directory name
|
|
24
|
+
pathDisplayMode: "full" | "truncated" | "basename";
|
|
25
|
+
|
|
26
|
+
// Git display configuration
|
|
27
|
+
git: {
|
|
28
|
+
// Show current branch name
|
|
29
|
+
showBranch: boolean;
|
|
30
|
+
// Show * indicator when branch has changes
|
|
31
|
+
showDirtyIndicator: boolean;
|
|
32
|
+
// Show added/deleted lines count
|
|
33
|
+
showChanges: boolean;
|
|
34
|
+
// Show staged files count (gray color)
|
|
35
|
+
showStaged: boolean;
|
|
36
|
+
// Show unstaged files count (yellow color)
|
|
37
|
+
showUnstaged: boolean;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// Separator character between sections
|
|
41
|
+
// Options: "|", "•", "·", "⋅", "●", "◆", "▪", "▸", "›", "→"
|
|
42
|
+
separator: Separator;
|
|
43
|
+
|
|
44
|
+
// Session display configuration
|
|
45
|
+
session: {
|
|
46
|
+
// Separator character between session info (cost, tokens, percentage)
|
|
47
|
+
// Options: "|", "•", "·", "⋅", "●", "◆", "▪", "▸", "›", "→"
|
|
48
|
+
// Use null for single space separator
|
|
49
|
+
infoSeparator: Separator | null;
|
|
50
|
+
// Show session cost in USD
|
|
51
|
+
showCost: boolean;
|
|
52
|
+
// Show token count
|
|
53
|
+
showTokens: boolean;
|
|
54
|
+
// Show max tokens (e.g., "192k/200k" vs "192k")
|
|
55
|
+
showMaxTokens: boolean;
|
|
56
|
+
// Show decimals in token count (e.g., "192.1k" vs "192k")
|
|
57
|
+
showTokenDecimals: boolean;
|
|
58
|
+
// Show context percentage
|
|
59
|
+
showPercentage: boolean;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// Context display configuration
|
|
63
|
+
context: {
|
|
64
|
+
// Maximum context window size (Claude's hard limit)
|
|
65
|
+
maxContextTokens: number;
|
|
66
|
+
// Autocompact buffer size (reserved for safety)
|
|
67
|
+
autocompactBufferTokens: number;
|
|
68
|
+
// Use only usable context (includes autocompact buffer in display) vs just transcript
|
|
69
|
+
useUsableContextOnly: boolean;
|
|
70
|
+
// Approximate tokens overhead for system (prompts, tools, memory files)
|
|
71
|
+
// Default ~20k includes: system prompts (~3k) + tools (~12k) + memory (~5k)
|
|
72
|
+
// Set to 0 to show only transcript tokens
|
|
73
|
+
overheadTokens: number;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// Limits display configuration
|
|
77
|
+
limits: {
|
|
78
|
+
// Show progress bar instead of just percentage
|
|
79
|
+
showProgressBar: boolean;
|
|
80
|
+
// Progress bar length (number of characters)
|
|
81
|
+
progressBarLength: 5 | 10;
|
|
82
|
+
// Progress bar color mode:
|
|
83
|
+
// - "progressive": Changes color based on usage (gray < 50%, yellow < 70%, orange < 90%, red >= 90%)
|
|
84
|
+
// - "green": Always green
|
|
85
|
+
// - "yellow": Always yellow
|
|
86
|
+
// - "red": Always red
|
|
87
|
+
color: "progressive" | "green" | "yellow" | "red";
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export const defaultConfig: StatuslineConfig = {
|
|
92
|
+
oneLine: true,
|
|
93
|
+
showSonnetModel: false,
|
|
94
|
+
pathDisplayMode: "truncated",
|
|
95
|
+
git: {
|
|
96
|
+
showBranch: true,
|
|
97
|
+
showDirtyIndicator: true,
|
|
98
|
+
showChanges: false,
|
|
99
|
+
showStaged: true,
|
|
100
|
+
showUnstaged: true,
|
|
101
|
+
},
|
|
102
|
+
separator: "•",
|
|
103
|
+
session: {
|
|
104
|
+
infoSeparator: null,
|
|
105
|
+
showCost: false,
|
|
106
|
+
showTokens: true,
|
|
107
|
+
showMaxTokens: false,
|
|
108
|
+
showTokenDecimals: false,
|
|
109
|
+
showPercentage: true,
|
|
110
|
+
},
|
|
111
|
+
context: {
|
|
112
|
+
maxContextTokens: 200000,
|
|
113
|
+
autocompactBufferTokens: 45000,
|
|
114
|
+
useUsableContextOnly: true,
|
|
115
|
+
overheadTokens: 0,
|
|
116
|
+
},
|
|
117
|
+
limits: {
|
|
118
|
+
showProgressBar: true,
|
|
119
|
+
progressBarLength: 5,
|
|
120
|
+
color: "progressive",
|
|
121
|
+
},
|
|
122
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { $ } from "bun";
|
|
5
|
+
|
|
6
|
+
const fixtureFile = process.argv[2] || "fixtures/test-input.json";
|
|
7
|
+
const fixtureFullPath = join(import.meta.dir, fixtureFile);
|
|
8
|
+
|
|
9
|
+
console.log(`\n📝 Testing with fixture: ${fixtureFile}\n`);
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
const content = await Bun.file(fixtureFullPath).text();
|
|
13
|
+
const result = await $`echo ${content} | bun run src/index.ts`.text();
|
|
14
|
+
|
|
15
|
+
console.log(result);
|
|
16
|
+
console.log("\n✅ Test completed successfully!\n");
|
|
17
|
+
} catch (error) {
|
|
18
|
+
console.error("❌ Test failed:", error);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
// Enable latest features
|
|
4
|
+
"lib": ["ESNext", "DOM"],
|
|
5
|
+
"target": "ESNext",
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"moduleDetection": "force",
|
|
8
|
+
"jsx": "react-jsx",
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
|
|
11
|
+
// Bundler mode
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"allowImportingTsExtensions": true,
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"noEmit": true,
|
|
16
|
+
|
|
17
|
+
// Best practices
|
|
18
|
+
"strict": true,
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
|
|
22
|
+
// Some stricter flags (disabled by default)
|
|
23
|
+
"noUnusedLocals": false,
|
|
24
|
+
"noUnusedParameters": false,
|
|
25
|
+
"noPropertyAccessFromIndexSignature": false
|
|
26
|
+
}
|
|
27
|
+
}
|