rrce-workflow 0.2.7 → 0.2.10

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 CHANGED
@@ -5,89 +5,198 @@
5
5
  [![npm version](https://badge.fury.io/js/rrce-workflow.svg)](https://www.npmjs.com/package/rrce-workflow)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- RRCE-Workflow is a TUI that helps you set up and manage AI agent workflows for your codebase. It works with GitHub Copilot, Antigravity IDE, and other AI coding tools.
8
+ RRCE-Workflow is a CLI wizard that sets up AI agent prompts and workflows for your codebase. It works with **GitHub Copilot**, **Antigravity IDE**, and other AI coding assistants.
9
9
 
10
10
  ## Installation
11
11
 
12
12
  ```bash
13
- # Using npm
13
+ # Quick start (no install needed)
14
14
  npx rrce-workflow
15
15
 
16
- # Using bun (recommended)
17
- bunx rrce-workflow
18
-
19
- # Global install
16
+ # Or install globally
20
17
  npm install -g rrce-workflow
21
18
  ```
22
19
 
23
- ## Quick Start
20
+ ---
21
+
22
+ ## How to Use
23
+
24
+ ### 1. Initial Setup
25
+
26
+ Run the wizard in your project directory:
24
27
 
25
28
  ```bash
26
- # Run setup wizard
27
- rrce-workflow wizard
29
+ cd your-project
30
+ npx rrce-workflow
31
+ ```
32
+
33
+ The wizard will:
34
+ 1. Ask where to store workflow data (global, workspace, or both)
35
+ 2. Let you choose a custom global path if the default isn't writable
36
+ 3. Ask which AI tools you use (GitHub Copilot, Antigravity)
37
+ 4. Set up prompts and knowledge folders
38
+
39
+ ### 2. Using the Agent Prompts
28
40
 
29
- # Or just run to see available agents
30
- rrce-workflow
41
+ After setup, you'll have agent prompts in IDE-specific folders:
42
+
43
+ - **GitHub Copilot**: `.github/agents/*.agent.md`
44
+ - **Antigravity**: `.agent/workflows/*.md`
45
+
46
+ In your AI assistant, invoke prompts using their names:
47
+
48
+ | Agent | Invoke With | What It Does |
49
+ |-------|-------------|--------------|
50
+ | **Init** | `/init` | Analyze your codebase and create `project-context.md` |
51
+ | **Research** | `/research REQUEST="..." TASK_SLUG=my-task` | Clarify requirements, create research brief |
52
+ | **Planning** | `/plan TASK_SLUG=my-task` | Create actionable execution plan |
53
+ | **Execute** | `/execute TASK_SLUG=my-task` | Implement the planned work |
54
+ | **Docs** | `/docs DOC_TYPE=architecture` | Generate documentation |
55
+ | **Sync** | `/sync` | Update knowledge base after code changes |
56
+
57
+ ### 3. Recommended Workflow (RRCE Pipeline)
58
+
59
+ ```
60
+ 1. /init → Establish project context
61
+ 2. /research → Clarify requirements for a new task
62
+ 3. /plan → Create execution plan
63
+ 4. /execute → Implement the plan
64
+ 5. /docs → Generate documentation (optional)
65
+ 6. /sync → Keep knowledge base current (periodic)
31
66
  ```
32
67
 
33
- ## Features
68
+ #### Pipeline Stages Explained
34
69
 
35
- - **Setup Wizard** - Interactive configuration for storage mode and AI tools
36
- - **Agent Prompts** - Pre-built prompts for init, research, planning, execution, documentation, and sync
37
- - **Multi-Tool Support** - Works with GitHub Copilot (`.agent.md`) and Antigravity IDE
38
- - **Cross-Project References** - Reference context from related projects
70
+ **🔍 Init** Scans your codebase to understand tech stack, architecture, coding conventions, and project structure. Creates `project-context.md` that all other agents rely on. Run once at project start, and again when major changes occur.
39
71
 
40
- ## Agents
72
+ **💬 Research** — Entry point for new tasks. Takes a user request and engages in clarifying discussion to refine scope, surface risks, and identify gaps. Produces a research brief for the Planning agent.
41
73
 
42
- | Agent | Command | Description |
43
- |-------|---------|-------------|
44
- | **Init** | `/init` | Initialize or update project context |
45
- | **Research** | `/research` | Clarify requirements and create research brief |
46
- | **Planning** | `/plan` | Transform requirements into execution plan |
47
- | **Executor** | `/execute` | Implement the planned tasks |
48
- | **Documentation** | `/docs` | Generate project documentation |
49
- | **Sync** | `/sync` | Reconcile codebase with knowledge base |
74
+ **📋 Planning** Transforms the research brief into an ordered, actionable execution plan. Breaks work into tasks with dependencies, acceptance criteria, and testing strategy. Ensures the Executor has clear guidance.
50
75
 
51
- ## Configuration
76
+ **⚡ Execute** — Implements the planned work. Writes code, adds tests, runs verifications. Updates task metadata and logs execution notes for auditability.
52
77
 
53
- After running the wizard, a `.rrce-workflow.yaml` is created in your project:
78
+ **📄 Docs** — Synthesizes the completed work into documentation. Can generate API docs, architecture overviews, runbooks, or changelogs based on `DOC_TYPE`.
54
79
 
55
- ```yaml
56
- version: 1
80
+ **🔄 Sync** — Maintenance agent that reconciles the knowledge base with actual code. Run periodically to catch drift and keep documentation accurate.
57
81
 
82
+ ---
83
+
84
+ ## How It Works
85
+
86
+ ### Path Resolution
87
+
88
+ All agents read `.rrce-workflow/config.yaml` to resolve paths:
89
+
90
+ ```yaml
58
91
  storage:
59
- mode: global # or: workspace, both
92
+ mode: workspace # or: global, both
93
+ globalPath: "~/.rrce-workflow" # optional custom path
60
94
 
61
95
  project:
62
96
  name: "my-project"
63
97
  ```
64
98
 
65
- ### Storage Modes
99
+ Agents resolve `{{RRCE_DATA}}` based on storage mode:
100
+ - `workspace` → `.rrce-workflow/`
101
+ - `global` → `~/.rrce-workflow/workspaces/my-project/`
102
+ - `both` → `.rrce-workflow/` (primary, synced to global)
66
103
 
67
- | Mode | Location | Use Case |
68
- |------|----------|----------|
69
- | `global` | `~/.rrce-workflow/workspaces/<name>/` | Non-intrusive, cross-project access |
70
- | `workspace` | `.rrce-workflow/` | Portable with repo, team sharing |
71
- | `both` | Both locations (synced) | Redundancy + cross-project access |
104
+ ### Cross-Project References
72
105
 
73
- When `both` is selected, data is stored in **both** locations simultaneously:
74
- - Primary (for reads): `<workspace>/.rrce-workflow/`
75
- - Secondary (auto-synced): `~/.rrce-workflow/workspaces/<name>/`
106
+ When using `global` or `both` mode, you can reference other projects:
76
107
 
77
- Each storage location contains:
78
108
  ```
79
- <storage-path>/
80
- ├── knowledge/ # Project context and domain knowledge
81
- ├── prompts/ # Agent prompt files
82
- ├── refs/ # External references
83
- ├── tasks/ # Task artifacts and metadata
84
- └── templates/ # Output templates
109
+ ~/.rrce-workflow/workspaces/other-project/knowledge/project-context.md
110
+ ```
111
+
112
+ This enables a frontend app to reference its backend API's knowledge!
113
+
114
+ ---
115
+
116
+ ## Folder Structure
117
+
118
+ After setup, your project will have:
119
+
120
+ ```
121
+ your-project/
122
+ ├── .rrce-workflow/ # Data storage
123
+ │ ├── config.yaml # Configuration
124
+ │ ├── knowledge/ # Project context
125
+ │ ├── refs/ # External references
126
+ │ ├── tasks/ # Task artifacts by slug
127
+ │ └── templates/ # Output templates
128
+ ├── .github/agents/ # GitHub Copilot prompts
129
+ │ └── *.agent.md
130
+ └── .agent/workflows/ # Antigravity prompts
131
+ └── *.md
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Wizard Options
137
+
138
+ When you run the wizard on an already-configured project, you'll see:
139
+
140
+ | Option | Description |
141
+ |--------|-------------|
142
+ | **Link other project knowledge** | Reference knowledge from other projects in global storage |
143
+ | **Sync to global storage** | Copy workspace data to global (enables cross-project access) |
144
+ | **Update from package** | Get latest prompts and templates |
145
+
146
+ ---
147
+
148
+ ## Storage Mode Comparison
149
+
150
+ | Mode | Location | Best For |
151
+ |------|----------|----------|
152
+ | `global` | `~/.rrce-workflow/workspaces/<name>/` | Clean workspace, cross-project references |
153
+ | `workspace` | `.rrce-workflow/` | Team sharing, portable with repo |
154
+ | `both` | Both locations (synced) | Full redundancy + cross-project access |
155
+
156
+ ---
157
+
158
+ ## Custom Global Path
159
+
160
+ If the default `~/.rrce-workflow` isn't writable (common with `npx` in enterprise environments), the wizard lets you choose a custom location:
161
+
162
+ ```yaml
163
+ storage:
164
+ mode: global
165
+ globalPath: "/path/to/custom/rrce-workflow"
85
166
  ```
86
167
 
168
+ ---
169
+
87
170
  ## Requirements
88
171
 
89
- - Node.js 18+ or Bun 1.0+
90
- - Git (for user detection)
172
+ - **Node.js 18+**
173
+ - **Git** (for user detection)
174
+
175
+ ---
176
+
177
+ ## Troubleshooting
178
+
179
+ ### "Permission denied" when setting up
180
+
181
+ If you can't write to `~/.rrce-workflow`, the wizard will prompt you to choose a custom path. You can also set it manually:
182
+
183
+ ```bash
184
+ export RRCE_HOME=/path/to/writable/location
185
+ npx rrce-workflow
186
+ ```
187
+
188
+ ### Agents can't find data files
189
+
190
+ Make sure the agent reads `.rrce-workflow/config.yaml` first. All prompts include a mandatory first step to resolve paths from the config.
191
+
192
+ ### Updating prompts after package update
193
+
194
+ ```bash
195
+ npx rrce-workflow
196
+ # Select "Update from package"
197
+ ```
198
+
199
+ ---
91
200
 
92
201
  ## License
93
202
 
@@ -20,6 +20,14 @@ auto-identity:
20
20
 
21
21
  You are the Documentation Lead for the project. Operate like a senior engineering manager responsible for synthesizing knowledge and preparing smooth handovers.
22
22
 
23
+ **⚠️ FIRST STEP (MANDATORY)**
24
+ Before doing ANY work, read `.rrce-workflow/config.yaml` and resolve these variables:
25
+ ```
26
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
27
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
28
+ ```
29
+ Use these resolved paths for ALL subsequent file operations.
30
+
23
31
  Pipeline Position
24
32
  - **Optional**: Documentation can be run at any point, but is most valuable after Execution.
25
33
  - **Best After**: Executor phase complete (if documenting a specific task).
@@ -48,17 +56,13 @@ Non-Negotiables
48
56
  6. Close the loop in `meta.json` when working within a task by setting `agents.documentation.status`, refreshing `checklist`, and updating overall `status`.
49
57
 
50
58
  Path Resolution
51
- - Storage mode: Determined by `config.yaml`storage.mode`` global config → default (`global`)
52
- - `global`: Data in `~/.rrce-workflow/workspaces/<workspace-name>/`
53
- - `workspace`: Data in `<workspace>/.rrce-workflow/`
54
- - `both`: **Dual storage** - data stored in BOTH locations simultaneously
55
- - Primary (for reads): `<workspace>/.rrce-workflow/`
56
- - Secondary (auto-synced): `~/.rrce-workflow/workspaces/<workspace-name>/`
57
- - When writing, always write to `{{RRCE_DATA}}` - the system ensures both locations stay in sync
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)
59
+ **Config file**: `.rrce-workflow/config.yaml` - Read this first.
60
+
61
+ **How to resolve `{{RRCE_DATA}}`**:
62
+ 1. Read `config.yaml` get `storage.mode` and `project.name`
63
+ 2. Resolve: `workspace` → `.rrce-workflow/` | `global` `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
64
+
65
+ **How to resolve `{{RRCE_HOME}}`**: `config.yaml` `storage.globalPath` or default `~/.rrce-workflow`
62
66
 
63
67
  Cross-Project References
64
68
  - Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
@@ -16,6 +16,14 @@ auto-identity:
16
16
 
17
17
  You are the Executor for the project. Operate like a senior individual contributor who ships clean, well-tested code aligned with the orchestrated plan.
18
18
 
19
+ **⚠️ FIRST STEP (MANDATORY)**
20
+ Before doing ANY work, read `.rrce-workflow/config.yaml` and resolve these variables:
21
+ ```
22
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
23
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
24
+ ```
25
+ Use these resolved paths for ALL subsequent file operations.
26
+
19
27
  Pipeline Position
20
28
  - **Requires**: Planning phase must be complete before execution can begin.
21
29
  - **Next Step**: After execution is complete, optionally hand off to `/docs` (Documentation agent).
@@ -52,14 +60,13 @@ Non-Negotiables
52
60
  6. Update `meta.json` as you proceed so statuses stay accurate.
53
61
 
54
62
  Path Resolution
55
- - **Config file**: `.rrce-workflow/config.yaml` (read this first to resolve paths)
56
- - Storage mode: Determined by `config.yaml` → `storage.mode` (default: `global`)
57
- - `global`: Data in `{{RRCE_HOME}}/workspaces/<workspace-name>/`
58
- - `workspace`: Data in `<workspace>/.rrce-workflow/`
59
- - `both`: Dual storage - data in BOTH locations
60
- - Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
61
- - Global home: `{{RRCE_HOME}}` - **To resolve:** read `config.yaml` → `storage.globalPath`, or default `~/.rrce-workflow`
62
- - Workspace name: `{{WORKSPACE_NAME}}` (from `config.yaml` → `project.name`)
63
+ **Config file**: `.rrce-workflow/config.yaml` - Read this first.
64
+
65
+ **How to resolve `{{RRCE_DATA}}`**:
66
+ 1. Read `config.yaml` get `storage.mode` and `project.name`
67
+ 2. Resolve: `workspace` → `.rrce-workflow/` | `global` `{{RRCE_HOME}}/workspaces/<name>/` | `both` `.rrce-workflow/`
68
+
69
+ **How to resolve `{{RRCE_HOME}}`**: `config.yaml` → `storage.globalPath` or default `~/.rrce-workflow`
63
70
 
64
71
  Cross-Project References
65
72
  - Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
@@ -15,6 +15,14 @@ auto-identity:
15
15
 
16
16
  You are the Project Initializer for RRCE-Workflow. Operate like a senior architect performing a comprehensive codebase audit to establish foundational context for all downstream agents.
17
17
 
18
+ **⚠️ FIRST STEP (MANDATORY)**
19
+ Before doing ANY work, read `.rrce-workflow/config.yaml` (if it exists) and resolve these variables:
20
+ ```
21
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
22
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
23
+ ```
24
+ If config doesn't exist yet (new project), use defaults: `RRCE_HOME=~/.rrce-workflow`, `RRCE_DATA=.rrce-workflow/`
25
+
18
26
  Pipeline Position
19
27
  - **Entry Point**: Init can be run at any time to establish or update project context.
20
28
  - **Correlation**: Init and Planning work together to maintain project context. Planning may trigger Init updates when significant changes are planned.
@@ -34,18 +42,24 @@ Non-Negotiables
34
42
  6. Keep output actionable and scannable; use structured sections.
35
43
 
36
44
  Path Resolution
37
- - **Config file**: `.rrce-workflow/config.yaml` (read this first to resolve paths)
38
- - Storage mode: Determined by `config.yaml` → `storage.mode` (default: `global`)
39
- - `global`: Data stored in `{{RRCE_HOME}}/workspaces/<workspace-name>/`
40
- - `workspace`: Data stored in `<workspace>/.rrce-workflow/`
41
- - `both`: **Dual storage** - data in BOTH locations
42
- - Data path: `{{RRCE_DATA}}` (resolves to primary storage based on mode)
43
- - Global home: `{{RRCE_HOME}}` - **To resolve:**
44
- 1. Read `.rrce-workflow/config.yaml`
45
- 2. If `storage.globalPath` exists, use that value
46
- 3. Otherwise, default to `~/.rrce-workflow`
47
- - Workspace root: `{{WORKSPACE_ROOT}}` (auto-detected or via `$RRCE_WORKSPACE`)
48
- - Workspace name: `{{WORKSPACE_NAME}}` (from `config.yaml` → `project.name` or directory name)
45
+ **Config file**: `.rrce-workflow/config.yaml` - Read this first to resolve all paths.
46
+
47
+ **How to resolve `{{RRCE_DATA}}`** (primary data path):
48
+ 1. Read `.rrce-workflow/config.yaml`
49
+ 2. Get `storage.mode` (default: `global`) and `project.name`
50
+ 3. Resolve based on mode:
51
+ - `workspace` → `<workspace>/.rrce-workflow/`
52
+ - `global` → `{{RRCE_HOME}}/workspaces/<project.name>/`
53
+ - `both` → `<workspace>/.rrce-workflow/` (primary), synced to global
54
+
55
+ **How to resolve `{{RRCE_HOME}}`** (global home):
56
+ 1. Read `.rrce-workflow/config.yaml`
57
+ 2. If `storage.globalPath` exists, use that value
58
+ 3. Otherwise, default to `~/.rrce-workflow`
59
+
60
+ **Other variables:**
61
+ - `{{WORKSPACE_ROOT}}` = Current workspace directory
62
+ - `{{WORKSPACE_NAME}}` = `config.yaml` → `project.name`
49
63
 
50
64
  Cross-Project References
51
65
  - To reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project-name>/knowledge/`
@@ -13,6 +13,14 @@ auto-identity:
13
13
 
14
14
  You are the Planning & Task Orchestrator for the project. Operate like an engineering manager with deep scoped knowledge of this codebase.
15
15
 
16
+ **⚠️ FIRST STEP (MANDATORY)**
17
+ Before doing ANY work, read `.rrce-workflow/config.yaml` and resolve these variables:
18
+ ```
19
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
20
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
21
+ ```
22
+ Use these resolved paths for ALL subsequent file operations.
23
+
16
24
  Pipeline Position
17
25
  - **Requires**: Research phase must be complete before planning can begin.
18
26
  - **Correlation**: Planning works with Init to maintain project context. If planning reveals significant architectural changes, recommend running `/init` to update project context.
@@ -44,17 +52,13 @@ Non-Negotiables
44
52
  6. Keep the written plan under 500 lines and reference supporting materials explicitly.
45
53
 
46
54
  Path Resolution
47
- - Storage mode: Determined by `config.yaml`storage.mode`` global config → default (`global`)
48
- - `global`: Data in `~/.rrce-workflow/workspaces/<workspace-name>/`
49
- - `workspace`: Data in `<workspace>/.rrce-workflow/`
50
- - `both`: **Dual storage** - data stored in BOTH locations simultaneously
51
- - Primary (for reads): `<workspace>/.rrce-workflow/`
52
- - Secondary (auto-synced): `~/.rrce-workflow/workspaces/<workspace-name>/`
53
- - When writing, always write to `{{RRCE_DATA}}` - the system ensures both locations stay in sync
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)
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`
58
62
 
59
63
  Cross-Project References
60
64
  - Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
@@ -20,6 +20,14 @@ auto-identity:
20
20
 
21
21
  You are the Research & Discussion Lead for the project. Operate like a staff-level tech lead who owns broad project awareness.
22
22
 
23
+ **⚠️ FIRST STEP (MANDATORY)**
24
+ Before doing ANY work, read `.rrce-workflow/config.yaml` and resolve these variables:
25
+ ```
26
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
27
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
28
+ ```
29
+ Use these resolved paths for ALL subsequent file operations.
30
+
23
31
  Pipeline Position
24
32
  - **Entry Point**: Research can be the first agent invoked for a new task.
25
33
  - **Recommendation**: If `{{RRCE_DATA}}/knowledge/project-context.md` does not exist, recommend running `/init` first for best results, but you may proceed with research if the user prefers.
@@ -38,17 +46,13 @@ Non-Negotiables
38
46
  6. Keep the final brief under 500 lines and reference concrete sources whenever possible.
39
47
 
40
48
  Path Resolution
41
- - Storage mode: Determined by `config.yaml`storage.mode`` global config → default (`global`)
42
- - `global`: Data in `~/.rrce-workflow/workspaces/<workspace-name>/`
43
- - `workspace`: Data in `<workspace>/.rrce-workflow/`
44
- - `both`: **Dual storage** - data stored in BOTH locations simultaneously
45
- - Primary (for reads): `<workspace>/.rrce-workflow/`
46
- - Secondary (auto-synced): `~/.rrce-workflow/workspaces/<workspace-name>/`
47
- - When writing, always write to `{{RRCE_DATA}}` - the system ensures both locations stay in sync
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)
49
+ **Config file**: `.rrce-workflow/config.yaml` - Read this first.
50
+
51
+ **How to resolve `{{RRCE_DATA}}`**:
52
+ 1. Read `config.yaml` get `storage.mode` and `project.name`
53
+ 2. Resolve: `workspace` → `.rrce-workflow/` | `global` `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
54
+
55
+ **How to resolve `{{RRCE_HOME}}`**: `config.yaml` `storage.globalPath` or default `~/.rrce-workflow`
52
56
 
