clavix 4.8.0 → 4.9.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.
- package/dist/core/adapters/amp-adapter.d.ts +3 -0
- package/dist/core/adapters/amp-adapter.js +1 -0
- package/dist/core/adapters/cline-adapter.d.ts +3 -0
- package/dist/core/adapters/cline-adapter.js +1 -0
- package/dist/core/adapters/codebuddy-adapter.d.ts +3 -0
- package/dist/core/adapters/codebuddy-adapter.js +1 -0
- package/dist/core/adapters/codex-adapter.d.ts +3 -0
- package/dist/core/adapters/codex-adapter.js +1 -0
- package/dist/core/adapters/cursor-adapter.d.ts +3 -0
- package/dist/core/adapters/cursor-adapter.js +1 -0
- package/dist/core/adapters/droid-adapter.d.ts +3 -0
- package/dist/core/adapters/droid-adapter.js +1 -0
- package/dist/core/adapters/instructions-generator.js +9 -2
- package/dist/core/adapters/kilocode-adapter.d.ts +3 -0
- package/dist/core/adapters/kilocode-adapter.js +1 -0
- package/dist/core/adapters/opencode-adapter.d.ts +3 -0
- package/dist/core/adapters/opencode-adapter.js +1 -0
- package/dist/core/adapters/roocode-adapter.d.ts +3 -0
- package/dist/core/adapters/roocode-adapter.js +1 -0
- package/dist/core/adapters/windsurf-adapter.d.ts +3 -0
- package/dist/core/adapters/windsurf-adapter.js +1 -0
- package/dist/core/command-transformer.d.ts +55 -0
- package/dist/core/command-transformer.js +65 -0
- package/dist/templates/slash-commands/_canonical/archive.md +67 -81
- package/dist/templates/slash-commands/_canonical/deep.md +40 -34
- package/dist/templates/slash-commands/_canonical/execute.md +187 -155
- package/dist/templates/slash-commands/_canonical/fast.md +33 -24
- package/dist/templates/slash-commands/_canonical/implement.md +283 -301
- package/dist/templates/slash-commands/_canonical/plan.md +33 -17
- package/dist/templates/slash-commands/_canonical/prd.md +36 -21
- package/dist/templates/slash-commands/_canonical/start.md +34 -33
- package/dist/templates/slash-commands/_canonical/summarize.md +39 -47
- package/dist/templates/slash-commands/_canonical/verify.md +324 -186
- package/dist/templates/slash-commands/_components/agent-protocols/cli-reference.md +202 -0
- package/dist/templates/slash-commands/_components/agent-protocols/error-handling.md +145 -88
- package/dist/templates/slash-commands/_components/agent-protocols/supportive-companion.md +216 -0
- package/dist/templates/slash-commands/_components/agent-protocols/task-blocking.md +224 -0
- package/dist/templates/slash-commands/_components/references/quality-dimensions.md +152 -44
- package/dist/templates/slash-commands/_components/sections/conversation-examples.md +302 -0
- package/dist/templates/slash-commands/_components/sections/escalation-factors.md +119 -87
- package/dist/templates/slash-commands/_components/sections/improvement-explanations.md +171 -0
- package/dist/templates/slash-commands/_components/sections/pattern-impact.md +208 -0
- package/dist/templates/slash-commands/_components/sections/prd-examples.md +289 -0
- package/dist/templates/slash-commands/_components/troubleshooting/vibecoder-recovery.md +223 -0
- package/dist/types/agent.d.ts +4 -0
- package/dist/utils/template-loader.d.ts +1 -1
- package/dist/utils/template-loader.js +5 -1
- package/package.json +1 -1
|
@@ -13,6 +13,9 @@ export declare class AmpAdapter extends BaseAdapter {
|
|
|
13
13
|
supportsSubdirectories: boolean;
|
|
14
14
|
supportsFrontmatter: boolean;
|
|
15
15
|
supportsExecutableCommands: boolean;
|
|
16
|
+
commandFormat: {
|
|
17
|
+
separator: "-";
|
|
18
|
+
};
|
|
16
19
|
};
|
|
17
20
|
/**
|
|
18
21
|
* Detect if Amp is available in the project
|
|
@@ -14,6 +14,9 @@ export declare class CodeBuddyAdapter extends BaseAdapter {
|
|
|
14
14
|
supportsFrontmatter: boolean;
|
|
15
15
|
argumentPlaceholder: string;
|
|
16
16
|
frontmatterFields: string[];
|
|
17
|
+
commandFormat: {
|
|
18
|
+
separator: "-";
|
|
19
|
+
};
|
|
17
20
|
};
|
|
18
21
|
detectProject(): Promise<boolean>;
|
|
19
22
|
getCommandPath(): string;
|
|
@@ -16,6 +16,7 @@ export class CodeBuddyAdapter extends BaseAdapter {
|
|
|
16
16
|
supportsFrontmatter: true,
|
|
17
17
|
argumentPlaceholder: '$1',
|
|
18
18
|
frontmatterFields: ['description', 'argument-hint'],
|
|
19
|
+
commandFormat: { separator: '-' },
|
|
19
20
|
};
|
|
20
21
|
async detectProject() {
|
|
21
22
|
if (await FileSystem.exists('.codebuddy')) {
|
|
@@ -14,6 +14,9 @@ export declare class CodexAdapter extends BaseAdapter {
|
|
|
14
14
|
supportsFrontmatter: boolean;
|
|
15
15
|
argumentPlaceholder: string;
|
|
16
16
|
frontmatterFields: string[];
|
|
17
|
+
commandFormat: {
|
|
18
|
+
separator: "-";
|
|
19
|
+
};
|
|
17
20
|
};
|
|
18
21
|
detectProject(): Promise<boolean>;
|
|
19
22
|
getCommandPath(): string;
|
|
@@ -16,6 +16,7 @@ export class CodexAdapter extends BaseAdapter {
|
|
|
16
16
|
supportsFrontmatter: true,
|
|
17
17
|
argumentPlaceholder: '$ARGUMENTS',
|
|
18
18
|
frontmatterFields: ['description', 'argument-hint'],
|
|
19
|
+
commandFormat: { separator: '-' },
|
|
19
20
|
};
|
|
20
21
|
async detectProject() {
|
|
21
22
|
const codexDir = path.join(this.getHomeDir(), '.codex');
|
|
@@ -15,6 +15,9 @@ export declare class DroidAdapter extends BaseAdapter {
|
|
|
15
15
|
supportsFrontmatter: boolean;
|
|
16
16
|
frontmatterFields: string[];
|
|
17
17
|
argumentPlaceholder: string;
|
|
18
|
+
commandFormat: {
|
|
19
|
+
separator: "-";
|
|
20
|
+
};
|
|
18
21
|
};
|
|
19
22
|
/**
|
|
20
23
|
* Detect if Droid CLI is available in the project
|
|
@@ -15,6 +15,7 @@ export class DroidAdapter extends BaseAdapter {
|
|
|
15
15
|
supportsFrontmatter: true,
|
|
16
16
|
frontmatterFields: ['description', 'argument-hint'],
|
|
17
17
|
argumentPlaceholder: '$ARGUMENTS',
|
|
18
|
+
commandFormat: { separator: '-' },
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
20
21
|
* Detect if Droid CLI is available in the project
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FileSystem } from '../../utils/file-system.js';
|
|
2
2
|
import { TemplateAssembler } from '../template-assembler.js';
|
|
3
|
+
import { CommandTransformer } from '../command-transformer.js';
|
|
3
4
|
import * as path from 'path';
|
|
4
5
|
import { fileURLToPath } from 'url';
|
|
5
6
|
import { dirname } from 'path';
|
|
@@ -79,17 +80,23 @@ export class InstructionsGenerator {
|
|
|
79
80
|
// Copy all .md files from canonical, resolving includes
|
|
80
81
|
const entries = await FileSystem.readdir(canonicalPath, { withFileTypes: true });
|
|
81
82
|
const mdFiles = entries.filter((f) => f.isFile() && f.name.endsWith('.md'));
|
|
83
|
+
// v4.8.1: Generic integrations use hyphen format for slash commands
|
|
84
|
+
const genericFeatures = { commandFormat: { separator: '-' } };
|
|
82
85
|
for (const file of mdFiles) {
|
|
83
86
|
const destPath = path.join(workflowsTarget, file.name);
|
|
84
87
|
try {
|
|
85
88
|
// v4.5: Use TemplateAssembler to resolve {{INCLUDE:}} markers
|
|
86
89
|
const result = await assembler.assembleTemplate(file.name);
|
|
87
|
-
|
|
90
|
+
// v4.8.1: Transform command references to hyphen format for generic integrations
|
|
91
|
+
const transformedContent = CommandTransformer.transform(result.content, genericFeatures);
|
|
92
|
+
await FileSystem.writeFileAtomic(destPath, transformedContent);
|
|
88
93
|
}
|
|
89
94
|
catch {
|
|
90
95
|
// Fallback: copy without include resolution if assembly fails
|
|
91
96
|
const srcPath = path.join(canonicalPath, file.name);
|
|
92
|
-
|
|
97
|
+
let content = await FileSystem.readFile(srcPath);
|
|
98
|
+
// v4.8.1: Still transform command references in fallback path
|
|
99
|
+
content = CommandTransformer.transform(content, genericFeatures);
|
|
93
100
|
await FileSystem.writeFileAtomic(destPath, content);
|
|
94
101
|
}
|
|
95
102
|
}
|
|
@@ -19,6 +19,9 @@ export declare class KilocodeAdapter extends BaseAdapter {
|
|
|
19
19
|
readonly features: {
|
|
20
20
|
supportsSubdirectories: boolean;
|
|
21
21
|
supportsFrontmatter: boolean;
|
|
22
|
+
commandFormat: {
|
|
23
|
+
separator: "-";
|
|
24
|
+
};
|
|
22
25
|
};
|
|
23
26
|
/**
|
|
24
27
|
* Detect if Kilocode is available in the project
|
|
@@ -15,6 +15,9 @@ export declare class OpenCodeAdapter extends BaseAdapter {
|
|
|
15
15
|
supportsFrontmatter: boolean;
|
|
16
16
|
frontmatterFields: string[];
|
|
17
17
|
argumentPlaceholder: string;
|
|
18
|
+
commandFormat: {
|
|
19
|
+
separator: "-";
|
|
20
|
+
};
|
|
18
21
|
};
|
|
19
22
|
/**
|
|
20
23
|
* Detect if OpenCode is available in the project
|
|
@@ -15,6 +15,7 @@ export class OpenCodeAdapter extends BaseAdapter {
|
|
|
15
15
|
supportsFrontmatter: true,
|
|
16
16
|
frontmatterFields: ['description', 'agent', 'model'],
|
|
17
17
|
argumentPlaceholder: '$ARGUMENTS',
|
|
18
|
+
commandFormat: { separator: '-' },
|
|
18
19
|
};
|
|
19
20
|
/**
|
|
20
21
|
* Detect if OpenCode is available in the project
|
|
@@ -20,6 +20,9 @@ export declare class RoocodeAdapter extends BaseAdapter {
|
|
|
20
20
|
readonly features: {
|
|
21
21
|
supportsSubdirectories: boolean;
|
|
22
22
|
supportsFrontmatter: boolean;
|
|
23
|
+
commandFormat: {
|
|
24
|
+
separator: "-";
|
|
25
|
+
};
|
|
23
26
|
};
|
|
24
27
|
/**
|
|
25
28
|
* Detect if Roocode is available in the project
|
|
@@ -19,6 +19,9 @@ export declare class WindsurfAdapter extends BaseAdapter {
|
|
|
19
19
|
readonly features: {
|
|
20
20
|
supportsSubdirectories: boolean;
|
|
21
21
|
supportsFrontmatter: boolean;
|
|
22
|
+
commandFormat: {
|
|
23
|
+
separator: "-";
|
|
24
|
+
};
|
|
22
25
|
};
|
|
23
26
|
/**
|
|
24
27
|
* Detect if Windsurf is available in the project
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { IntegrationFeatures } from '../types/agent.js';
|
|
2
|
+
/**
|
|
3
|
+
* CommandTransformer - Transforms slash command references in template content
|
|
4
|
+
*
|
|
5
|
+
* Handles conversion between command formats:
|
|
6
|
+
* - Colon format: /clavix:fast (Claude Code style - uses subdirectories)
|
|
7
|
+
* - Hyphen format: /clavix-fast (Cursor, Droid style - flat files)
|
|
8
|
+
*
|
|
9
|
+
* Preserves CLI commands (clavix prompts list) unchanged - only transforms
|
|
10
|
+
* slash commands that start with /clavix:
|
|
11
|
+
*
|
|
12
|
+
* @since v4.8.1
|
|
13
|
+
*/
|
|
14
|
+
export declare class CommandTransformer {
|
|
15
|
+
/**
|
|
16
|
+
* Matches /clavix:commandname pattern
|
|
17
|
+
* Supports hyphenated commands like task-complete
|
|
18
|
+
* Does NOT match CLI usage (no leading slash)
|
|
19
|
+
*/
|
|
20
|
+
private static readonly SLASH_COMMAND_PATTERN;
|
|
21
|
+
/** Default command format (canonical/Claude Code style) */
|
|
22
|
+
private static readonly DEFAULT_SEPARATOR;
|
|
23
|
+
/**
|
|
24
|
+
* Transform slash command references in content based on adapter's command format
|
|
25
|
+
*
|
|
26
|
+
* @param content - Template content with canonical /clavix:command references
|
|
27
|
+
* @param features - Adapter's integration features (may include commandFormat)
|
|
28
|
+
* @returns Transformed content with correct command format
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // For Cursor/Droid (hyphen format):
|
|
32
|
+
* transform('/clavix:fast', { commandFormat: { separator: '-' } })
|
|
33
|
+
* // Returns: '/clavix-fast'
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // For Claude Code (colon format, default):
|
|
37
|
+
* transform('/clavix:fast', { commandFormat: { separator: ':' } })
|
|
38
|
+
* // Returns: '/clavix:fast' (unchanged)
|
|
39
|
+
*/
|
|
40
|
+
static transform(content: string, features?: IntegrationFeatures): string;
|
|
41
|
+
/**
|
|
42
|
+
* Get the formatted command name for a specific adapter
|
|
43
|
+
* Useful for generating documentation or references
|
|
44
|
+
*
|
|
45
|
+
* @param commandName - Base command name (e.g., 'fast', 'execute', 'task-complete')
|
|
46
|
+
* @param features - Adapter's integration features
|
|
47
|
+
* @returns Formatted slash command (e.g., '/clavix:fast' or '/clavix-fast')
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* formatCommand('execute', { commandFormat: { separator: '-' } })
|
|
51
|
+
* // Returns: '/clavix-execute'
|
|
52
|
+
*/
|
|
53
|
+
static formatCommand(commandName: string, features?: IntegrationFeatures): string;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=command-transformer.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CommandTransformer - Transforms slash command references in template content
|
|
3
|
+
*
|
|
4
|
+
* Handles conversion between command formats:
|
|
5
|
+
* - Colon format: /clavix:fast (Claude Code style - uses subdirectories)
|
|
6
|
+
* - Hyphen format: /clavix-fast (Cursor, Droid style - flat files)
|
|
7
|
+
*
|
|
8
|
+
* Preserves CLI commands (clavix prompts list) unchanged - only transforms
|
|
9
|
+
* slash commands that start with /clavix:
|
|
10
|
+
*
|
|
11
|
+
* @since v4.8.1
|
|
12
|
+
*/
|
|
13
|
+
export class CommandTransformer {
|
|
14
|
+
/**
|
|
15
|
+
* Matches /clavix:commandname pattern
|
|
16
|
+
* Supports hyphenated commands like task-complete
|
|
17
|
+
* Does NOT match CLI usage (no leading slash)
|
|
18
|
+
*/
|
|
19
|
+
static SLASH_COMMAND_PATTERN = /\/clavix:(\w+(?:-\w+)*)/g;
|
|
20
|
+
/** Default command format (canonical/Claude Code style) */
|
|
21
|
+
static DEFAULT_SEPARATOR = ':';
|
|
22
|
+
/**
|
|
23
|
+
* Transform slash command references in content based on adapter's command format
|
|
24
|
+
*
|
|
25
|
+
* @param content - Template content with canonical /clavix:command references
|
|
26
|
+
* @param features - Adapter's integration features (may include commandFormat)
|
|
27
|
+
* @returns Transformed content with correct command format
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // For Cursor/Droid (hyphen format):
|
|
31
|
+
* transform('/clavix:fast', { commandFormat: { separator: '-' } })
|
|
32
|
+
* // Returns: '/clavix-fast'
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* // For Claude Code (colon format, default):
|
|
36
|
+
* transform('/clavix:fast', { commandFormat: { separator: ':' } })
|
|
37
|
+
* // Returns: '/clavix:fast' (unchanged)
|
|
38
|
+
*/
|
|
39
|
+
static transform(content, features) {
|
|
40
|
+
const separator = features?.commandFormat?.separator ?? this.DEFAULT_SEPARATOR;
|
|
41
|
+
// If using canonical format (colon), no transformation needed
|
|
42
|
+
if (separator === ':') {
|
|
43
|
+
return content;
|
|
44
|
+
}
|
|
45
|
+
// Transform /clavix:command to /clavix-command (or other separator)
|
|
46
|
+
return content.replace(this.SLASH_COMMAND_PATTERN, `/clavix${separator}$1`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get the formatted command name for a specific adapter
|
|
50
|
+
* Useful for generating documentation or references
|
|
51
|
+
*
|
|
52
|
+
* @param commandName - Base command name (e.g., 'fast', 'execute', 'task-complete')
|
|
53
|
+
* @param features - Adapter's integration features
|
|
54
|
+
* @returns Formatted slash command (e.g., '/clavix:fast' or '/clavix-fast')
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* formatCommand('execute', { commandFormat: { separator: '-' } })
|
|
58
|
+
* // Returns: '/clavix-execute'
|
|
59
|
+
*/
|
|
60
|
+
static formatCommand(commandName, features) {
|
|
61
|
+
const separator = features?.commandFormat?.separator ?? this.DEFAULT_SEPARATOR;
|
|
62
|
+
return `/clavix${separator}${commandName}`;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=command-transformer.js.map
|
|
@@ -3,47 +3,69 @@ name: "Clavix: Archive"
|
|
|
3
3
|
description: Archive completed PRD projects
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Clavix Archive
|
|
6
|
+
# Clavix: Archive Your Completed Work
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Done with a project? I'll move it to the archive to keep your workspace tidy. You can always restore it later if needed.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
---
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## What This Does
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
When you run `/clavix:archive`, I:
|
|
15
|
+
1. **Find your completed projects** - Look for 100% done PRDs
|
|
16
|
+
2. **Ask which to archive** - You pick, or I archive all completed ones
|
|
17
|
+
3. **Move to archive folder** - Out of the way but not deleted
|
|
18
|
+
4. **Track everything** - So you can restore later if needed
|
|
15
19
|
|
|
16
|
-
**
|
|
20
|
+
**Your work is never deleted, just organized.**
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## CLAVIX MODE: Archival
|
|
25
|
+
|
|
26
|
+
**I'm in archival mode. Organizing your completed work.**
|
|
27
|
+
|
|
28
|
+
**What I'll do:**
|
|
29
|
+
- ✓ Find projects ready for archive
|
|
30
|
+
- ✓ Show you what's complete (100% tasks done)
|
|
31
|
+
- ✓ Move projects to archive when you confirm
|
|
32
|
+
- ✓ Track everything so you can restore later
|
|
33
|
+
|
|
34
|
+
**What I won't do:**
|
|
35
|
+
- ✗ Delete anything without explicit confirmation
|
|
36
|
+
- ✗ Archive projects you're still working on (unless you use --force)
|
|
37
|
+
- ✗ Make decisions for you - you pick what to archive
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## How I Archive Projects
|
|
42
|
+
|
|
43
|
+
**I handle all the commands - you just tell me what to do.**
|
|
22
44
|
|
|
23
|
-
|
|
24
|
-
- Prompt user for project selection
|
|
25
|
-
- Validate task completion status
|
|
26
|
-
- Handle file operations safely
|
|
27
|
-
- Update state tracking
|
|
45
|
+
### What I Run (You Don't Need To)
|
|
28
46
|
|
|
29
|
-
|
|
47
|
+
| What You Want | Command I Execute |
|
|
48
|
+
|---------------|-------------------|
|
|
49
|
+
| Archive completed project | `clavix archive` |
|
|
50
|
+
| Archive specific project | `clavix archive [name]` |
|
|
51
|
+
| Archive incomplete work | `clavix archive [name] --force` |
|
|
52
|
+
| Delete permanently | `clavix archive [name] --delete` |
|
|
53
|
+
| See what's archived | `clavix archive --list` |
|
|
54
|
+
| Restore from archive | `clavix archive --restore [name]` |
|
|
30
55
|
|
|
31
|
-
|
|
32
|
-
- **Specific project**: `clavix archive [project-name]`
|
|
33
|
-
- **Force archive incomplete**: `clavix archive [project-name] --force`
|
|
34
|
-
- **Permanent delete**: `clavix archive [project-name] --delete`
|
|
35
|
-
- **List archived**: `clavix archive --list`
|
|
36
|
-
- **Restore**: `clavix archive --restore [project-name]`
|
|
56
|
+
### Before I Archive
|
|
37
57
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
I check:
|
|
59
|
+
- ✓ Projects exist in `.clavix/outputs/`
|
|
60
|
+
- ✓ What you want to do (archive, delete, restore)
|
|
61
|
+
- ✓ Project name is correct
|
|
42
62
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
63
|
+
### After Archiving
|
|
64
|
+
|
|
65
|
+
I tell you:
|
|
66
|
+
- Where the project went
|
|
67
|
+
- How to restore it (unless you deleted it)
|
|
68
|
+
- What to do next
|
|
47
69
|
|
|
48
70
|
### Part B: Understanding Archive Operations
|
|
49
71
|
|
|
@@ -238,57 +260,21 @@ User types: api-experiment-1
|
|
|
238
260
|
Result: Project permanently deleted from .clavix/outputs/api-experiment-1/
|
|
239
261
|
```
|
|
240
262
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
- **Interactive selection**: `clavix archive` (let user pick from list)
|
|
257
|
-
- **Specific project**: `clavix archive [project-name]`
|
|
258
|
-
- **Force incomplete**: `clavix archive [project-name] --force`
|
|
259
|
-
- **List archived**: `clavix archive --list`
|
|
260
|
-
- **Restore**: `clavix archive --restore [project-name]`
|
|
261
|
-
- **Delete**: `clavix archive [project-name] --delete` (with extra caution)
|
|
262
|
-
|
|
263
|
-
4. **Confirm before archiving**:
|
|
264
|
-
- If using specific project mode, confirm project name with user
|
|
265
|
-
- Mention the archive location (`.clavix/outputs/archive/`)
|
|
266
|
-
- Explain that restoration is possible
|
|
267
|
-
|
|
268
|
-
5. **Use --force cautiously**:
|
|
269
|
-
- Only when user explicitly wants to archive incomplete work
|
|
270
|
-
- Run command and let CLI show incomplete task count
|
|
271
|
-
- CLI will ask for user confirmation
|
|
272
|
-
- Explain they won't lose data (just moving location)
|
|
273
|
-
|
|
274
|
-
6. **Suggest restoration when appropriate**:
|
|
275
|
-
- If user mentions old/past work, check archive first
|
|
276
|
-
- Run `clavix archive --list` to show what's archived
|
|
277
|
-
- Offer to restore if needed via `clavix archive --restore [project]`
|
|
278
|
-
|
|
279
|
-
7. **Handle delete requests with extreme caution**:
|
|
280
|
-
- Always ask: "Do you want to DELETE (permanent) or ARCHIVE (safe)?"
|
|
281
|
-
- Explain that delete is permanent and irreversible
|
|
282
|
-
- Suggest archive as the safer default
|
|
283
|
-
- Use decision tree to help user decide
|
|
284
|
-
- Only run `--delete` after clear confirmation from user
|
|
285
|
-
- Double-check it's truly no-value content (failed experiments, duplicates, test data)
|
|
286
|
-
- CLI will require typing project name to confirm - this is expected
|
|
287
|
-
|
|
288
|
-
8. **After CLI execution**:
|
|
289
|
-
- Communicate success/failure clearly
|
|
290
|
-
- Mention next steps (e.g., "Project archived, you can restore with `/clavix:archive --restore`")
|
|
291
|
-
- If error occurs, explain and suggest recovery options
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Agent Transparency (v4.9)
|
|
266
|
+
|
|
267
|
+
### CLI Reference (Commands I Execute)
|
|
268
|
+
{{INCLUDE:agent-protocols/cli-reference.md}}
|
|
269
|
+
|
|
270
|
+
### Error Handling
|
|
271
|
+
{{INCLUDE:agent-protocols/error-handling.md}}
|
|
272
|
+
|
|
273
|
+
### Recovery Patterns
|
|
274
|
+
{{INCLUDE:troubleshooting/vibecoder-recovery.md}}
|
|
275
|
+
|
|
276
|
+
### Agent Decision Rules
|
|
277
|
+
{{INCLUDE:agent-protocols/decision-rules.md}}
|
|
292
278
|
|
|
293
279
|
## Workflow Navigation
|
|
294
280
|
|
|
@@ -207,30 +207,35 @@ Deep mode provides **Clavix Intelligence™** with comprehensive analysis that g
|
|
|
207
207
|
|
|
208
208
|
---
|
|
209
209
|
|
|
210
|
-
## Agent Transparency (v4.
|
|
210
|
+
## Agent Transparency (v4.9)
|
|
211
211
|
|
|
212
|
-
###
|
|
213
|
-
{{INCLUDE:
|
|
212
|
+
### How to Explain Improvements
|
|
213
|
+
{{INCLUDE:sections/improvement-explanations.md}}
|
|
214
|
+
|
|
215
|
+
### Quality Dimensions (Plain English)
|
|
216
|
+
{{INCLUDE:references/quality-dimensions.md}}
|
|
217
|
+
|
|
218
|
+
### When to Recommend PRD Mode
|
|
219
|
+
{{INCLUDE:sections/escalation-factors.md}}
|
|
220
|
+
|
|
221
|
+
### What Made the Biggest Difference
|
|
222
|
+
{{INCLUDE:sections/pattern-impact.md}}
|
|
214
223
|
|
|
215
224
|
### Agent Decision Rules
|
|
216
225
|
{{INCLUDE:agent-protocols/decision-rules.md}}
|
|
217
226
|
|
|
218
|
-
###
|
|
219
|
-
{{INCLUDE:agent-protocols/
|
|
220
|
-
|
|
221
|
-
### Patterns Applied
|
|
222
|
-
{{INCLUDE:sections/pattern-visibility.md}}
|
|
227
|
+
### Error Handling
|
|
228
|
+
{{INCLUDE:agent-protocols/error-handling.md}}
|
|
223
229
|
|
|
224
230
|
### Deep Mode Pattern Selection
|
|
225
|
-
Deep mode has access to all patterns including
|
|
226
|
-
- **
|
|
227
|
-
- **
|
|
228
|
-
- **
|
|
229
|
-
- **
|
|
230
|
-
- **
|
|
231
|
-
- **
|
|
232
|
-
- **
|
|
233
|
-
- **PrerequisiteIdentifier**: Identifies prerequisites and dependencies
|
|
231
|
+
Deep mode has access to all patterns including comprehensive analysis:
|
|
232
|
+
- **Alternative Approaches**: 2-3 different ways to structure the request
|
|
233
|
+
- **Edge Cases**: Things that might go wrong or need special handling
|
|
234
|
+
- **Validation Checklist**: Steps to verify the implementation is complete
|
|
235
|
+
- **Hidden Assumptions**: Things you might be assuming but didn't say
|
|
236
|
+
- **Scope Boundaries**: What's in and out of scope
|
|
237
|
+
- **Error Handling**: How to deal with failures gracefully
|
|
238
|
+
- **Prerequisites**: What needs to exist before starting
|
|
234
239
|
|
|
235
240
|
---
|
|
236
241
|
|
|
@@ -479,27 +484,26 @@ Confirm:
|
|
|
479
484
|
- Index file updated with new entry
|
|
480
485
|
- Display success message: `✓ Prompt saved: <prompt-id>.md`
|
|
481
486
|
|
|
482
|
-
###
|
|
483
|
-
|
|
484
|
-
After saving completes successfully:
|
|
487
|
+
### After Saving
|
|
485
488
|
|
|
486
489
|
---
|
|
487
490
|
|
|
488
491
|
## ⛔ STOP HERE - Agent Verification Required
|
|
489
492
|
|
|
490
|
-
**Your workflow ends here.
|
|
493
|
+
**Your workflow ends here. After saving the prompt, verify it worked.**
|
|
491
494
|
|
|
492
495
|
### CLI Verification (Run This Command)
|
|
496
|
+
I run this command to confirm the save worked:
|
|
493
497
|
```bash
|
|
494
498
|
clavix prompts list
|
|
495
499
|
```
|
|
496
500
|
|
|
497
|
-
**
|
|
501
|
+
**If it worked**: Your prompt appears in the list.
|
|
498
502
|
|
|
499
|
-
**If
|
|
500
|
-
-
|
|
501
|
-
-
|
|
502
|
-
-
|
|
503
|
+
**If it failed**:
|
|
504
|
+
- I create the directory: `mkdir -p .clavix/outputs/prompts/deep`
|
|
505
|
+
- I try saving again
|
|
506
|
+
- If still failing, I tell you: "I had trouble saving, but here's your improved prompt..."
|
|
503
507
|
|
|
504
508
|
### Required Response Ending
|
|
505
509
|
|
|
@@ -507,26 +511,28 @@ clavix prompts list
|
|
|
507
511
|
```
|
|
508
512
|
✅ Deep analysis complete. Prompt optimized and saved.
|
|
509
513
|
|
|
510
|
-
|
|
514
|
+
Ready to build this? Just say "let's implement" or run:
|
|
511
515
|
/clavix:execute --latest
|
|
512
516
|
```
|
|
513
517
|
|
|
514
|
-
**
|
|
518
|
+
**IMPORTANT: I don't start implementing. I don't write code. My job is done.**
|
|
519
|
+
I wait for you to decide what to do next.
|
|
515
520
|
|
|
516
521
|
---
|
|
517
522
|
|
|
518
|
-
### Prompt Management (
|
|
523
|
+
### Prompt Management (Commands I Run)
|
|
524
|
+
|
|
525
|
+
These are commands I execute when needed - you don't need to run them.
|
|
519
526
|
|
|
520
|
-
**
|
|
527
|
+
**Check saved prompts:**
|
|
521
528
|
```bash
|
|
522
529
|
clavix prompts list
|
|
523
530
|
```
|
|
524
531
|
|
|
525
|
-
**Cleanup
|
|
532
|
+
**Cleanup (I run when you ask or during maintenance):**
|
|
526
533
|
```bash
|
|
527
|
-
clavix prompts clear --executed # Remove
|
|
528
|
-
clavix prompts clear --stale # Remove >30
|
|
529
|
-
clavix prompts clear --deep # Remove all deep prompts
|
|
534
|
+
clavix prompts clear --executed # Remove implemented prompts
|
|
535
|
+
clavix prompts clear --stale # Remove old prompts (>30 days)
|
|
530
536
|
```
|
|
531
537
|
|
|
532
538
|
## Workflow Navigation
|