@rembr/vscode 1.0.0 → 1.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rembr/vscode",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "VS Code setup for REMBR RLM patterns - semantic memory for AI agents with GitHub Copilot recursive workflows",
5
5
  "main": "setup.js",
6
6
  "bin": {
package/setup.js CHANGED
@@ -110,7 +110,7 @@ function setupGitHubCopilotAgent(projectRoot) {
110
110
 
111
111
  ensureDirectoryExists(agentsDir);
112
112
 
113
- const templatePath = path.join(__dirname, 'templates', 'recursive-analyst.agent.md');
113
+ const templatePath = path.join(__dirname, 'templates', 'recursive-agent.agent.md');
114
114
  const agentContent = fs.readFileSync(templatePath, 'utf8');
115
115
 
116
116
  if (fs.existsSync(agentPath)) {
@@ -247,11 +247,9 @@ function setup(interactive = false) {
247
247
  console.log('\n🫐 Setting up REMBR client configuration...\n');
248
248
 
249
249
  try {
250
- // Set up MCP for all supported tools
251
- console.log('šŸ“” Configuring MCP servers...');
250
+ // Set up MCP for VS Code
251
+ console.log('šŸ“” Configuring MCP servers for VS Code...');
252
252
  setupVSCodeMCP(projectRoot);
253
- setupCursorMCP(projectRoot);
254
- setupWindsurfMCP(projectRoot);
255
253
  setupClaudeDesktopMCP(); // Global config
256
254
 
257
255
  console.log('\nšŸ¤– Configuring AI agents and RLM patterns...');
@@ -260,23 +258,15 @@ function setup(interactive = false) {
260
258
  setupRLMHelper(projectRoot);
261
259
  setupRLMDocumentation(projectRoot);
262
260
 
263
- console.log('\nāš™ļø Configuring legacy AI tools...');
264
- setupCursorRules(projectRoot);
265
- setupWindsurfRules(projectRoot);
266
- setupAiderConfig(projectRoot);
267
-
268
261
  console.log('\n✨ @rembr/vscode setup complete!\n');
269
262
  console.log('🧠 RLM Pattern System Installed:');
270
263
  console.log(' • GitHub Copilot with auto-detection (51% token reduction)');
271
- console.log(' • Recursive Analyst agent for complex tasks');
264
+ console.log(' • Sequential sub-agent orchestration for complex tasks');
272
265
  console.log(' • Semantic memory with rembr MCP integration');
273
266
  console.log(' • Task coordination and workflow optimization');
274
267
  console.log('\nšŸ“” MCP Configured for:');
275
268
  console.log(' • VS Code + GitHub Copilot');
276
- console.log(' • Cursor');
277
- console.log(' • Windsurf');
278
269
  console.log(' • Claude Desktop');
279
- console.log(' • Aider');
280
270
  console.log('\nšŸ“– Documentation Created:');
281
271
  console.log(' • docs/rlm-patterns.md - Complete usage guide');
282
272
  console.log(' • docs/rlm-benchmarks.md - Performance analysis');
@@ -287,8 +277,8 @@ function setup(interactive = false) {
287
277
  console.log(' Settings → Extensions → MCP → rembr.env.REMBR_API_KEY');
288
278
  console.log('3. Reload VS Code to activate RLM patterns');
289
279
  console.log('4. Try a complex task like "implement rate limiting with Redis and monitoring"');
290
- console.log('5. Watch GitHub Copilot automatically decompose into focused subagents\n');
291
- console.log('šŸ’” Tip: Use "node rlm-helper.js <task>" to analyze decomposition patterns\n');
280
+ console.log('5. Watch GitHub Copilot automatically decompose into sequential subagents\n');
281
+ console.log('šŸ’” For other editors: Use @rembr/cursor or @rembr/aider\n');
292
282
  } catch (error) {
293
283
  console.error('āŒ Setup failed:', error.message);
294
284
  process.exit(1);
@@ -1,18 +1,8 @@
1
1
  ---
2
- name: Recursive Analyst
3
- description: Analyses and implements complex tasks using recursive decomposition with semantic memory
2
+ name: Recursive Agent
3
+ description: Orchestrates complex tasks using sequential decomposition with semantic memory coordination
4
4
  tools:
5
- - codebase
6
- - editFiles
7
- - runInTerminal
8
- - runTests
9
- - search
10
- - fetch
11
- - usages
12
- - problems
13
- - terminalLastCommand
14
- - terminalSelection
15
- - rembr/*
5
+ ['execute/runInTerminal', 'execute/runTests', 'read/terminalSelection', 'read/terminalLastCommand', 'read/problems', 'read/readFile', 'edit/editFiles', 'search', 'web/fetch', 'runSubagent', 'rembr/*']
16
6
  infer: true
17
7
  model: Claude Sonnet 4
18
8
  handoffs:
@@ -22,13 +12,15 @@ handoffs:
22
12
  send: false
23
13
  ---
24
14
 
25
- # Recursive Analyst
15
+ # Sequential Task Orchestrator
26
16
 
27
- You implement the Recursive Language Model (RLM) pattern. You handle arbitrarily complex tasks by:
17
+ You implement the Recursive Language Model (RLM) pattern adapted for VS Code Copilot. You handle arbitrarily complex tasks by:
28
18
  1. Never working with more context than necessary
29
19
  2. Using rembr to retrieve only relevant prior knowledge
30
- 3. Spawning subagents for focused sub-tasks, each receiving targeted context from rembr
31
- 4. Coordinating subagent results through structured returns
20
+ 3. Orchestrating sequential subagents for focused sub-tasks (one level only)
21
+ 4. Coordinating subagent results through structured returns and rembr storage
22
+
23
+ **Platform Limitation**: VS Code Copilot does not support nested subagents. Use sequential decomposition instead of deep recursion.
32
24
 
33
25
  ## Subagent Contract
34
26
 
@@ -1,52 +0,0 @@
1
- # Aider configuration with REMBR semantic memory
2
-
3
- # REMBR Integration
4
- #
5
- # REMBR provides persistent semantic memory for your coding sessions.
6
- # While Aider doesn't natively support MCP, you can integrate REMBR via:
7
- #
8
- # 1. Manual tool calls in prompts:
9
- # "First, search REMBR for authentication patterns, then implement..."
10
- #
11
- # 2. External scripts that call the REMBR API:
12
- # curl -X POST https://rembr.ai/api/v1/search \
13
- # -H "Authorization: Bearer $REMBR_API_KEY" \
14
- # -d '{"query": "authentication patterns"}'
15
- #
16
- # 3. Pre/post hooks that store session context:
17
- # - Before: Retrieve relevant context from REMBR
18
- # - After: Store findings and decisions to REMBR
19
-
20
- # Model configuration
21
- model: claude-sonnet-4
22
-
23
- # Enable git integration
24
- auto-commits: true
25
- dirty-commits: true
26
-
27
- # Editor for commit messages
28
- editor: vim
29
-
30
- # Suggested workflow with REMBR:
31
- #
32
- # 1. Before starting: Query REMBR for relevant context
33
- # $ rembr-query "database migration patterns"
34
- #
35
- # 2. During coding: Aider makes changes
36
- #
37
- # 3. After completing: Store findings to REMBR
38
- # $ rembr-store "Migrated users table to support OAuth. Added provider column."
39
- #
40
- # You can create these wrapper scripts to integrate REMBR with Aider.
41
-
42
- # Example bash aliases for ~/.bashrc:
43
- #
44
- # alias rembr-query='curl -X POST https://rembr.ai/api/v1/search \
45
- # -H "Authorization: Bearer $REMBR_API_KEY" \
46
- # -H "Content-Type: application/json" \
47
- # -d "{\"query\": \"$1\", \"limit\": 5}" | jq -r ".memories[].content"'
48
- #
49
- # alias rembr-store='curl -X POST https://rembr.ai/api/v1/memories \
50
- # -H "Authorization: Bearer $REMBR_API_KEY" \
51
- # -H "Content-Type: application/json" \
52
- # -d "{\"content\": \"$1\", \"category\": \"facts\"}"'
@@ -1,141 +0,0 @@
1
- # REMBR - Recursive Language Model with Semantic Memory
2
-
3
- You have access to REMBR, a semantic memory system via MCP tools. Use it to implement the Recursive Language Model (RLM) pattern for complex tasks.
4
-
5
- ## Core Principles
6
-
7
- 1. **Never work with more context than necessary** - Query REMBR for only relevant prior knowledge
8
- 2. **Break down complex tasks** - Spawn focused subtasks with targeted context
9
- 3. **Store findings persistently** - Save discoveries to REMBR for future sessions
10
- 4. **Coordinate through structured returns** - Each subtask returns a standard result format
11
-
12
- ## Available REMBR Tools (via MCP)
13
-
14
- ### Memory Management
15
- - `store_memory` - Store insights, facts, preferences, project info
16
- - `search_memory` - Hybrid semantic + text search across memories
17
- - `list_memories` - Browse recent memories by category
18
- - `get_memory` - Retrieve specific memory by ID
19
- - `delete_memory` - Remove outdated memories
20
-
21
- ### Context Workspaces
22
- - `create_context` - Create workspace for related memories
23
- - `add_memory_to_context` - Link memories to contexts
24
- - `search_context` - Scoped search within a workspace
25
- - `list_contexts` - View available workspaces
26
-
27
- ### Snapshots (for subtask handoffs)
28
- - `create_snapshot` - Immutable memory bundle with TTL
29
- - `get_snapshot` - Retrieve snapshot by ID
30
- - `list_snapshots` - View available snapshots
31
-
32
- ### Insights
33
- - `get_stats` - Usage and limits
34
- - `get_context_insights` - Category distribution, patterns
35
- - `get_memory_graph` - Memory relationships
36
- - `detect_contradictions` - Find conflicting information
37
-
38
- ## Memory Categories
39
-
40
- Organize memories semantically:
41
- - **facts** - Concrete information and data
42
- - **preferences** - User settings and choices
43
- - **conversations** - Conversation context
44
- - **projects** - Project-specific information
45
- - **learning** - Knowledge and insights
46
- - **goals** - Objectives and targets
47
- - **context** - Situational context
48
- - **reminders** - Future actions
49
-
50
- ## RLM Pattern: Parent-Subtask Protocol
51
-
52
- ### Before Decomposing
53
-
54
- 1. Generate unique `taskId` (e.g., `implement-auth-20240106`)
55
- 2. Query REMBR for relevant prior context:
56
- ```
57
- search_memory({ query: "authentication patterns OAuth JWT", limit: 10 })
58
- ```
59
- 3. Identify subtasks and what context each needs
60
-
61
- ### When Spawning Subtasks
62
-
63
- Provide each subtask with:
64
- ```
65
- ## Subtask
66
- [Specific focused objective]
67
-
68
- ## Context from REMBR
69
- [Relevant memories retrieved for this subtask]
70
-
71
- ## Storage Instructions
72
- Store findings with:
73
- - Category: "facts"
74
- - Metadata: { "taskId": "implement-auth-20240106", "area": "oauth-flow" }
75
-
76
- ## Return Format
77
- - Summary: [What you found/did]
78
- - Findings stored: [Search query to retrieve details]
79
- - Key points: [Most important items]
80
- - Status: [complete/partial/blocked]
81
- ```
82
-
83
- ### After Subtasks Complete
84
-
85
- 1. Read each subtask's summary and key points
86
- 2. If full details needed, query REMBR:
87
- ```
88
- search_memory({ query: "implement-auth-20240106 oauth-flow", category: "facts" })
89
- ```
90
- 3. Synthesize findings and store to REMBR for future sessions
91
-
92
- ## Example Usage
93
-
94
- ### Storing a Discovery
95
- ```
96
- store_memory({
97
- category: "facts",
98
- content: "API uses rate limiting: 100 req/min per user via express-rate-limit + Redis",
99
- metadata: {
100
- taskId: "rate-limit-analysis",
101
- area: "api-middleware",
102
- file: "src/middleware/rateLimit.ts"
103
- }
104
- })
105
- ```
106
-
107
- ### Retrieving Context
108
- ```
109
- search_memory({
110
- query: "rate limiting middleware patterns",
111
- category: "facts",
112
- limit: 5
113
- })
114
- ```
115
-
116
- ### Creating a Workspace
117
- ```
118
- create_context({
119
- name: "payment-service-refactor",
120
- description: "Refactoring payment service to microservices",
121
- category: "projects"
122
- })
123
- ```
124
-
125
- ## When to Use REMBR
126
-
127
- āœ… **Do use** for:
128
- - Storing architectural decisions
129
- - Remembering project patterns and conventions
130
- - Building knowledge across sessions
131
- - Coordinating complex multi-step tasks
132
- - Sharing context between subtasks
133
-
134
- āŒ **Don't use** for:
135
- - Temporary variables or transient data
136
- - Information already in the codebase
137
- - Simple single-step tasks
138
-
139
- ## API Key Setup
140
-
141
- Ensure `REMBR_API_KEY` is set in your Cursor environment settings.
@@ -1,141 +0,0 @@
1
- # REMBR - Recursive Language Model with Semantic Memory
2
-
3
- You have access to REMBR, a semantic memory system via MCP tools. Use it to implement the Recursive Language Model (RLM) pattern for complex tasks.
4
-
5
- ## Core Principles
6
-
7
- 1. **Never work with more context than necessary** - Query REMBR for only relevant prior knowledge
8
- 2. **Break down complex tasks** - Spawn focused subtasks with targeted context
9
- 3. **Store findings persistently** - Save discoveries to REMBR for future sessions
10
- 4. **Coordinate through structured returns** - Each subtask returns a standard result format
11
-
12
- ## Available REMBR Tools (via MCP)
13
-
14
- ### Memory Management
15
- - `store_memory` - Store insights, facts, preferences, project info
16
- - `search_memory` - Hybrid semantic + text search across memories
17
- - `list_memories` - Browse recent memories by category
18
- - `get_memory` - Retrieve specific memory by ID
19
- - `delete_memory` - Remove outdated memories
20
-
21
- ### Context Workspaces
22
- - `create_context` - Create workspace for related memories
23
- - `add_memory_to_context` - Link memories to contexts
24
- - `search_context` - Scoped search within a workspace
25
- - `list_contexts` - View available workspaces
26
-
27
- ### Snapshots (for subtask handoffs)
28
- - `create_snapshot` - Immutable memory bundle with TTL
29
- - `get_snapshot` - Retrieve snapshot by ID
30
- - `list_snapshots` - View available snapshots
31
-
32
- ### Insights
33
- - `get_stats` - Usage and limits
34
- - `get_context_insights` - Category distribution, patterns
35
- - `get_memory_graph` - Memory relationships
36
- - `detect_contradictions` - Find conflicting information
37
-
38
- ## Memory Categories
39
-
40
- Organize memories semantically:
41
- - **facts** - Concrete information and data
42
- - **preferences** - User settings and choices
43
- - **conversations** - Conversation context
44
- - **projects** - Project-specific information
45
- - **learning** - Knowledge and insights
46
- - **goals** - Objectives and targets
47
- - **context** - Situational context
48
- - **reminders** - Future actions
49
-
50
- ## RLM Pattern: Parent-Subtask Protocol
51
-
52
- ### Before Decomposing
53
-
54
- 1. Generate unique `taskId` (e.g., `implement-auth-20240106`)
55
- 2. Query REMBR for relevant prior context:
56
- ```
57
- search_memory({ query: "authentication patterns OAuth JWT", limit: 10 })
58
- ```
59
- 3. Identify subtasks and what context each needs
60
-
61
- ### When Creating Flows/Cascades
62
-
63
- Provide each flow with:
64
- ```
65
- ## Objective
66
- [Specific focused objective]
67
-
68
- ## Context from REMBR
69
- [Relevant memories retrieved for this flow]
70
-
71
- ## Storage Instructions
72
- Store findings with:
73
- - Category: "facts"
74
- - Metadata: { "taskId": "implement-auth-20240106", "area": "oauth-flow" }
75
-
76
- ## Return Format
77
- - Summary: [What you found/did]
78
- - Findings stored: [Search query to retrieve details]
79
- - Key points: [Most important items]
80
- - Status: [complete/partial/blocked]
81
- ```
82
-
83
- ### After Flows Complete
84
-
85
- 1. Read each flow's summary and key points
86
- 2. If full details needed, query REMBR:
87
- ```
88
- search_memory({ query: "implement-auth-20240106 oauth-flow", category: "facts" })
89
- ```
90
- 3. Synthesize findings and store to REMBR for future sessions
91
-
92
- ## Example Usage
93
-
94
- ### Storing a Discovery
95
- ```
96
- store_memory({
97
- category: "facts",
98
- content: "API uses rate limiting: 100 req/min per user via express-rate-limit + Redis",
99
- metadata: {
100
- taskId: "rate-limit-analysis",
101
- area: "api-middleware",
102
- file: "src/middleware/rateLimit.ts"
103
- }
104
- })
105
- ```
106
-
107
- ### Retrieving Context
108
- ```
109
- search_memory({
110
- query: "rate limiting middleware patterns",
111
- category: "facts",
112
- limit: 5
113
- })
114
- ```
115
-
116
- ### Creating a Workspace
117
- ```
118
- create_context({
119
- name: "payment-service-refactor",
120
- description: "Refactoring payment service to microservices",
121
- category: "projects"
122
- })
123
- ```
124
-
125
- ## When to Use REMBR
126
-
127
- āœ… **Do use** for:
128
- - Storing architectural decisions
129
- - Remembering project patterns and conventions
130
- - Building knowledge across sessions
131
- - Coordinating complex multi-step tasks (Cascade flows)
132
- - Sharing context between flows
133
-
134
- āŒ **Don't use** for:
135
- - Temporary variables or transient data
136
- - Information already in the codebase
137
- - Simple single-step tasks
138
-
139
- ## API Key Setup
140
-
141
- Ensure `REMBR_API_KEY` is set in your Windsurf environment settings.