@hivehub/rulebook 4.2.0 β 4.2.1
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/.claude-plugin/plugin.json +1 -1
- package/README.md +137 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +15 -5
- package/dist/cli/commands.js.map +1 -1
- package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/core/workspace/workspace-manager.js +12 -2
- package/dist/core/workspace/workspace-manager.js.map +1 -1
- package/dist/mcp/rulebook-server.js +2 -2
- package/dist/mcp/rulebook-server.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rulebook",
|
|
3
3
|
"description": "Standardize AI-generated projects with Ralph autonomous loop, persistent memory, and quality gates. Supports 28 languages, 17 frameworks, 13 MCP modules, and 20 services.",
|
|
4
|
-
"version": "4.2.
|
|
4
|
+
"version": "4.2.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HiveLLM"
|
|
7
7
|
}
|
package/README.md
CHANGED
|
@@ -52,6 +52,22 @@ npx @hivehub/rulebook@latest update
|
|
|
52
52
|
|
|
53
53
|
See the full [CHANGELOG](CHANGELOG.md) for details.
|
|
54
54
|
|
|
55
|
+
### v4.2.1 β Workspace Config Path Fix
|
|
56
|
+
|
|
57
|
+
- π **Workspace config moved to `.rulebook/workspace.json`** (was `.rulebook-workspace.json` at root)
|
|
58
|
+
- π **Backward compatible**: Legacy `.rulebook-workspace.json` still discovered automatically
|
|
59
|
+
- π **Documentation updates** for new config path
|
|
60
|
+
|
|
61
|
+
### v4.2.0 β Multi-Project Workspace Support
|
|
62
|
+
|
|
63
|
+
- ποΈ **Workspace Orchestration**: Manage multiple projects simultaneously (monorepo or independent folders)
|
|
64
|
+
- π **MCP `--workspace` mode**: Single MCP server manages all projects with `projectId` routing on every tool
|
|
65
|
+
- π§© **4 New Workspace MCP Tools**: `rulebook_workspace_list`, `rulebook_workspace_status`, `rulebook_workspace_search`, `rulebook_workspace_tasks`
|
|
66
|
+
- π **Auto-detection**: Discovers workspace from `.rulebook/workspace.json`, `*.code-workspace`, pnpm/turbo/nx/lerna
|
|
67
|
+
- π **CLI `--project` and `--all-projects` flags** on all task commands
|
|
68
|
+
- π **`rulebook update` in workspace**: Auto-updates all projects + injects workspace routing instructions
|
|
69
|
+
- π **26 MCP Functions** total (was 22)
|
|
70
|
+
|
|
55
71
|
### v4.1.0 β Background Indexer & Codebase Intelligence
|
|
56
72
|
|
|
57
73
|
- π **Background Indexer**: Autonomous daemon that continuously indexes your codebase into a searchable vector + graph database
|
|
@@ -177,6 +193,126 @@ Memory is enabled in `.rulebook`:
|
|
|
177
193
|
|
|
178
194
|
---
|
|
179
195
|
|
|
196
|
+
## Multi-Project Workspace
|
|
197
|
+
|
|
198
|
+
> **NEW in v4.2.0** β Manage multiple projects (monorepo or independent folders) with a single MCP server.
|
|
199
|
+
|
|
200
|
+
### The Problem
|
|
201
|
+
|
|
202
|
+
When working on a monorepo or multiple related projects, each project needs its own `.mcp.json` and runs a separate MCP server. This wastes resources and prevents cross-project operations like searching memory across all projects.
|
|
203
|
+
|
|
204
|
+
### The Solution
|
|
205
|
+
|
|
206
|
+
Rulebook workspace mode runs **one MCP server** that manages all projects, with fully isolated per-project managers (tasks, memory, skills, config).
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
βββββββββββββββββββββββββββββββββββββββββββ
|
|
210
|
+
β Workspace Orchestrator (1 MCP) β
|
|
211
|
+
β - Routes calls via projectId β
|
|
212
|
+
β - Cross-project memory search β
|
|
213
|
+
β - Idle worker lifecycle management β
|
|
214
|
+
ββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββββ
|
|
215
|
+
β β β
|
|
216
|
+
v v v
|
|
217
|
+
βββββββββββ βββββββββββ βββββββββββ
|
|
218
|
+
βbackend β βfrontend β β panel β (on-demand)
|
|
219
|
+
β.rulebookβ β.rulebookβ β.rulebookβ
|
|
220
|
+
βtasks/ β βtasks/ β βtasks/ β
|
|
221
|
+
βmemory.dbβ βmemory.dbβ βmemory.dbβ
|
|
222
|
+
βββββββββββ βββββββββββ βββββββββββ
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Quick Start
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# 1. Initialize workspace at the monorepo root
|
|
229
|
+
cd my-monorepo
|
|
230
|
+
rulebook workspace init
|
|
231
|
+
|
|
232
|
+
# 2. Add projects (auto-detected from pnpm/turbo/nx or manually)
|
|
233
|
+
rulebook workspace add ./frontend
|
|
234
|
+
rulebook workspace add ./backend
|
|
235
|
+
rulebook workspace add ./shared-lib
|
|
236
|
+
|
|
237
|
+
# 3. Setup MCP for workspace mode
|
|
238
|
+
rulebook mcp init --workspace
|
|
239
|
+
|
|
240
|
+
# 4. Update all projects at once
|
|
241
|
+
rulebook update
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Workspace Discovery
|
|
245
|
+
|
|
246
|
+
Rulebook auto-discovers workspace config from (in priority order):
|
|
247
|
+
|
|
248
|
+
1. `.rulebook/workspace.json` β native config (highest priority)
|
|
249
|
+
2. `*.code-workspace` β VSCode workspace format
|
|
250
|
+
3. `pnpm-workspace.yaml` / `turbo.json` / `nx.json` / `lerna.json` β monorepo detection
|
|
251
|
+
|
|
252
|
+
### CLI Commands
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# Workspace management
|
|
256
|
+
rulebook workspace init # Create .rulebook/workspace.json
|
|
257
|
+
rulebook workspace add <path> # Add project to workspace
|
|
258
|
+
rulebook workspace remove <name> # Remove project
|
|
259
|
+
rulebook workspace list # List all projects
|
|
260
|
+
rulebook workspace status # Status with task counts
|
|
261
|
+
|
|
262
|
+
# Task commands with project targeting
|
|
263
|
+
rulebook task list # Auto-detects project from cwd
|
|
264
|
+
rulebook task list --project frontend # Target specific project
|
|
265
|
+
rulebook task list --all-projects # List across all projects
|
|
266
|
+
rulebook task create my-task --project backend
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### MCP Tools
|
|
270
|
+
|
|
271
|
+
All existing MCP tools accept an optional `projectId` parameter:
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
rulebook_task_list({ projectId: "frontend" }) # Tasks from frontend
|
|
275
|
+
rulebook_memory_search({ query: "auth", projectId: "backend" })
|
|
276
|
+
|
|
277
|
+
# Workspace-specific tools:
|
|
278
|
+
rulebook_workspace_list() # All projects and paths
|
|
279
|
+
rulebook_workspace_status() # Active workers, task counts
|
|
280
|
+
rulebook_workspace_search() # Cross-project memory search
|
|
281
|
+
rulebook_workspace_tasks() # Tasks from all projects
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Isolation Guarantee
|
|
285
|
+
|
|
286
|
+
Each project has **completely isolated** managers:
|
|
287
|
+
- **Tasks** β `{project}/.rulebook/tasks/` β never shared
|
|
288
|
+
- **Memory** β `{project}/.rulebook/memory.db` β separate SQLite databases
|
|
289
|
+
- **Config** β `{project}/.rulebook/rulebook.json` β independent settings
|
|
290
|
+
- **Skills** β resolved per project root
|
|
291
|
+
|
|
292
|
+
Cross-project operations (search, task listing) are explicit and deliberate.
|
|
293
|
+
|
|
294
|
+
### Configuration
|
|
295
|
+
|
|
296
|
+
`.rulebook/workspace.json` at the workspace root:
|
|
297
|
+
|
|
298
|
+
```json
|
|
299
|
+
{
|
|
300
|
+
"name": "my-workspace",
|
|
301
|
+
"version": "1.0.0",
|
|
302
|
+
"projects": [
|
|
303
|
+
{ "name": "frontend", "path": "./frontend" },
|
|
304
|
+
{ "name": "backend", "path": "./backend" },
|
|
305
|
+
{ "name": "shared", "path": "/absolute/path/to/shared-lib" }
|
|
306
|
+
],
|
|
307
|
+
"defaultProject": "backend",
|
|
308
|
+
"idleTimeoutMs": 300000
|
|
309
|
+
}
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
> **Tip**: `rulebook workspace init` auto-generates this from your monorepo structure.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
180
316
|
## Key Features
|
|
181
317
|
|
|
182
318
|
- π€ **Ralph Autonomous Loop**: Multi-iteration AI task solving with fresh context per iteration (v3.1+)
|
|
@@ -188,7 +324,7 @@ Memory is enabled in `.rulebook`:
|
|
|
188
324
|
- π **Auto-Detection**: Detects languages, frameworks, MCP modules, and services from your project files
|
|
189
325
|
- π **Modular Architecture**: Templates in `/.rulebook/` directory β smaller AGENTS.md, on-demand loading
|
|
190
326
|
- π **Git Hook Automation**: Pre-commit/pre-push hooks with language-aware quality checks
|
|
191
|
-
- π **
|
|
327
|
+
- π **26 MCP Functions**: Task management (7), skills (6), persistent memory (6), Ralph loop (4), workspace (4) via Model Context Protocol
|
|
192
328
|
- π **106+ Templates**: 28 languages, 17 frameworks, 8 IDEs, 20 services, 15 CLI agents
|
|
193
329
|
- π€ **AI-Optimized**: Works with 23 AI assistants (Cursor, Claude, Gemini, etc.)
|
|
194
330
|
- π¦ **Publication Ready**: CI/CD pipelines for npm, crates.io, PyPI, Maven Central, and more
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/commands.js
CHANGED
|
@@ -3508,11 +3508,15 @@ export async function ralphImportIssuesCommand(options) {
|
|
|
3508
3508
|
// ============================================
|
|
3509
3509
|
// Workspace Commands (v4.2)
|
|
3510
3510
|
// ============================================
|
|
3511
|
+
/** Resolve the workspace config path inside .rulebook/ */
|
|
3512
|
+
function getWorkspaceConfigPath(cwd) {
|
|
3513
|
+
return path.join(cwd, '.rulebook', 'workspace.json');
|
|
3514
|
+
}
|
|
3511
3515
|
export async function workspaceInitCommand() {
|
|
3512
3516
|
const cwd = process.cwd();
|
|
3513
|
-
const configPath =
|
|
3517
|
+
const configPath = getWorkspaceConfigPath(cwd);
|
|
3514
3518
|
if (existsSync(configPath)) {
|
|
3515
|
-
console.log(chalk.yellow('Workspace already initialized at .rulebook
|
|
3519
|
+
console.log(chalk.yellow('Workspace already initialized at .rulebook/workspace.json'));
|
|
3516
3520
|
return;
|
|
3517
3521
|
}
|
|
3518
3522
|
const spinner = ora('Detecting workspace structure...').start();
|
|
@@ -3533,9 +3537,15 @@ export async function workspaceInitCommand() {
|
|
|
3533
3537
|
projects: [],
|
|
3534
3538
|
};
|
|
3535
3539
|
}
|
|
3540
|
+
// Ensure .rulebook/ directory exists
|
|
3541
|
+
const rulebookDir = path.join(cwd, '.rulebook');
|
|
3542
|
+
if (!existsSync(rulebookDir)) {
|
|
3543
|
+
const { mkdirSync } = await import('fs');
|
|
3544
|
+
mkdirSync(rulebookDir, { recursive: true });
|
|
3545
|
+
}
|
|
3536
3546
|
// Write config
|
|
3537
3547
|
writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
3538
|
-
console.log(chalk.green(`\n Created:
|
|
3548
|
+
console.log(chalk.green(`\n Created: .rulebook/workspace.json`));
|
|
3539
3549
|
// Check for legacy .mcp.json files
|
|
3540
3550
|
const migration = await migrateLegacyMcpConfigs(cwd);
|
|
3541
3551
|
if (migration.migratedFiles.length > 0) {
|
|
@@ -3546,7 +3556,7 @@ export async function workspaceInitCommand() {
|
|
|
3546
3556
|
}
|
|
3547
3557
|
export async function workspaceAddCommand(projectPath) {
|
|
3548
3558
|
const cwd = process.cwd();
|
|
3549
|
-
const configPath =
|
|
3559
|
+
const configPath = getWorkspaceConfigPath(cwd);
|
|
3550
3560
|
if (!existsSync(configPath)) {
|
|
3551
3561
|
console.error(chalk.red('No workspace found. Run `rulebook workspace init` first.'));
|
|
3552
3562
|
process.exit(1);
|
|
@@ -3575,7 +3585,7 @@ export async function workspaceAddCommand(projectPath) {
|
|
|
3575
3585
|
}
|
|
3576
3586
|
export async function workspaceRemoveCommand(projectName) {
|
|
3577
3587
|
const cwd = process.cwd();
|
|
3578
|
-
const configPath =
|
|
3588
|
+
const configPath = getWorkspaceConfigPath(cwd);
|
|
3579
3589
|
if (!existsSync(configPath)) {
|
|
3580
3590
|
console.error(chalk.red('No workspace found. Run `rulebook workspace init` first.'));
|
|
3581
3591
|
process.exit(1);
|