rrce-workflow 0.2.6 → 0.2.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/agent-core/prompts/documentation.md +7 -11
- package/agent-core/prompts/executor.md +7 -8
- package/agent-core/prompts/init.md +18 -12
- package/agent-core/prompts/planning_orchestrator.md +7 -11
- package/agent-core/prompts/research_discussion.md +7 -11
- package/agent-core/prompts/sync.md +7 -11
- package/agent-core/templates/documentation_output.md +1 -1
- package/agent-core/templates/executor_output.md +1 -1
- package/agent-core/templates/init_output.md +1 -1
- package/agent-core/templates/planning_output.md +1 -1
- package/agent-core/templates/research_output.md +1 -1
- package/package.json +1 -1
- package/src/commands/wizard/setup-flow.ts +2 -10
- package/src/commands/wizard/update-flow.ts +2 -7
- package/src/lib/paths.ts +6 -2
|
@@ -48,17 +48,13 @@ Non-Negotiables
|
|
|
48
48
|
6. Close the loop in `meta.json` when working within a task by setting `agents.documentation.status`, refreshing `checklist`, and updating overall `status`.
|
|
49
49
|
|
|
50
50
|
Path Resolution
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
|
|
59
|
-
- Global home: `{{RRCE_HOME}}` - **To resolve:** read `.rrce-workflow/config.yaml` → `storage.globalPath`, or default `~/.rrce-workflow`
|
|
60
|
-
- Workspace root: `{{WORKSPACE_ROOT}}` (auto-detected or via `$RRCE_WORKSPACE`)
|
|
61
|
-
- Workspace name: `{{WORKSPACE_NAME}}` (from config or directory name)
|
|
51
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first.
|
|
52
|
+
|
|
53
|
+
**How to resolve `{{RRCE_DATA}}`**:
|
|
54
|
+
1. Read `config.yaml` → get `storage.mode` and `project.name`
|
|
55
|
+
2. Resolve: `workspace` → `.rrce-workflow/` | `global` → `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
|
|
56
|
+
|
|
57
|
+
**How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
|
|
62
58
|
|
|
63
59
|
Cross-Project References
|
|
64
60
|
- Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
|
|
@@ -52,14 +52,13 @@ Non-Negotiables
|
|
|
52
52
|
6. Update `meta.json` as you proceed so statuses stay accurate.
|
|
53
53
|
|
|
54
54
|
Path Resolution
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- Workspace name: `{{WORKSPACE_NAME}}` (from `config.yaml` → `project.name`)
|
|
55
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first.
|
|
56
|
+
|
|
57
|
+
**How to resolve `{{RRCE_DATA}}`**:
|
|
58
|
+
1. Read `config.yaml` → get `storage.mode` and `project.name`
|
|
59
|
+
2. Resolve: `workspace` → `.rrce-workflow/` | `global` → `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
|
|
60
|
+
|
|
61
|
+
**How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
|
|
63
62
|
|
|
64
63
|
Cross-Project References
|
|
65
64
|
- Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
|
|
@@ -34,18 +34,24 @@ Non-Negotiables
|
|
|
34
34
|
6. Keep output actionable and scannable; use structured sections.
|
|
35
35
|
|
|
36
36
|
Path Resolution
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
37
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first to resolve all paths.
|
|
38
|
+
|
|
39
|
+
**How to resolve `{{RRCE_DATA}}`** (primary data path):
|
|
40
|
+
1. Read `.rrce-workflow/config.yaml`
|
|
41
|
+
2. Get `storage.mode` (default: `global`) and `project.name`
|
|
42
|
+
3. Resolve based on mode:
|
|
43
|
+
- `workspace` → `<workspace>/.rrce-workflow/`
|
|
44
|
+
- `global` → `{{RRCE_HOME}}/workspaces/<project.name>/`
|
|
45
|
+
- `both` → `<workspace>/.rrce-workflow/` (primary), synced to global
|
|
46
|
+
|
|
47
|
+
**How to resolve `{{RRCE_HOME}}`** (global home):
|
|
48
|
+
1. Read `.rrce-workflow/config.yaml`
|
|
49
|
+
2. If `storage.globalPath` exists, use that value
|
|
50
|
+
3. Otherwise, default to `~/.rrce-workflow`
|
|
51
|
+
|
|
52
|
+
**Other variables:**
|
|
53
|
+
- `{{WORKSPACE_ROOT}}` = Current workspace directory
|
|
54
|
+
- `{{WORKSPACE_NAME}}` = `config.yaml` → `project.name`
|
|
49
55
|
|
|
50
56
|
Cross-Project References
|
|
51
57
|
- To reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project-name>/knowledge/`
|
|
@@ -44,17 +44,13 @@ Non-Negotiables
|
|
|
44
44
|
6. Keep the written plan under 500 lines and reference supporting materials explicitly.
|
|
45
45
|
|
|
46
46
|
Path Resolution
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
|
|
55
|
-
- Global home: `{{RRCE_HOME}}` - **To resolve:** read `.rrce-workflow/config.yaml` → `storage.globalPath`, or default `~/.rrce-workflow`
|
|
56
|
-
- Workspace root: `{{WORKSPACE_ROOT}}` (auto-detected or via `$RRCE_WORKSPACE`)
|
|
57
|
-
- Workspace name: `{{WORKSPACE_NAME}}` (from config or directory name)
|
|
47
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first.
|
|
48
|
+
|
|
49
|
+
**How to resolve `{{RRCE_DATA}}`**:
|
|
50
|
+
1. Read `config.yaml` → get `storage.mode` and `project.name`
|
|
51
|
+
2. Resolve: `workspace` → `.rrce-workflow/` | `global` → `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
|
|
52
|
+
|
|
53
|
+
**How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
|
|
58
54
|
|
|
59
55
|
Cross-Project References
|
|
60
56
|
- Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
|
|
@@ -38,17 +38,13 @@ Non-Negotiables
|
|
|
38
38
|
6. Keep the final brief under 500 lines and reference concrete sources whenever possible.
|
|
39
39
|
|
|
40
40
|
Path Resolution
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
|
|
49
|
-
- Global home: `{{RRCE_HOME}}` - **To resolve:** read `.rrce-workflow/config.yaml` → `storage.globalPath`, or default `~/.rrce-workflow`
|
|
50
|
-
- Workspace root: `{{WORKSPACE_ROOT}}` (auto-detected or via `$RRCE_WORKSPACE`)
|
|
51
|
-
- Workspace name: `{{WORKSPACE_NAME}}` (from config or directory name)
|
|
41
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first.
|
|
42
|
+
|
|
43
|
+
**How to resolve `{{RRCE_DATA}}`**:
|
|
44
|
+
1. Read `config.yaml` → get `storage.mode` and `project.name`
|
|
45
|
+
2. Resolve: `workspace` → `.rrce-workflow/` | `global` → `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
|
|
46
|
+
|
|
47
|
+
**How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
|
|
52
48
|
|
|
53
49
|
Cross-Project References
|
|
54
50
|
- Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
|
|
@@ -38,17 +38,13 @@ Non-Negotiables
|
|
|
38
38
|
5. Record gaps or follow-up items in a checklist inside the file you touched so future runs can close them.
|
|
39
39
|
|
|
40
40
|
Path Resolution
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
|
|
49
|
-
- Global home: `{{RRCE_HOME}}` - **To resolve:** read `.rrce-workflow/config.yaml` → `storage.globalPath`, or default `~/.rrce-workflow`
|
|
50
|
-
- Workspace root: `{{WORKSPACE_ROOT}}` (auto-detected or via `$RRCE_WORKSPACE`)
|
|
51
|
-
- Workspace name: `{{WORKSPACE_NAME}}` (from config or directory name)
|
|
41
|
+
**Config file**: `.rrce-workflow/config.yaml` - Read this first.
|
|
42
|
+
|
|
43
|
+
**How to resolve `{{RRCE_DATA}}`**:
|
|
44
|
+
1. Read `config.yaml` → get `storage.mode` and `project.name`
|
|
45
|
+
2. Resolve: `workspace` → `.rrce-workflow/` | `global` → `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
|
|
46
|
+
|
|
47
|
+
**How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
|
|
52
48
|
|
|
53
49
|
Cross-Project References
|
|
54
50
|
- Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
RRCE Template Variables:
|
|
3
|
-
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow.yaml)
|
|
3
|
+
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow/config.yaml)
|
|
4
4
|
- global: {{RRCE_HOME}}/workspaces/<workspace-name>/
|
|
5
5
|
- workspace: <workspace>/.rrce-workflow/
|
|
6
6
|
- both: <workspace>/.rrce-workflow/ (primary, auto-synced to global)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
RRCE Template Variables:
|
|
3
|
-
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow.yaml)
|
|
3
|
+
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow/config.yaml)
|
|
4
4
|
- global: {{RRCE_HOME}}/workspaces/<workspace-name>/
|
|
5
5
|
- workspace: <workspace>/.rrce-workflow/
|
|
6
6
|
- both: <workspace>/.rrce-workflow/ (primary, auto-synced to global)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
RRCE Template Variables:
|
|
3
|
-
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow.yaml)
|
|
3
|
+
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow/config.yaml)
|
|
4
4
|
- global: {{RRCE_HOME}}/workspaces/<workspace-name>/
|
|
5
5
|
- workspace: <workspace>/.rrce-workflow/
|
|
6
6
|
- both: <workspace>/.rrce-workflow/ (primary, auto-synced to global)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
RRCE Template Variables:
|
|
3
|
-
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow.yaml)
|
|
3
|
+
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow/config.yaml)
|
|
4
4
|
- global: {{RRCE_HOME}}/workspaces/<workspace-name>/
|
|
5
5
|
- workspace: <workspace>/.rrce-workflow/
|
|
6
6
|
- both: <workspace>/.rrce-workflow/ (primary, auto-synced to global)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
RRCE Template Variables:
|
|
3
|
-
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow.yaml)
|
|
3
|
+
- {{RRCE_DATA}}: Primary storage path (resolves based on storage mode in .rrce-workflow/config.yaml)
|
|
4
4
|
- global: {{RRCE_HOME}}/workspaces/<workspace-name>/
|
|
5
5
|
- workspace: <workspace>/.rrce-workflow/
|
|
6
6
|
- both: <workspace>/.rrce-workflow/ (primary, auto-synced to global)
|
package/package.json
CHANGED
|
@@ -250,12 +250,11 @@ async function generateConfiguration(
|
|
|
250
250
|
|
|
251
251
|
for (const dataPath of dataPaths) {
|
|
252
252
|
ensureDir(dataPath);
|
|
253
|
-
// Create agent metadata subdirectories
|
|
253
|
+
// Create agent metadata subdirectories (data only, no prompts)
|
|
254
254
|
ensureDir(path.join(dataPath, 'knowledge'));
|
|
255
255
|
ensureDir(path.join(dataPath, 'refs'));
|
|
256
256
|
ensureDir(path.join(dataPath, 'tasks'));
|
|
257
257
|
ensureDir(path.join(dataPath, 'templates'));
|
|
258
|
-
ensureDir(path.join(dataPath, 'prompts'));
|
|
259
258
|
}
|
|
260
259
|
|
|
261
260
|
// Get the agent-core directory path
|
|
@@ -267,16 +266,9 @@ async function generateConfiguration(
|
|
|
267
266
|
// Also copy templates to all storage locations
|
|
268
267
|
copyDirToAllStoragePaths(path.join(agentCoreDir, 'templates'), 'templates', dataPaths);
|
|
269
268
|
|
|
270
|
-
// Load prompts
|
|
269
|
+
// Load prompts for IDE-specific locations
|
|
271
270
|
const prompts = loadPromptsFromDir(getAgentCorePromptsDir());
|
|
272
271
|
|
|
273
|
-
// Copy prompts to all storage locations (for cross-project access)
|
|
274
|
-
for (const dataPath of dataPaths) {
|
|
275
|
-
const promptsDir = path.join(dataPath, 'prompts');
|
|
276
|
-
ensureDir(promptsDir);
|
|
277
|
-
copyPromptsToDir(prompts, promptsDir, '.md');
|
|
278
|
-
}
|
|
279
|
-
|
|
280
272
|
// Copy prompts to tool-specific locations (for IDE integration)
|
|
281
273
|
if (config.tools.includes('copilot')) {
|
|
282
274
|
const copilotPath = getAgentPromptPath(workspacePath, 'copilot');
|
|
@@ -56,14 +56,9 @@ export async function runUpdateFlow(
|
|
|
56
56
|
|
|
57
57
|
s.start('Updating from package');
|
|
58
58
|
|
|
59
|
-
// Update
|
|
59
|
+
// Update templates in all storage locations (no prompts in data paths)
|
|
60
60
|
for (const dataPath of dataPaths) {
|
|
61
|
-
// Update
|
|
62
|
-
const promptsDir = path.join(dataPath, 'prompts');
|
|
63
|
-
ensureDir(promptsDir);
|
|
64
|
-
copyPromptsToDir(prompts, promptsDir, '.md');
|
|
65
|
-
|
|
66
|
-
// Update templates
|
|
61
|
+
// Update templates only
|
|
67
62
|
copyDirToAllStoragePaths(path.join(agentCoreDir, 'templates'), 'templates', [dataPath]);
|
|
68
63
|
}
|
|
69
64
|
|
package/src/lib/paths.ts
CHANGED
|
@@ -162,10 +162,14 @@ export function ensureDir(dirPath: string): void {
|
|
|
162
162
|
|
|
163
163
|
/**
|
|
164
164
|
* Get path for agent prompts based on tool
|
|
165
|
-
*
|
|
165
|
+
* IDE-specific locations so IDEs can auto-discover prompts
|
|
166
166
|
*/
|
|
167
167
|
export function getAgentPromptPath(workspaceRoot: string, tool: 'copilot' | 'antigravity'): string {
|
|
168
|
-
|
|
168
|
+
if (tool === 'copilot') {
|
|
169
|
+
return path.join(workspaceRoot, '.github', 'agents');
|
|
170
|
+
} else {
|
|
171
|
+
return path.join(workspaceRoot, '.agent', 'workflows');
|
|
172
|
+
}
|
|
169
173
|
}
|
|
170
174
|
|
|
171
175
|
/**
|