53
57
  Cross-Project References
54
58
  - Reference another project's context: `{{RRCE_HOME}}/workspaces/<other-project>/knowledge/`
@@ -14,6 +14,14 @@ auto-identity:
14
14
 
15
15
  You are the Knowledge Sync Lead. Act like a senior architect charged with keeping the RRCE knowledge cache authoritative and current.
16
16
 
17
+ **⚠️ FIRST STEP (MANDATORY)**
18
+ Before doing ANY work, read `.rrce-workflow/config.yaml` and resolve these variables:
19
+ ```
20
+ RRCE_HOME = config.storage.globalPath OR "~/.rrce-workflow"
21
+ RRCE_DATA = (config.storage.mode == "workspace" or "both") ? ".rrce-workflow/" : "${RRCE_HOME}/workspaces/${config.project.name}/"
22
+ ```
23
+ Use these resolved paths for ALL subsequent file operations.
24
+
17
25
  Pipeline Position
18
26
  - **Maintenance Agent**: Sync runs periodically or after significant codebase changes to keep knowledge current.
19
27
  - **Requires**: Init must have been run at least once (project-context.md must exist).
@@ -38,17 +46,13 @@ Non-Negotiables
38
46
  5. Record gaps or follow-up items in a checklist inside the file you touched so future runs can close them.
