dino-spec 0.5.2 → 0.5.3

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 keenu
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 keenu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/bin/dino.js CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env node
2
-
3
- import '../dist/cli/index.js';
1
+ #!/usr/bin/env node
2
+
3
+ import '../dist/cli/index.js';
package/dist/cli/index.js CHANGED
@@ -14,6 +14,7 @@ import { skillListCommand, skillInstallCommand, skillRemoveCommand, skillCreateC
14
14
  import { museumCommand } from '../commands/museum.js';
15
15
  import { providerListCommand, providerAddCommand, providerRemoveCommand, providerShowCommand, providerDefaultCommand, providerSetupCommand, providerEnvCommand, } from '../commands/provider.js';
16
16
  import { focusStatusCommand, focusApplyCommand, focusRestoreCommand, focusRestartExplorerCommand, focusTerminalCommand, focusDiagnoseCommand, focusPowerToysCommand, focusConhostCommand, } from '../commands/focus.js';
17
+ import { hooksSetupCommand, hooksStatusCommand, hooksRemoveCommand, } from '../commands/hooks.js';
17
18
  const program = new Command();
18
19
  program
19
20
  .name('dino')
@@ -236,6 +237,32 @@ focusCmd
236
237
  .action(async (options) => {
237
238
  await focusConhostCommand(options);
238
239
  });
240
+ // Hooks subcommand (Claude Code temp file cleanup)
241
+ const hooksCmd = program
242
+ .command('hooks')
243
+ .description('Claude Code hooks for temp file cleanup (Windows only)');
244
+ hooksCmd
245
+ .command('setup')
246
+ .description('Install cleanup script and Stop hook')
247
+ .option('-g, --global <path>', 'Set a projects root folder to clean all subfolders')
248
+ .option('--dry-run', 'Preview changes without applying')
249
+ .option('-f, --force', 'Overwrite existing script/hooks')
250
+ .action(async (options) => {
251
+ await hooksSetupCommand(options);
252
+ });
253
+ hooksCmd
254
+ .command('status')
255
+ .description('Show current hook configuration')
256
+ .action(async () => {
257
+ await hooksStatusCommand();
258
+ });
259
+ hooksCmd
260
+ .command('remove')
261
+ .description('Remove hooks and cleanup script')
262
+ .option('-f, --force', 'Skip confirmation')
263
+ .action(async (options) => {
264
+ await hooksRemoveCommand(options);
265
+ });
239
266
  // Parse and execute
240
267
  program.parse();
241
268
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Setup Claude hooks for temp file cleanup
3
+ */
4
+ export declare function hooksSetupCommand(options: {
5
+ global?: string;
6
+ dryRun?: boolean;
7
+ force?: boolean;
8
+ }): Promise<void>;
9
+ /**
10
+ * Show current hooks status
11
+ */
12
+ export declare function hooksStatusCommand(): Promise<void>;
13
+ /**
14
+ * Remove Claude hooks
15
+ */
16
+ export declare function hooksRemoveCommand(options: {
17
+ force?: boolean;
18
+ }): Promise<void>;
19
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAgHA;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8JhB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0ExD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDpF"}
@@ -0,0 +1,336 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import { homedir } from 'os';
4
+ import { join } from 'path';
5
+ import { FileSystem } from '../utils/file-system.js';
6
+ /**
7
+ * Get Claude settings.json path
8
+ */
9
+ function getClaudeSettingsPath() {
10
+ return join(homedir(), '.claude', 'settings.json');
11
+ }
12
+ /**
13
+ * Get Claude scripts directory path
14
+ */
15
+ function getClaudeScriptsPath() {
16
+ return join(homedir(), '.claude', 'scripts');
17
+ }
18
+ /**
19
+ * Get cleanup script path
20
+ */
21
+ function getCleanupScriptPath() {
22
+ return join(getClaudeScriptsPath(), 'cleanup-claude-temp.ps1');
23
+ }
24
+ /**
25
+ * Get hooks config path
26
+ */
27
+ function getHooksConfigPath() {
28
+ return join(homedir(), '.dino', 'hooks-config.json');
29
+ }
30
+ /**
31
+ * Check if running on Windows
32
+ */
33
+ function isPlatformWindows() {
34
+ return process.platform === 'win32';
35
+ }
36
+ /**
37
+ * Generate cleanup script content
38
+ */
39
+ function generateCleanupScript(options) {
40
+ const locations = ['$env:TEMP', '$env:USERPROFILE'];
41
+ let depth = 3;
42
+ if (options.globalPath) {
43
+ // Global mode: add the projects root path
44
+ locations.push(`"${options.globalPath}"`);
45
+ depth = 5; // Deeper search for nested projects
46
+ }
47
+ else {
48
+ // Default mode: use current working directory
49
+ locations.push('(Get-Location).Path');
50
+ }
51
+ const locationsStr = locations.join(', ');
52
+ const modeComment = options.globalPath
53
+ ? `Cleanup Claude temp files (Global: ${options.globalPath})`
54
+ : 'Cleanup Claude temp files (Current Project)';
55
+ return `# DINO:HOOKS:START - ${modeComment}
56
+ # Generated by: dino hooks setup
57
+ # This script runs on Claude Code Stop hook to clean up temp files
58
+
59
+ $locations = @(${locationsStr})
60
+ $patterns = @("tmpclaude-*", "claude--cwd*")
61
+
62
+ foreach ($loc in $locations) {
63
+ if ($loc -and (Test-Path $loc)) {
64
+ foreach ($pattern in $patterns) {
65
+ Get-ChildItem -Path $loc -Filter $pattern -Recurse -Depth ${depth} -ErrorAction SilentlyContinue |
66
+ Remove-Item -Force -ErrorAction SilentlyContinue
67
+ }
68
+ }
69
+ }
70
+ # DINO:HOOKS:END
71
+ `;
72
+ }
73
+ /**
74
+ * Generate the Stop hook command
75
+ */
76
+ function getStopHookCommand() {
77
+ return 'powershell -ExecutionPolicy Bypass -File "$HOME\\.claude\\scripts\\cleanup-claude-temp.ps1"';
78
+ }
79
+ /**
80
+ * Setup Claude hooks for temp file cleanup
81
+ */
82
+ export async function hooksSetupCommand(options) {
83
+ if (!isPlatformWindows()) {
84
+ console.log(chalk.yellow('\n This command is currently only available on Windows.\n'));
85
+ console.log(chalk.dim(' The cleanup script uses PowerShell which is Windows-specific.\n'));
86
+ return;
87
+ }
88
+ const isDryRun = options.dryRun ?? false;
89
+ const isForce = options.force ?? false;
90
+ const globalPath = options.global;
91
+ console.log('');
92
+ if (isDryRun) {
93
+ console.log(chalk.cyan(' DRY RUN - No changes will be made\n'));
94
+ }
95
+ console.log(chalk.bold(' Claude Hooks Setup\n'));
96
+ // Validate global path if provided
97
+ if (globalPath) {
98
+ const exists = await FileSystem.exists(globalPath);
99
+ if (!exists) {
100
+ console.log(chalk.red(` Error: Path does not exist: ${globalPath}\n`));
101
+ return;
102
+ }
103
+ console.log(chalk.dim(` Mode: Global (${globalPath})`));
104
+ console.log(chalk.dim(' Depth: 5 levels (for nested projects)\n'));
105
+ }
106
+ else {
107
+ console.log(chalk.dim(' Mode: Current Project'));
108
+ console.log(chalk.dim(' Depth: 3 levels\n'));
109
+ }
110
+ const scriptsDir = getClaudeScriptsPath();
111
+ const scriptPath = getCleanupScriptPath();
112
+ const settingsPath = getClaudeSettingsPath();
113
+ // Check if already installed
114
+ const existingScript = await FileSystem.exists(scriptPath);
115
+ const existingSettings = await FileSystem.readJsonSafe(settingsPath);
116
+ if (existingScript && !isForce) {
117
+ console.log(chalk.yellow(' Cleanup script already exists.'));
118
+ console.log(chalk.dim(` Use --force to overwrite.\n`));
119
+ if (!isDryRun) {
120
+ // Check if we should update the path
121
+ const config = await FileSystem.readJsonSafe(getHooksConfigPath());
122
+ if (config) {
123
+ console.log(chalk.dim(` Current mode: ${config.mode}`));
124
+ if (config.globalPath) {
125
+ console.log(chalk.dim(` Global path: ${config.globalPath}`));
126
+ }
127
+ }
128
+ return;
129
+ }
130
+ }
131
+ // Show what will be created/modified
132
+ console.log(chalk.bold(' Actions:\n'));
133
+ console.log(` ${chalk.yellow('1.')} Create scripts directory`);
134
+ console.log(chalk.dim(` ${scriptsDir}\n`));
135
+ console.log(` ${chalk.yellow('2.')} Create cleanup script`);
136
+ console.log(chalk.dim(` ${scriptPath}\n`));
137
+ console.log(` ${chalk.yellow('3.')} Update Claude settings.json`);
138
+ console.log(chalk.dim(` ${settingsPath}`));
139
+ console.log(chalk.dim(` Add Stop hook for cleanup\n`));
140
+ if (isDryRun) {
141
+ console.log(chalk.bold(' Script content preview:\n'));
142
+ const scriptContent = generateCleanupScript({ globalPath });
143
+ console.log(chalk.dim(scriptContent.split('\n').map(l => ` ${l}`).join('\n')));
144
+ console.log('');
145
+ console.log(chalk.cyan(' Run without --dry-run to apply these changes.\n'));
146
+ return;
147
+ }
148
+ const spinner = ora('Setting up Claude hooks...').start();
149
+ try {
150
+ // 1. Create scripts directory
151
+ spinner.text = 'Creating scripts directory...';
152
+ await FileSystem.createDirectory(scriptsDir);
153
+ // 2. Create/update cleanup script
154
+ spinner.text = 'Creating cleanup script...';
155
+ const scriptContent = generateCleanupScript({ globalPath });
156
+ await FileSystem.writeFile(scriptPath, scriptContent);
157
+ // 3. Update settings.json
158
+ spinner.text = 'Updating Claude settings.json...';
159
+ // Read existing settings or create new
160
+ let settings = existingSettings ?? {};
161
+ // Create backup if settings exist
162
+ if (existingSettings) {
163
+ const backupPath = settingsPath + '.backup';
164
+ await FileSystem.writeJson(backupPath, existingSettings);
165
+ }
166
+ // Ensure hooks object exists
167
+ if (!settings.hooks) {
168
+ settings.hooks = {};
169
+ }
170
+ // Create the Stop hook entry
171
+ const stopHook = {
172
+ type: 'command',
173
+ command: getStopHookCommand(),
174
+ };
175
+ // Check if Stop hook already has our command
176
+ const existingStopHooks = settings.hooks.Stop ?? [];
177
+ const hasOurHook = existingStopHooks.some((h) => h.command?.includes('cleanup-claude-temp.ps1'));
178
+ if (!hasOurHook) {
179
+ // Add our hook
180
+ settings.hooks.Stop = [...existingStopHooks, stopHook];
181
+ }
182
+ await FileSystem.writeJson(settingsPath, settings);
183
+ // 4. Save hooks config
184
+ spinner.text = 'Saving configuration...';
185
+ const hooksConfig = {
186
+ mode: globalPath ? 'global' : 'project',
187
+ globalPath: globalPath,
188
+ projectPath: globalPath ? undefined : process.cwd(),
189
+ installedAt: new Date().toISOString(),
190
+ };
191
+ await FileSystem.writeJson(getHooksConfigPath(), hooksConfig);
192
+ spinner.succeed('Claude hooks setup complete!');
193
+ console.log('');
194
+ console.log(chalk.bold(' Installed:'));
195
+ console.log(chalk.dim(` Script: ${scriptPath}`));
196
+ console.log(chalk.dim(` Settings: ${settingsPath}`));
197
+ console.log('');
198
+ console.log(chalk.bold(' What happens now:'));
199
+ console.log(chalk.dim(' When Claude Code stops, the cleanup script will run'));
200
+ console.log(chalk.dim(' and remove tmpclaude-* and claude--cwd* temp files.'));
201
+ console.log('');
202
+ console.log(chalk.bold(' Commands:'));
203
+ console.log(chalk.cyan(' dino hooks status') + chalk.dim(' - View current configuration'));
204
+ console.log(chalk.cyan(' dino hooks remove') + chalk.dim(' - Remove hooks and script'));
205
+ console.log('');
206
+ }
207
+ catch (error) {
208
+ spinner.fail('Failed to setup hooks');
209
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
210
+ process.exit(1);
211
+ }
212
+ }
213
+ /**
214
+ * Show current hooks status
215
+ */
216
+ export async function hooksStatusCommand() {
217
+ if (!isPlatformWindows()) {
218
+ console.log(chalk.yellow('\n This command is currently only available on Windows.\n'));
219
+ return;
220
+ }
221
+ console.log('');
222
+ console.log(chalk.bold(' Claude Hooks Status\n'));
223
+ const scriptPath = getCleanupScriptPath();
224
+ const settingsPath = getClaudeSettingsPath();
225
+ const configPath = getHooksConfigPath();
226
+ // Check script
227
+ const scriptExists = await FileSystem.exists(scriptPath);
228
+ if (scriptExists) {
229
+ console.log(chalk.green(' ✓ Cleanup script installed'));
230
+ console.log(chalk.dim(` ${scriptPath}`));
231
+ }
232
+ else {
233
+ console.log(chalk.yellow(' ○ Cleanup script not found'));
234
+ console.log(chalk.dim(` ${scriptPath}`));
235
+ }
236
+ console.log('');
237
+ // Check settings
238
+ const settings = await FileSystem.readJsonSafe(settingsPath);
239
+ if (settings?.hooks?.Stop) {
240
+ const hasOurHook = settings.hooks.Stop.some((h) => h.command?.includes('cleanup-claude-temp.ps1'));
241
+ if (hasOurHook) {
242
+ console.log(chalk.green(' ✓ Stop hook configured'));
243
+ }
244
+ else {
245
+ console.log(chalk.yellow(' ○ Stop hook not configured'));
246
+ }
247
+ }
248
+ else {
249
+ console.log(chalk.yellow(' ○ No Stop hooks in settings'));
250
+ }
251
+ console.log(chalk.dim(` ${settingsPath}`));
252
+ console.log('');
253
+ // Check config
254
+ const config = await FileSystem.readJsonSafe(configPath);
255
+ if (config) {
256
+ console.log(chalk.bold(' Configuration:'));
257
+ console.log(` Mode: ${chalk.cyan(config.mode)}`);
258
+ if (config.globalPath) {
259
+ console.log(` Global path: ${chalk.dim(config.globalPath)}`);
260
+ }
261
+ if (config.projectPath) {
262
+ console.log(` Project path: ${chalk.dim(config.projectPath)}`);
263
+ }
264
+ console.log(` Installed: ${chalk.dim(new Date(config.installedAt).toLocaleString())}`);
265
+ }
266
+ else {
267
+ console.log(chalk.dim(' No configuration found.'));
268
+ console.log(chalk.dim(' Run "dino hooks setup" to configure.'));
269
+ }
270
+ console.log('');
271
+ // Show script content preview if exists
272
+ if (scriptExists) {
273
+ const scriptContent = await FileSystem.readFileSafe(scriptPath);
274
+ if (scriptContent) {
275
+ console.log(chalk.bold(' Script preview:'));
276
+ const lines = scriptContent.split('\n').slice(0, 8);
277
+ lines.forEach((line) => {
278
+ console.log(chalk.dim(` ${line}`));
279
+ });
280
+ if (scriptContent.split('\n').length > 8) {
281
+ console.log(chalk.dim(' ...'));
282
+ }
283
+ console.log('');
284
+ }
285
+ }
286
+ }
287
+ /**
288
+ * Remove Claude hooks
289
+ */
290
+ export async function hooksRemoveCommand(options) {
291
+ if (!isPlatformWindows()) {
292
+ console.log(chalk.yellow('\n This command is currently only available on Windows.\n'));
293
+ return;
294
+ }
295
+ console.log('');
296
+ console.log(chalk.bold(' Remove Claude Hooks\n'));
297
+ const scriptPath = getCleanupScriptPath();
298
+ const settingsPath = getClaudeSettingsPath();
299
+ const configPath = getHooksConfigPath();
300
+ const spinner = ora('Removing hooks...').start();
301
+ try {
302
+ // 1. Remove script
303
+ spinner.text = 'Removing cleanup script...';
304
+ if (await FileSystem.exists(scriptPath)) {
305
+ await FileSystem.remove(scriptPath);
306
+ }
307
+ // 2. Update settings.json to remove our hook
308
+ spinner.text = 'Updating Claude settings.json...';
309
+ const settings = await FileSystem.readJsonSafe(settingsPath);
310
+ if (settings?.hooks?.Stop) {
311
+ settings.hooks.Stop = settings.hooks.Stop.filter((h) => !h.command?.includes('cleanup-claude-temp.ps1'));
312
+ if (settings.hooks.Stop.length === 0) {
313
+ delete settings.hooks.Stop;
314
+ }
315
+ if (Object.keys(settings.hooks).length === 0) {
316
+ delete settings.hooks;
317
+ }
318
+ await FileSystem.writeJson(settingsPath, settings);
319
+ }
320
+ // 3. Remove config
321
+ spinner.text = 'Removing configuration...';
322
+ if (await FileSystem.exists(configPath)) {
323
+ await FileSystem.remove(configPath);
324
+ }
325
+ spinner.succeed('Claude hooks removed!');
326
+ console.log('');
327
+ console.log(chalk.dim(' Cleanup script and Stop hook have been removed.'));
328
+ console.log(chalk.dim(' Run "dino hooks setup" to reinstall.\n'));
329
+ }
330
+ catch (error) {
331
+ spinner.fail('Failed to remove hooks');
332
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
333
+ process.exit(1);
334
+ }
335
+ }
336
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
@@ -128,23 +128,23 @@ function parseSkillMetadata(content) {
128
128
  * Create a placeholder skill template
129
129
  */
130
130
  function createPlaceholderSkill(name) {
131
- return `---
132
- name: ${name}
133
- description: Custom skill (edit this description)
134
- version: 1.0.0
135
- ---
136
-
137
- # ${name}
138
-
139
- This is a custom skill. Edit this file to define your skill's behavior.
140
-
141
- ## Usage
142
-
143
- Describe how to use this skill.
144
-
145
- ## Examples
146
-
147
- Add examples here.
131
+ return `---
132
+ name: ${name}
133
+ description: Custom skill (edit this description)
134
+ version: 1.0.0
135
+ ---
136
+
137
+ # ${name}
138
+
139
+ This is a custom skill. Edit this file to define your skill's behavior.
140
+
141
+ ## Usage
142
+
143
+ Describe how to use this skill.
144
+
145
+ ## Examples
146
+
147
+ Add examples here.
148
148
  `;
149
149
  }
150
150
  //# sourceMappingURL=registry.js.map
@@ -2,51 +2,51 @@
2
2
  * Template for .dino/dna.md - Project conventions
3
3
  */
4
4
  export function getDnaTemplate() {
5
- return `# Project DNA
6
-
7
- This file contains project-specific conventions and context for the dino workflow.
8
- Edit this file to help Claude understand your project better.
9
-
10
- ## Project Overview
11
-
12
- <!-- Brief description of what this project does -->
13
-
14
- ## Tech Stack
15
-
16
- <!-- Primary technologies, frameworks, and languages -->
17
- - Language:
18
- - Framework:
19
- - Database:
20
- - Testing:
21
-
22
- ## Code Conventions
23
-
24
- <!-- Coding standards, naming conventions, patterns -->
25
- -
26
-
27
- ## Directory Structure
28
-
29
- <!-- Important paths and their purposes -->
30
- \`\`\`
31
- src/
32
- ├──
33
- └──
34
- \`\`\`
35
-
36
- ## Integration Points
37
-
38
- <!-- External services, APIs, dependencies -->
39
- -
40
-
41
- ## Testing Strategy
42
-
43
- <!-- How tests should be written and organized -->
44
- -
45
-
46
- ## Notes
47
-
48
- <!-- Additional context, constraints, or preferences -->
49
- -
5
+ return `# Project DNA
6
+
7
+ This file contains project-specific conventions and context for the dino workflow.
8
+ Edit this file to help Claude understand your project better.
9
+
10
+ ## Project Overview
11
+
12
+ <!-- Brief description of what this project does -->
13
+
14
+ ## Tech Stack
15
+
16
+ <!-- Primary technologies, frameworks, and languages -->
17
+ - Language:
18
+ - Framework:
19
+ - Database:
20
+ - Testing:
21
+
22
+ ## Code Conventions
23
+
24
+ <!-- Coding standards, naming conventions, patterns -->
25
+ -
26
+
27
+ ## Directory Structure
28
+
29
+ <!-- Important paths and their purposes -->
30
+ \`\`\`
31
+ src/
32
+ ├──
33
+ └──
34
+ \`\`\`
35
+
36
+ ## Integration Points
37
+
38
+ <!-- External services, APIs, dependencies -->
39
+ -
40
+
41
+ ## Testing Strategy
42
+
43
+ <!-- How tests should be written and organized -->
44
+ -
45
+
46
+ ## Notes
47
+
48
+ <!-- Additional context, constraints, or preferences -->
49
+ -
50
50
  `;
51
51
  }
52
52
  //# sourceMappingURL=dna-template.js.map
package/package.json CHANGED
@@ -1,68 +1,66 @@
1
- {
2
- "name": "dino-spec",
3
- "version": "0.5.2",
4
- "description": "Claude Code workflow system with dinosaur-themed specification phases",
5
- "type": "module",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.ts",
9
- "default": "./dist/index.js"
10
- }
11
- },
12
- "bin": {
13
- "dino": "./bin/dino.js"
14
- },
15
- "files": [
16
- "dist",
17
- "bin"
18
- ],
19
- "scripts": {
20
- "build": "node build.js",
21
- "dev": "tsc --watch",
22
- "dev:cli": "pnpm build && node bin/dino.js",
23
- "lint": "eslint src/",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "prepare": "pnpm run build",
27
- "prepublishOnly": "pnpm run build"
28
- },
29
- "engines": {
30
- "node": ">=20.0.0"
31
- },
32
- "dependencies": {
33
- "chalk": "^5.4.1",
34
- "commander": "^13.1.0",
35
- "fast-glob": "^3.3.3",
36
- "ora": "^8.1.1",
37
- "yaml": "^2.7.0",
38
- "zod": "^3.24.1"
39
- },
40
- "devDependencies": {
41
- "@types/node": "^22.10.5",
42
- "typescript": "^5.7.3",
43
- "vitest": "^2.1.8"
44
- },
45
- "keywords": [
46
- "claude",
47
- "claude-code",
48
- "specs",
49
- "workflow",
50
- "cli",
51
- "ai",
52
- "development",
53
- "specification"
54
- ],
55
- "author": "keenu",
56
- "license": "MIT",
57
- "repository": {
58
- "type": "git",
59
- "url": "git+https://github.com/xullul/dino-spec.git"
60
- },
61
- "bugs": {
62
- "url": "https://github.com/xullul/dino-spec/issues"
63
- },
64
- "homepage": "https://github.com/xullul/dino-spec#readme",
65
- "publishConfig": {
66
- "access": "public"
67
- }
68
- }
1
+ {
2
+ "name": "dino-spec",
3
+ "version": "0.5.3",
4
+ "description": "Claude Code workflow system with dinosaur-themed specification phases",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "default": "./dist/index.js"
10
+ }
11
+ },
12
+ "bin": {
13
+ "dino": "./bin/dino.js"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "bin"
18
+ ],
19
+ "engines": {
20
+ "node": ">=20.0.0"
21
+ },
22
+ "dependencies": {
23
+ "chalk": "^5.4.1",
24
+ "commander": "^13.1.0",
25
+ "fast-glob": "^3.3.3",
26
+ "ora": "^8.1.1",
27
+ "yaml": "^2.7.0",
28
+ "zod": "^3.24.1"
29
+ },
30
+ "devDependencies": {
31
+ "@types/node": "^22.10.5",
32
+ "typescript": "^5.7.3",
33
+ "vitest": "^2.1.8"
34
+ },
35
+ "keywords": [
36
+ "claude",
37
+ "claude-code",
38
+ "specs",
39
+ "workflow",
40
+ "cli",
41
+ "ai",
42
+ "development",
43
+ "specification"
44
+ ],
45
+ "author": "keenu",
46
+ "license": "MIT",
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "git+https://github.com/xullul/dino-spec.git"
50
+ },
51
+ "bugs": {
52
+ "url": "https://github.com/xullul/dino-spec/issues"
53
+ },
54
+ "homepage": "https://github.com/xullul/dino-spec#readme",
55
+ "publishConfig": {
56
+ "access": "public"
57
+ },
58
+ "scripts": {
59
+ "build": "node build.js",
60
+ "dev": "tsc --watch",
61
+ "dev:cli": "pnpm build && node bin/dino.js",
62
+ "lint": "eslint src/",
63
+ "test": "vitest run",
64
+ "test:watch": "vitest"
65
+ }
66
+ }