aiblueprint-cli 1.4.59 → 1.4.60
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 +16 -36
- package/agents-config/agents/action.md +1 -1
- package/agents-config/agents/explore-codebase.md +53 -53
- package/agents-config/agents/explore-docs.md +50 -69
- package/agents-config/agents/websearch.md +36 -40
- package/agents-config/claude-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/agents-config/claude-config/scripts/CLAUDE.md +10 -4
- package/agents-config/claude-config/scripts/bun.lockb +0 -0
- package/agents-config/claude-config/scripts/package.json +22 -30
- package/agents-config/claude-config/scripts/statusline/CLAUDE.md +37 -155
- package/agents-config/claude-config/scripts/statusline/README.md +18 -94
- package/agents-config/claude-config/scripts/statusline/defaults.json +13 -10
- package/agents-config/claude-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -4
- package/agents-config/claude-config/scripts/statusline/fixtures/test-input.json +4 -4
- package/agents-config/claude-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
- package/agents-config/claude-config/scripts/statusline/src/index.ts +33 -82
- package/agents-config/claude-config/scripts/statusline/src/lib/config-types.ts +7 -1
- package/agents-config/claude-config/scripts/statusline/src/lib/formatters.ts +40 -0
- package/agents-config/claude-config/scripts/statusline/src/lib/presets.ts +13 -13
- package/agents-config/claude-config/scripts/statusline/src/lib/render-pure.ts +24 -5
- package/agents-config/claude-config/scripts/statusline/statusline.config.free.json +79 -0
- package/agents-config/claude-config/scripts/statusline/statusline.config.json +77 -77
- package/agents-config/commands/prompts/create-vitejs-app.md +272 -0
- package/agents-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
- package/agents-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
- package/agents-config/commands/prompts/nextjs-setup-project.md +200 -0
- package/agents-config/commands/prompts/prompt.md +55 -0
- package/agents-config/commands/prompts/saas-challenge-idea.md +135 -0
- package/agents-config/commands/prompts/saas-create-architecture.md +242 -0
- package/agents-config/commands/prompts/saas-create-headline.md +132 -0
- package/agents-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
- package/agents-config/commands/prompts/saas-create-legals-docs.md +176 -0
- package/agents-config/commands/prompts/saas-create-logos.md +240 -0
- package/agents-config/commands/prompts/saas-create-prd.md +195 -0
- package/agents-config/commands/prompts/saas-create-tasks.md +240 -0
- package/agents-config/commands/prompts/saas-define-pricing.md +293 -0
- package/agents-config/commands/prompts/saas-find-domain-name.md +190 -0
- package/agents-config/commands/prompts/saas-implement-landing-page.md +257 -0
- package/agents-config/commands/prompts/setup-tmux.md +160 -0
- package/agents-config/commands/prompts/tools.md +148 -0
- package/agents-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/agents-config/scripts/CLAUDE.md +37 -0
- package/agents-config/scripts/biome.json +37 -0
- package/agents-config/scripts/bun.lockb +0 -0
- package/agents-config/scripts/package.json +24 -0
- package/agents-config/scripts/statusline/CLAUDE.md +87 -0
- package/agents-config/scripts/statusline/README.md +117 -0
- package/agents-config/scripts/statusline/__tests__/context.test.ts +229 -0
- package/agents-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
- package/agents-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
- package/agents-config/scripts/statusline/defaults.json +82 -0
- package/agents-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
- package/agents-config/scripts/statusline/fixtures/test-input.json +35 -0
- package/agents-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
- package/agents-config/scripts/statusline/src/index.ts +141 -0
- package/agents-config/scripts/statusline/src/lib/config-types.ts +110 -0
- package/agents-config/scripts/statusline/src/lib/config.ts +21 -0
- package/agents-config/scripts/statusline/src/lib/context.ts +103 -0
- package/agents-config/scripts/statusline/src/lib/formatters.ts +426 -0
- package/agents-config/scripts/statusline/src/lib/git.ts +100 -0
- package/agents-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
- package/agents-config/scripts/statusline/src/lib/presets.ts +177 -0
- package/agents-config/scripts/statusline/src/lib/render-pure.ts +516 -0
- package/agents-config/scripts/statusline/src/lib/types.ts +36 -0
- package/agents-config/scripts/statusline/src/lib/utils.ts +15 -0
- package/agents-config/scripts/statusline/statusline.config.free.json +79 -0
- package/agents-config/scripts/statusline/statusline.config.json +79 -0
- package/agents-config/scripts/statusline/test-with-fixtures.ts +37 -0
- package/agents-config/scripts/statusline/test.ts +20 -0
- package/agents-config/scripts/statusline/tsconfig.json +27 -0
- package/agents-config/scripts/tsconfig.json +27 -0
- package/agents-config/skills/{subagent-creator → agents-managers}/SKILL.md +47 -47
- package/agents-config/skills/{subagent-creator/references/subagents.md → agents-managers/references/agents.md} +45 -45
- package/agents-config/skills/{subagent-creator → agents-managers}/references/context-management.md +20 -20
- package/agents-config/skills/{subagent-creator → agents-managers}/references/debugging-agents.md +27 -27
- package/agents-config/skills/{subagent-creator → agents-managers}/references/error-handling-and-recovery.md +19 -19
- package/agents-config/skills/{subagent-creator → agents-managers}/references/evaluation-and-testing.md +29 -29
- package/agents-config/skills/{subagent-creator → agents-managers}/references/orchestration-patterns.md +5 -5
- package/agents-config/skills/{subagent-creator/references/writing-subagent-prompts.md → agents-managers/references/writing-agent-prompts.md} +23 -23
- package/agents-config/skills/codex-environment/SKILL.md +2 -0
- package/agents-config/skills/commit/SKILL.md +2 -0
- package/agents-config/skills/create-pr/SKILL.md +2 -0
- package/agents-config/skills/environments-manager/SKILL.md +271 -0
- package/agents-config/skills/environments-manager/examples/claude/.worktreeinclude +3 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/dev.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/lint.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/test.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/commands/typecheck.md +5 -0
- package/agents-config/skills/environments-manager/examples/claude/settings.json +24 -0
- package/agents-config/skills/environments-manager/examples/codex/environments/environment.toml +29 -0
- package/agents-config/skills/environments-manager/examples/cursor/worktrees.json +3 -0
- package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-create.sh +96 -0
- package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-remove.sh +66 -0
- package/agents-config/skills/environments-manager/examples/scripts/dev.sh +15 -0
- package/agents-config/skills/environments-manager/examples/scripts/worktree-down.sh +22 -0
- package/agents-config/skills/environments-manager/examples/scripts/worktree-up.sh +50 -0
- package/agents-config/skills/environments-manager/references/claude.md +156 -0
- package/agents-config/skills/environments-manager/references/codex.md +97 -0
- package/agents-config/skills/environments-manager/references/cursor.md +88 -0
- package/agents-config/skills/fix-pr-comments/SKILL.md +2 -0
- package/agents-config/skills/grill-me/SKILL.md +10 -0
- package/agents-config/skills/merge/SKILL.md +2 -0
- package/agents-config/skills/rules-manager/SKILL.md +191 -0
- package/agents-config/skills/rules-manager/references/agents-vs-claude.md +66 -0
- package/agents-config/skills/rules-manager/references/examples.md +117 -0
- package/agents-config/skills/skill-manager/SKILL.md +83 -0
- package/agents-config/skills/skill-manager/references/claude-code.md +81 -0
- package/agents-config/skills/skill-manager/references/codex.md +288 -0
- package/agents-config/skills/skill-manager/references/cursor.md +125 -0
- package/agents-config/skills/ultrathink/SKILL.md +2 -0
- package/package.json +1 -1
- package/agents-config/claude-config/scripts/statusline/data/.gitignore +0 -8
- package/agents-config/claude-config/scripts/statusline/data/.gitkeep +0 -0
- package/agents-config/claude-config/scripts/statusline/docs/ARCHITECTURE.md +0 -166
- package/agents-config/claude-config/scripts/statusline/src/tests/spend-v2.test.ts +0 -306
- package/agents-config/skills/apex/SKILL.md +0 -261
- package/agents-config/skills/apex/scripts/setup-templates.sh +0 -100
- package/agents-config/skills/apex/scripts/update-progress.sh +0 -80
- package/agents-config/skills/apex/steps/step-00-init.md +0 -267
- package/agents-config/skills/apex/steps/step-00b-branch.md +0 -126
- package/agents-config/skills/apex/steps/step-00b-economy.md +0 -244
- package/agents-config/skills/apex/steps/step-00b-interactive.md +0 -153
- package/agents-config/skills/apex/steps/step-01-analyze.md +0 -361
- package/agents-config/skills/apex/steps/step-02-plan.md +0 -264
- package/agents-config/skills/apex/steps/step-03-execute.md +0 -239
- package/agents-config/skills/apex/steps/step-04-validate.md +0 -251
- package/agents-config/skills/apex/templates/00-context.md +0 -43
- package/agents-config/skills/apex/templates/01-analyze.md +0 -10
- package/agents-config/skills/apex/templates/02-plan.md +0 -10
- package/agents-config/skills/apex/templates/03-execute.md +0 -10
- package/agents-config/skills/apex/templates/04-validate.md +0 -10
- package/agents-config/skills/apex/templates/README.md +0 -176
- package/agents-config/skills/apex/templates/step-complete.md +0 -7
- package/agents-config/skills/claude-memory/SKILL.md +0 -293
- package/agents-config/skills/claude-memory/references/comprehensive-example.md +0 -175
- package/agents-config/skills/claude-memory/references/optimize-guide.md +0 -300
- package/agents-config/skills/claude-memory/references/project-patterns.md +0 -334
- package/agents-config/skills/claude-memory/references/prompting-techniques.md +0 -411
- package/agents-config/skills/claude-memory/references/rules-directory-guide.md +0 -298
- package/agents-config/skills/claude-memory/references/section-templates.md +0 -347
- package/agents-config/skills/fix-errors/SKILL.md +0 -61
- package/agents-config/skills/fix-grammar/SKILL.md +0 -59
- package/agents-config/skills/ralph-loop/SKILL.md +0 -117
- package/agents-config/skills/ralph-loop/scripts/setup.sh +0 -278
- package/agents-config/skills/ralph-loop/steps/step-00-init.md +0 -215
- package/agents-config/skills/ralph-loop/steps/step-01-interactive-prd.md +0 -366
- package/agents-config/skills/ralph-loop/steps/step-02-create-stories.md +0 -273
- package/agents-config/skills/ralph-loop/steps/step-03-finish.md +0 -245
- package/agents-config/skills/skill-creator/LICENSE.txt +0 -202
- package/agents-config/skills/skill-creator/SKILL.md +0 -421
- package/agents-config/skills/skill-creator/package.json +0 -5
- package/agents-config/skills/skill-creator/references/output-patterns.md +0 -82
- package/agents-config/skills/skill-creator/references/progressive-disclosure-patterns.md +0 -374
- package/agents-config/skills/skill-creator/references/prompting-integration.md +0 -363
- package/agents-config/skills/skill-creator/references/real-world-examples.md +0 -513
- package/agents-config/skills/skill-creator/references/script-patterns.md +0 -385
- package/agents-config/skills/skill-creator/references/workflows.md +0 -28
- package/agents-config/skills/skill-creator/references/xml-tag-guide.md +0 -606
- package/agents-config/skills/skill-creator/scripts/init-skill.ts +0 -214
- package/agents-config/skills/skill-creator/scripts/package-skill.ts +0 -146
- package/agents-config/skills/skill-creator/scripts/validate.ts +0 -138
- package/agents-config/skills/workflow-apex-free/SKILL.md +0 -261
- package/agents-config/skills/workflow-apex-free/scripts/setup-templates.sh +0 -100
- package/agents-config/skills/workflow-apex-free/scripts/update-progress.sh +0 -80
- package/agents-config/skills/workflow-apex-free/steps/step-00-init.md +0 -267
- package/agents-config/skills/workflow-apex-free/steps/step-00b-branch.md +0 -126
- package/agents-config/skills/workflow-apex-free/steps/step-00b-economy.md +0 -244
- package/agents-config/skills/workflow-apex-free/steps/step-00b-interactive.md +0 -153
- package/agents-config/skills/workflow-apex-free/steps/step-01-analyze.md +0 -361
- package/agents-config/skills/workflow-apex-free/steps/step-02-plan.md +0 -264
- package/agents-config/skills/workflow-apex-free/steps/step-03-execute.md +0 -239
- package/agents-config/skills/workflow-apex-free/steps/step-04-validate.md +0 -251
- package/agents-config/skills/workflow-apex-free/templates/00-context.md +0 -43
- package/agents-config/skills/workflow-apex-free/templates/01-analyze.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/02-plan.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/03-execute.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/04-validate.md +0 -10
- package/agents-config/skills/workflow-apex-free/templates/README.md +0 -176
- package/agents-config/skills/workflow-apex-free/templates/step-complete.md +0 -7
|
@@ -21,7 +21,7 @@ const minimalConfig: StatuslineConfig = {
|
|
|
21
21
|
},
|
|
22
22
|
session: {
|
|
23
23
|
infoSeparator: null,
|
|
24
|
-
cost: { enabled:
|
|
24
|
+
cost: { enabled: false, format: "decimal1" },
|
|
25
25
|
duration: { enabled: false },
|
|
26
26
|
tokens: { enabled: false, showMax: false, showDecimals: false },
|
|
27
27
|
percentage: {
|
|
@@ -37,7 +37,7 @@ const minimalConfig: StatuslineConfig = {
|
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
39
|
limits: {
|
|
40
|
-
enabled:
|
|
40
|
+
enabled: false,
|
|
41
41
|
showTimeLeft: false,
|
|
42
42
|
showPacingDelta: false,
|
|
43
43
|
cost: { enabled: false, format: "decimal1" },
|
|
@@ -93,7 +93,7 @@ const fullConfig: StatuslineConfig = {
|
|
|
93
93
|
},
|
|
94
94
|
session: {
|
|
95
95
|
infoSeparator: null,
|
|
96
|
-
cost: { enabled:
|
|
96
|
+
cost: { enabled: false, format: "decimal2" },
|
|
97
97
|
duration: { enabled: true },
|
|
98
98
|
tokens: { enabled: true, showMax: true, showDecimals: true },
|
|
99
99
|
percentage: {
|
|
@@ -109,10 +109,10 @@ const fullConfig: StatuslineConfig = {
|
|
|
109
109
|
},
|
|
110
110
|
},
|
|
111
111
|
limits: {
|
|
112
|
-
enabled:
|
|
113
|
-
showTimeLeft:
|
|
114
|
-
showPacingDelta:
|
|
115
|
-
cost: { enabled:
|
|
112
|
+
enabled: false,
|
|
113
|
+
showTimeLeft: false,
|
|
114
|
+
showPacingDelta: false,
|
|
115
|
+
cost: { enabled: false, format: "decimal1" },
|
|
116
116
|
percentage: {
|
|
117
117
|
enabled: true,
|
|
118
118
|
showValue: true,
|
|
@@ -126,10 +126,10 @@ const fullConfig: StatuslineConfig = {
|
|
|
126
126
|
},
|
|
127
127
|
},
|
|
128
128
|
weeklyUsage: {
|
|
129
|
-
enabled:
|
|
130
|
-
showTimeLeft:
|
|
131
|
-
showPacingDelta:
|
|
132
|
-
cost: { enabled:
|
|
129
|
+
enabled: false,
|
|
130
|
+
showTimeLeft: false,
|
|
131
|
+
showPacingDelta: false,
|
|
132
|
+
cost: { enabled: false, format: "decimal1" },
|
|
133
133
|
percentage: {
|
|
134
134
|
enabled: true,
|
|
135
135
|
showValue: true,
|
|
@@ -143,7 +143,7 @@ const fullConfig: StatuslineConfig = {
|
|
|
143
143
|
},
|
|
144
144
|
},
|
|
145
145
|
dailySpend: {
|
|
146
|
-
cost: { enabled:
|
|
146
|
+
cost: { enabled: false, format: "decimal1" },
|
|
147
147
|
},
|
|
148
148
|
context: {
|
|
149
149
|
...defaultConfig.context,
|
|
@@ -153,7 +153,7 @@ const fullConfig: StatuslineConfig = {
|
|
|
153
153
|
export const PRESETS: Preset[] = [
|
|
154
154
|
{
|
|
155
155
|
name: "Minimal",
|
|
156
|
-
description: "Essential info only:
|
|
156
|
+
description: "Essential info only: percentage and branch",
|
|
157
157
|
config: minimalConfig,
|
|
158
158
|
},
|
|
159
159
|
{
|
|
@@ -55,6 +55,7 @@ export interface RawStatuslineData {
|
|
|
55
55
|
};
|
|
56
56
|
periodCost?: number;
|
|
57
57
|
todayCost?: number;
|
|
58
|
+
thinkingEnabled?: boolean;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
// Legacy interface for backwards compatibility
|
|
@@ -72,6 +73,7 @@ export interface StatuslineData {
|
|
|
72
73
|
};
|
|
73
74
|
periodCost?: number;
|
|
74
75
|
todayCost?: number;
|
|
76
|
+
thinkingEnabled?: boolean;
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
// ─────────────────────────────────────────────────────────────
|
|
@@ -275,12 +277,13 @@ function calculateWeeklyDelta(
|
|
|
275
277
|
}
|
|
276
278
|
|
|
277
279
|
function formatPacingDelta(delta: number): string {
|
|
278
|
-
const
|
|
279
|
-
const
|
|
280
|
+
const inverted = -delta;
|
|
281
|
+
const sign = inverted >= 0 ? "+" : "";
|
|
282
|
+
const value = `${sign}${inverted.toFixed(1)}%`;
|
|
280
283
|
|
|
281
|
-
if (
|
|
282
|
-
if (
|
|
283
|
-
if (
|
|
284
|
+
if (inverted > 5) return colors.green(value);
|
|
285
|
+
if (inverted > 0) return colors.lightGray(value);
|
|
286
|
+
if (inverted > -10) return colors.yellow(value);
|
|
284
287
|
return colors.red(value);
|
|
285
288
|
}
|
|
286
289
|
|
|
@@ -361,6 +364,14 @@ function formatDailyPart(
|
|
|
361
364
|
return `${colors.gray("D:")} ${colors.gray("$")}${colors.dimWhite(formatCost(todayCost, config.cost.format))}`;
|
|
362
365
|
}
|
|
363
366
|
|
|
367
|
+
function formatThinkingPart(
|
|
368
|
+
thinkingEnabled: boolean,
|
|
369
|
+
config: StatuslineConfig["thinking"],
|
|
370
|
+
): string {
|
|
371
|
+
if (!config.showDisabledWarning || thinkingEnabled) return "";
|
|
372
|
+
return colors.red("Thinking: OFF");
|
|
373
|
+
}
|
|
374
|
+
|
|
364
375
|
// ─────────────────────────────────────────────────────────────
|
|
365
376
|
// MAIN RENDER FUNCTION - Raw data + config = output
|
|
366
377
|
// ─────────────────────────────────────────────────────────────
|
|
@@ -420,6 +431,13 @@ export function renderStatuslineRaw(
|
|
|
420
431
|
const dailyPart = formatDailyPart(data.todayCost ?? 0, config.dailySpend);
|
|
421
432
|
if (dailyPart) sections.push(dailyPart);
|
|
422
433
|
|
|
434
|
+
// Thinking warning (last position)
|
|
435
|
+
const thinkingPart = formatThinkingPart(
|
|
436
|
+
data.thinkingEnabled ?? true,
|
|
437
|
+
config.thinking,
|
|
438
|
+
);
|
|
439
|
+
if (thinkingPart) sections.push(thinkingPart);
|
|
440
|
+
|
|
423
441
|
const output = sections.join(` ${sep} `);
|
|
424
442
|
|
|
425
443
|
if (config.oneLine) return output;
|
|
@@ -451,6 +469,7 @@ export function renderStatusline(
|
|
|
451
469
|
usageLimits: data.usageLimits,
|
|
452
470
|
periodCost: data.periodCost,
|
|
453
471
|
todayCost: data.todayCost,
|
|
472
|
+
thinkingEnabled: data.thinkingEnabled,
|
|
454
473
|
};
|
|
455
474
|
|
|
456
475
|
return renderStatuslineRaw(rawData, config);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"features": {
|
|
3
|
+
"usageLimits": false,
|
|
4
|
+
"spendTracking": false
|
|
5
|
+
},
|
|
6
|
+
"oneLine": true,
|
|
7
|
+
"showSonnetModel": false,
|
|
8
|
+
"pathDisplayMode": "truncated",
|
|
9
|
+
"git": {
|
|
10
|
+
"enabled": true,
|
|
11
|
+
"showBranch": true,
|
|
12
|
+
"showDirtyIndicator": true,
|
|
13
|
+
"showChanges": false,
|
|
14
|
+
"showStaged": true,
|
|
15
|
+
"showUnstaged": true
|
|
16
|
+
},
|
|
17
|
+
"separator": "•",
|
|
18
|
+
"session": {
|
|
19
|
+
"infoSeparator": null,
|
|
20
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
21
|
+
"duration": { "enabled": true },
|
|
22
|
+
"tokens": { "enabled": true, "showMax": false, "showDecimals": false },
|
|
23
|
+
"percentage": {
|
|
24
|
+
"enabled": true,
|
|
25
|
+
"showValue": true,
|
|
26
|
+
"progressBar": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"length": 10,
|
|
29
|
+
"style": "braille",
|
|
30
|
+
"color": "progressive",
|
|
31
|
+
"background": "none"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"context": {
|
|
36
|
+
"usePayloadContextWindow": true,
|
|
37
|
+
"maxContextTokens": 200000,
|
|
38
|
+
"autocompactBufferTokens": 45000,
|
|
39
|
+
"useUsableContextOnly": true,
|
|
40
|
+
"overheadTokens": 0
|
|
41
|
+
},
|
|
42
|
+
"limits": {
|
|
43
|
+
"enabled": false,
|
|
44
|
+
"showTimeLeft": false,
|
|
45
|
+
"showPacingDelta": false,
|
|
46
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
47
|
+
"percentage": {
|
|
48
|
+
"enabled": false,
|
|
49
|
+
"showValue": false,
|
|
50
|
+
"progressBar": {
|
|
51
|
+
"enabled": false,
|
|
52
|
+
"length": 10,
|
|
53
|
+
"style": "braille",
|
|
54
|
+
"color": "progressive",
|
|
55
|
+
"background": "none"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"weeklyUsage": {
|
|
60
|
+
"enabled": false,
|
|
61
|
+
"showTimeLeft": false,
|
|
62
|
+
"showPacingDelta": false,
|
|
63
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
64
|
+
"percentage": {
|
|
65
|
+
"enabled": false,
|
|
66
|
+
"showValue": false,
|
|
67
|
+
"progressBar": {
|
|
68
|
+
"enabled": false,
|
|
69
|
+
"length": 10,
|
|
70
|
+
"style": "braille",
|
|
71
|
+
"color": "progressive",
|
|
72
|
+
"background": "none"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"dailySpend": {
|
|
77
|
+
"cost": { "enabled": false, "format": "decimal1" }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -1,79 +1,79 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
2
|
+
"features": {
|
|
3
|
+
"usageLimits": false,
|
|
4
|
+
"spendTracking": false
|
|
5
|
+
},
|
|
6
|
+
"oneLine": true,
|
|
7
|
+
"showSonnetModel": false,
|
|
8
|
+
"pathDisplayMode": "truncated",
|
|
9
|
+
"git": {
|
|
10
|
+
"enabled": true,
|
|
11
|
+
"showBranch": true,
|
|
12
|
+
"showDirtyIndicator": true,
|
|
13
|
+
"showChanges": false,
|
|
14
|
+
"showStaged": true,
|
|
15
|
+
"showUnstaged": true
|
|
16
|
+
},
|
|
17
|
+
"separator": "•",
|
|
18
|
+
"session": {
|
|
19
|
+
"infoSeparator": null,
|
|
20
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
21
|
+
"duration": { "enabled": true },
|
|
22
|
+
"tokens": { "enabled": true, "showMax": false, "showDecimals": false },
|
|
23
|
+
"percentage": {
|
|
24
|
+
"enabled": true,
|
|
25
|
+
"showValue": true,
|
|
26
|
+
"progressBar": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"length": 10,
|
|
29
|
+
"style": "braille",
|
|
30
|
+
"color": "progressive",
|
|
31
|
+
"background": "none"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"context": {
|
|
36
|
+
"usePayloadContextWindow": true,
|
|
37
|
+
"maxContextTokens": 200000,
|
|
38
|
+
"autocompactBufferTokens": 45000,
|
|
39
|
+
"useUsableContextOnly": true,
|
|
40
|
+
"overheadTokens": 0
|
|
41
|
+
},
|
|
42
|
+
"limits": {
|
|
43
|
+
"enabled": false,
|
|
44
|
+
"showTimeLeft": false,
|
|
45
|
+
"showPacingDelta": false,
|
|
46
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
47
|
+
"percentage": {
|
|
48
|
+
"enabled": false,
|
|
49
|
+
"showValue": false,
|
|
50
|
+
"progressBar": {
|
|
51
|
+
"enabled": false,
|
|
52
|
+
"length": 10,
|
|
53
|
+
"style": "braille",
|
|
54
|
+
"color": "progressive",
|
|
55
|
+
"background": "none"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"weeklyUsage": {
|
|
60
|
+
"enabled": false,
|
|
61
|
+
"showTimeLeft": false,
|
|
62
|
+
"showPacingDelta": false,
|
|
63
|
+
"cost": { "enabled": false, "format": "decimal1" },
|
|
64
|
+
"percentage": {
|
|
65
|
+
"enabled": false,
|
|
66
|
+
"showValue": false,
|
|
67
|
+
"progressBar": {
|
|
68
|
+
"enabled": false,
|
|
69
|
+
"length": 10,
|
|
70
|
+
"style": "braille",
|
|
71
|
+
"color": "progressive",
|
|
72
|
+
"background": "none"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"dailySpend": {
|
|
77
|
+
"cost": { "enabled": false, "format": "decimal1" }
|
|
78
|
+
}
|
|
79
79
|
}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a Vite.js app with Tailwind CSS v4 and shadcn/ui in the current directory
|
|
3
|
+
argument-hint: [template]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Create a Vite.js project with Tailwind CSS v4 and shadcn/ui in the current directory, handling all edge cases intelligently.
|
|
8
|
+
|
|
9
|
+
Templates: vanilla, vanilla-ts, vue, vue-ts, react, react-ts, react-swc, react-swc-ts, preact, preact-ts, lit, lit-ts, svelte, svelte-ts, solid, solid-ts, qwik, qwik-ts
|
|
10
|
+
|
|
11
|
+
Default: react-ts (if no template specified)
|
|
12
|
+
|
|
13
|
+
Note: shadcn/ui only works with React templates (react, react-ts, react-swc, react-swc-ts)
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
Directory contents: !`ls -la 2>/dev/null || echo "EMPTY"`
|
|
18
|
+
Package.json exists: !`test -f package.json && echo "YES" || echo "NO"`
|
|
19
|
+
Vite config exists: !`ls vite.config.* 2>/dev/null || echo "NONE"`
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<verified_sources>
|
|
23
|
+
- Vite docs: https://vite.dev/guide/
|
|
24
|
+
- Tailwind v4 docs: https://tailwindcss.com/docs/installation/using-vite
|
|
25
|
+
- shadcn/ui Vite: https://ui.shadcn.com/docs/installation/vite
|
|
26
|
+
- shadcn/ui Tailwind v4: https://ui.shadcn.com/docs/tailwind-v4
|
|
27
|
+
</verified_sources>
|
|
28
|
+
|
|
29
|
+
<process>
|
|
30
|
+
1. **Determine template**: Use `$ARGUMENTS` if provided, otherwise `react-ts`
|
|
31
|
+
|
|
32
|
+
2. **Analyze current directory**:
|
|
33
|
+
- Has `package.json` with vite? → Existing Vite project, add Tailwind + shadcn
|
|
34
|
+
- Has `package.json` without vite? → Add Vite + Tailwind + shadcn
|
|
35
|
+
- No `package.json`? → Create fresh Vite project
|
|
36
|
+
|
|
37
|
+
3. **Create Vite project** (if needed):
|
|
38
|
+
```bash
|
|
39
|
+
npm create vite@latest . -- --template <template>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If this fails (rare), use subfolder workaround:
|
|
43
|
+
```bash
|
|
44
|
+
npm create vite@latest .vite-temp -- --template <template>
|
|
45
|
+
mv .vite-temp/* .vite-temp/.* . 2>/dev/null
|
|
46
|
+
rmdir .vite-temp
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
4. **Install dependencies**:
|
|
50
|
+
```bash
|
|
51
|
+
npm install
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
5. **Install Tailwind CSS v4**:
|
|
55
|
+
```bash
|
|
56
|
+
npm install tailwindcss@latest @tailwindcss/vite@latest
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
6. **Install @types/node** (required for path aliases):
|
|
60
|
+
```bash
|
|
61
|
+
npm install -D @types/node
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
7. **Configure TypeScript paths** - Edit `tsconfig.json`:
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"compilerOptions": {
|
|
68
|
+
"baseUrl": ".",
|
|
69
|
+
"paths": {
|
|
70
|
+
"@/*": ["./src/*"]
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Also edit `tsconfig.app.json` if it exists:
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"compilerOptions": {
|
|
80
|
+
"baseUrl": ".",
|
|
81
|
+
"paths": {
|
|
82
|
+
"@/*": ["./src/*"]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
8. **Configure Vite** - Edit `vite.config.ts`:
|
|
89
|
+
```typescript
|
|
90
|
+
import path from "path"
|
|
91
|
+
import tailwindcss from "@tailwindcss/vite"
|
|
92
|
+
import react from "@vitejs/plugin-react"
|
|
93
|
+
import { defineConfig } from "vite"
|
|
94
|
+
|
|
95
|
+
export default defineConfig({
|
|
96
|
+
plugins: [react(), tailwindcss()],
|
|
97
|
+
resolve: {
|
|
98
|
+
alias: {
|
|
99
|
+
"@": path.resolve(__dirname, "./src"),
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
9. **Setup CSS** - Update `src/index.css`:
|
|
106
|
+
```css
|
|
107
|
+
@import "tailwindcss";
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
10. **Initialize shadcn/ui** (React templates only):
|
|
111
|
+
```bash
|
|
112
|
+
npx shadcn@latest init
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
When prompted:
|
|
116
|
+
- Style: Default or New York
|
|
117
|
+
- Base color: Neutral (recommended)
|
|
118
|
+
- CSS variables: Yes
|
|
119
|
+
|
|
120
|
+
Or non-interactive:
|
|
121
|
+
```bash
|
|
122
|
+
npx shadcn@latest init -y -b neutral
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
11. **Add shadcn components**:
|
|
126
|
+
```bash
|
|
127
|
+
npx shadcn@latest add button badge
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
12. **Create landing page** - Replace `src/App.tsx` with:
|
|
131
|
+
```tsx
|
|
132
|
+
import { Button } from "@/components/ui/button"
|
|
133
|
+
import { Badge } from "@/components/ui/badge"
|
|
134
|
+
|
|
135
|
+
function App() {
|
|
136
|
+
return (
|
|
137
|
+
<div className="min-h-svh bg-gradient-to-b from-background to-muted">
|
|
138
|
+
{/* Hero Section */}
|
|
139
|
+
<div className="container mx-auto px-4 py-16 sm:py-24">
|
|
140
|
+
<div className="flex flex-col items-center text-center space-y-8">
|
|
141
|
+
{/* Badge */}
|
|
142
|
+
<Badge variant="secondary" className="px-4 py-1.5 text-sm">
|
|
143
|
+
Powered by Vite + Tailwind v4 + shadcn/ui
|
|
144
|
+
</Badge>
|
|
145
|
+
|
|
146
|
+
{/* Main Heading */}
|
|
147
|
+
<h1 className="text-4xl sm:text-6xl lg:text-7xl font-bold tracking-tight">
|
|
148
|
+
<span className="bg-gradient-to-r from-foreground via-foreground/80 to-foreground bg-clip-text">
|
|
149
|
+
ViteJS
|
|
150
|
+
</span>
|
|
151
|
+
<span className="text-primary"> Ready</span>
|
|
152
|
+
</h1>
|
|
153
|
+
|
|
154
|
+
{/* Subtitle */}
|
|
155
|
+
<p className="max-w-2xl text-lg sm:text-xl text-muted-foreground">
|
|
156
|
+
Your project is set up with the modern stack. Start building something amazing.
|
|
157
|
+
</p>
|
|
158
|
+
|
|
159
|
+
{/* CTA Buttons */}
|
|
160
|
+
<div className="flex flex-col sm:flex-row gap-4 pt-4">
|
|
161
|
+
<Button size="lg" className="min-w-40">
|
|
162
|
+
Get Started
|
|
163
|
+
</Button>
|
|
164
|
+
<Button size="lg" variant="outline" className="min-w-40">
|
|
165
|
+
Documentation
|
|
166
|
+
</Button>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
{/* Tech Stack */}
|
|
170
|
+
<div className="pt-12 flex flex-wrap justify-center gap-8 text-muted-foreground">
|
|
171
|
+
<div className="flex items-center gap-2">
|
|
172
|
+
<div className="size-2 rounded-full bg-yellow-500" />
|
|
173
|
+
<span className="text-sm font-medium">Vite</span>
|
|
174
|
+
</div>
|
|
175
|
+
<div className="flex items-center gap-2">
|
|
176
|
+
<div className="size-2 rounded-full bg-cyan-500" />
|
|
177
|
+
<span className="text-sm font-medium">Tailwind v4</span>
|
|
178
|
+
</div>
|
|
179
|
+
<div className="flex items-center gap-2">
|
|
180
|
+
<div className="size-2 rounded-full bg-blue-500" />
|
|
181
|
+
<span className="text-sm font-medium">React</span>
|
|
182
|
+
</div>
|
|
183
|
+
<div className="flex items-center gap-2">
|
|
184
|
+
<div className="size-2 rounded-full bg-neutral-500" />
|
|
185
|
+
<span className="text-sm font-medium">shadcn/ui</span>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
{/* Feature Cards */}
|
|
192
|
+
<div className="container mx-auto px-4 pb-16">
|
|
193
|
+
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
194
|
+
{[
|
|
195
|
+
{ title: "Lightning Fast", desc: "Instant HMR and optimized builds with Vite" },
|
|
196
|
+
{ title: "Type Safe", desc: "Full TypeScript support out of the box" },
|
|
197
|
+
{ title: "Beautiful UI", desc: "Pre-built components with shadcn/ui" },
|
|
198
|
+
].map((feature) => (
|
|
199
|
+
<div
|
|
200
|
+
key={feature.title}
|
|
201
|
+
className="group rounded-xl border bg-card p-6 transition-colors hover:bg-accent"
|
|
202
|
+
>
|
|
203
|
+
<h3 className="font-semibold text-lg mb-2">{feature.title}</h3>
|
|
204
|
+
<p className="text-sm text-muted-foreground">{feature.desc}</p>
|
|
205
|
+
</div>
|
|
206
|
+
))}
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
|
|
210
|
+
{/* Footer */}
|
|
211
|
+
<footer className="border-t py-8">
|
|
212
|
+
<p className="text-center text-sm text-muted-foreground">
|
|
213
|
+
Edit <code className="font-mono bg-muted px-1.5 py-0.5 rounded">src/App.tsx</code> to get started
|
|
214
|
+
</p>
|
|
215
|
+
</footer>
|
|
216
|
+
</div>
|
|
217
|
+
)
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export default App
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
13. **Clean up default files** (optional):
|
|
224
|
+
- Delete `src/App.css` (styles now in Tailwind)
|
|
225
|
+
- Delete `src/assets/react.svg` (not needed)
|
|
226
|
+
- Update `index.html` title to your project name
|
|
227
|
+
|
|
228
|
+
14. **Verify setup**:
|
|
229
|
+
```bash
|
|
230
|
+
npm run dev
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
You should see a modern landing page with:
|
|
234
|
+
- Gradient background
|
|
235
|
+
- "ViteJS Ready" heading
|
|
236
|
+
- Tech stack indicators
|
|
237
|
+
- Feature cards
|
|
238
|
+
- Responsive design
|
|
239
|
+
</process>
|
|
240
|
+
|
|
241
|
+
<edge_cases>
|
|
242
|
+
- **Non-React template**: Skip shadcn/ui steps (only add Tailwind). shadcn/ui requires React.
|
|
243
|
+
- **Non-empty directory**: Vite supports this natively (PR #15272, Dec 2023)
|
|
244
|
+
- **Existing package.json**: Skip Vite creation, add dependencies to existing project
|
|
245
|
+
- **Existing vite.config**: MERGE plugins and alias config, don't replace
|
|
246
|
+
- **JavaScript (not TypeScript)**: Use `jsconfig.json` instead of `tsconfig.json` for paths
|
|
247
|
+
- **PowerShell (Windows)**: Use `---` instead of `--`: `npm create vite@latest . --- --template react-ts`
|
|
248
|
+
- **shadcn init fails**: Ensure tsconfig paths and vite alias are configured BEFORE running init
|
|
249
|
+
- **Tailwind v4 + shadcn**: Fully supported as of Feb 2025. Uses OKLCH colors, @theme inline directive
|
|
250
|
+
</edge_cases>
|
|
251
|
+
|
|
252
|
+
<shadcn_notes>
|
|
253
|
+
- shadcn/ui now supports Tailwind v4 and React 19 (Feb 2025 update)
|
|
254
|
+
- Components use `data-slot` attributes for styling
|
|
255
|
+
- HSL colors converted to OKLCH
|
|
256
|
+
- `toast` deprecated, use `sonner` instead
|
|
257
|
+
- Buttons use default cursor (not pointer)
|
|
258
|
+
- All components work with modern browsers only
|
|
259
|
+
</shadcn_notes>
|
|
260
|
+
|
|
261
|
+
<success_criteria>
|
|
262
|
+
- Vite project created in current directory
|
|
263
|
+
- `tailwindcss` and `@tailwindcss/vite` in package.json
|
|
264
|
+
- `tailwindcss()` plugin in vite.config
|
|
265
|
+
- Path alias `@` configured in tsconfig and vite.config
|
|
266
|
+
- `src/index.css` has `@import "tailwindcss"`
|
|
267
|
+
- `components.json` exists (shadcn config)
|
|
268
|
+
- `src/components/ui/button.tsx` and `badge.tsx` exist
|
|
269
|
+
- `src/App.tsx` contains the "ViteJS Ready" landing page
|
|
270
|
+
- `npm run dev` runs without errors
|
|
271
|
+
- Landing page displays with gradient, heading, buttons, and feature cards
|
|
272
|
+
</success_criteria>
|