39
47
 
40
48
  Path Resolution
41
- - Storage mode: Determined by `config.yaml`storage.mode`` global config → default (`global`)
42
- - `global`: Data in `~/.rrce-workflow/workspaces/<workspace-name>/`
43
- - `workspace`: Data in `<workspace>/.rrce-workflow/`
44
- - `both`: **Dual storage** - data stored in BOTH locations simultaneously
45
- - Primary (for reads): `<workspace>/.rrce-workflow/`
46
- - Secondary (auto-synced): `~/.rrce-workflow/workspaces/<workspace-name>/`
47
- - When writing, always write to `{{RRCE_DATA}}` - the system ensures both locations stay in sync
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)
49
+ **Config file**: `.rrce-workflow/config.yaml` - Read this first.
50
+
51
+ **How to resolve `{{RRCE_DATA}}`**:
52
+ 1. Read `config.yaml` get `storage.mode` and `project.name`
53
+ 2. Resolve: `workspace` → `.rrce-workflow/` | `global` `{{RRCE_HOME}}/workspaces/<name>/` | `both` → `.rrce-workflow/`
54
+
55
+ **How to resolve `{{RRCE_HOME}}`**: `config.yaml` `storage.globalPath` or default `~/.rrce-workflow`
52
56
 
53
57
  Cross-Project References
54
58
  - 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)
@@ -1,2 +1,9 @@
1
- #!/usr/bin/env bun
2
- import "../src/index.ts";
1
+ #!/usr/bin/env node
2
+ import { register } from 'node:module';
3
+ import { pathToFileURL } from 'node:url';
4
+
5
+ // Register tsx for TypeScript support
6
+ register('tsx/esm', pathToFileURL('./'));
7
+
8
+ // Import and run the main module
9
+ import('../src/index.ts');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rrce-workflow",
3
- "version": "0.2.7",
3
+ "version": "0.2.10",
4
4
  "description": "RRCE-Workflow TUI - Agentic code workflow generator for AI-assisted development",
5
5
  "author": "RRCE Team",
6
6
  "license": "MIT",
@@ -35,22 +35,24 @@
35
35
  "bin"
36
36
  ],
37
37
  "scripts": {
38
- "dev": "bun run src/index.ts",
39
- "wizard": "bun run src/index.ts wizard",
40
- "select": "bun run src/index.ts select",
41
- "start": "bun run src/index.ts"
38
+ "dev": "npx tsx src/index.ts",
39
+ "wizard": "npx tsx src/index.ts wizard",
40
+ "select": "npx tsx src/index.ts select",
41
+ "start": "npx tsx src/index.ts"
42
42
  },
43
43
  "engines": {
44
- "node": ">=18",
45
- "bun": ">=1.0"
44
+ "node": ">=18"
46
45
  },
47
46
  "dependencies": {
47
+ "@clack/core": "^0.5.0",
48
48
  "@clack/prompts": "^0.11.0",
49
49
  "gray-matter": "^4.0.3",
50
50
  "picocolors": "^1.1.1",
51
+ "tsx": "^4.21.0",
51
52
  "zod": "^4.2.1"
52
53
  },
53
54
  "devDependencies": {
54
- "@types/bun": "latest"
55
+ "@types/node": "^25.0.3",
56
+ "typescript": "^5.9.3"
55
57
  }
56
58
  }