@syntesseraai/opencode-feature-factory 0.10.14 → 0.10.15

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/AGENTS.md CHANGED
@@ -36,7 +36,8 @@ When work changes behavior, workflows, configuration, operational guidance, or r
36
36
 
37
37
  ## Preferred Tooling Pattern
38
38
 
39
- - Use `morph-mcp_codebase_search` first for semantic codebase discovery in stage agents; the orchestration-only `feature-factory` agent should delegate discovery work instead of calling it directly.
39
+ - Use codebase-memory MCP graph tools first in stage agents (`codebase-memory-mcp_search_graph`, `codebase-memory-mcp_get_architecture`, `codebase-memory-mcp_trace_call_path`, `codebase-memory-mcp_get_code_snippet`) for discovery, architecture context, and call-path impact analysis.
40
+ - Keep `morph-mcp_codebase_search` as fallback when codebase-memory MCP is unavailable or the repository has not been indexed.
40
41
  - Use `read`, `glob`, and `grep` for targeted file inspection.
41
42
  - Writable agents should prefer `morph-mcp` `edit_file`, then fallback to native `edit` when needed.
42
43
  - Keep `edit` restricted on read-only agents (`planning`, `reviewing`, `ff-research`).
package/README.md CHANGED
@@ -76,6 +76,8 @@ Each transition carries forward prior-stage context (summary, gate/verdict, acti
76
76
 
77
77
  Writable stage agents (`building`, `documenting`) prefer Morph MCP `edit_file` and can fallback to native `edit` (and `write` for new files) when needed. Read-only agents keep `edit` disabled.
78
78
 
79
+ Stage-agent code discovery is graph-first: planning/building/reviewing/documenting prefer codebase-memory MCP tools (`codebase-memory-mcp_search_graph`, `codebase-memory-mcp_get_architecture`, `codebase-memory-mcp_trace_call_path`, `codebase-memory-mcp_get_code_snippet`) before semantic warp_grep/warpgrep-style fallbacks.
80
+
79
81
  ### Plugin auto-handoff safety net
80
82
 
81
83
  The plugin now includes an auto-handoff hook that can continue deterministic next steps by reading explicit machine-readable fields from assistant output and dispatching `client.session.prompt(...)`.
@@ -123,6 +125,8 @@ The plugin merges the following MCP servers into global OpenCode config when mis
123
125
  - `context7`
124
126
  - `morph-mcp`
125
127
 
128
+ `codebase-memory-mcp` is currently treated as an optional prerequisite (not auto-provisioned by this plugin) because it commonly requires repository-specific indexing/setup. Stage agents still include morph semantic fallback guidance when codebase-memory MCP is unavailable.
129
+
126
130
  `morph-mcp` is configured as:
127
131
 
128
132
  ```json
@@ -11,6 +11,11 @@ tools:
11
11
  bash: true
12
12
  skill: true
13
13
  task: true
14
+ 'codebase-memory-mcp_search_graph': true
15
+ 'codebase-memory-mcp_get_architecture': true
16
+ 'codebase-memory-mcp_trace_call_path': true
17
+ 'codebase-memory-mcp_get_code_snippet': true
18
+ 'codebase-memory-mcp_search_code': true
14
19
  'morph-mcp_codebase_search': true
15
20
  permission:
16
21
  skill:
@@ -59,19 +64,22 @@ Fallback policy:
59
64
 
60
65
  ## Semantic Code Search
61
66
 
62
- Use `morph-mcp_codebase_search` for semantic code search when you need to:
67
+ Use codebase-memory MCP tools first for semantic/structural code search when you need to:
63
68
 
64
- - Find implementations by meaning, not just text matching (e.g., "authentication logic", "database connection handling")
65
- - Locate related code without knowing exact names or keywords
66
- - Understand how features work across the codebase
69
+ - Find implementations by meaning with `codebase-memory-mcp_search_graph`
70
+ - Understand package/service boundaries via `codebase-memory-mcp_get_architecture`
71
+ - Trace caller/callee impact with `codebase-memory-mcp_trace_call_path`
72
+ - Read exact source around graph hits with `codebase-memory-mcp_get_code_snippet`
67
73
 
68
- Prefer this over `grep` when searching by concept rather than exact text.
74
+ Prefer this over warp_grep/warpgrep-style search because graph context reduces false positives and improves dependency-aware edits.
69
75
 
70
76
  Search fallback order:
71
77
 
72
- 1. `morph-mcp_codebase_search` for semantic discovery.
73
- 2. `read` to inspect exact implementation details before editing.
74
- 3. `grep` for exact symbol/literal checks when needed.
78
+ 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for discovery.
79
+ 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for impact and code verification.
80
+ 3. `morph-mcp_codebase_search` if codebase-memory MCP is unavailable or unindexed.
81
+ 4. `read` to inspect exact implementation details before editing.
82
+ 5. `grep` for exact symbol/literal checks when needed.
75
83
 
76
84
  ## GitHub Workflow Guidance
77
85
 
@@ -11,6 +11,11 @@ tools:
11
11
  bash: false
12
12
  skill: true
13
13
  task: true
14
+ 'codebase-memory-mcp_search_graph': true
15
+ 'codebase-memory-mcp_get_architecture': true
16
+ 'codebase-memory-mcp_trace_call_path': true
17
+ 'codebase-memory-mcp_get_code_snippet': true
18
+ 'codebase-memory-mcp_search_code': true
14
19
  'morph-mcp_codebase_search': true
15
20
  permission:
16
21
  skill:
@@ -65,13 +70,20 @@ Fallback policy:
65
70
 
66
71
  ## Semantic Code Search
67
72
 
68
- Use `morph-mcp_codebase_search` to understand how code actually works before documenting it. Search by meaning (e.g., "how are users authenticated", "error handling middleware") rather than exact text.
73
+ Use codebase-memory MCP tools first to understand how code actually works before documenting it.
74
+
75
+ - `codebase-memory-mcp_search_graph` to locate relevant functions/classes/routes
76
+ - `codebase-memory-mcp_get_architecture` to capture subsystem context accurately
77
+ - `codebase-memory-mcp_trace_call_path` for workflow and dependency narratives
78
+ - `codebase-memory-mcp_get_code_snippet` to verify exact behavior before writing docs
69
79
 
70
80
  Search fallback order:
71
81
 
72
- 1. `morph-mcp_codebase_search` for semantic discovery.
73
- 2. `read` to verify exact behavior before writing docs.
74
- 3. `grep` for exact symbol/literal checks when needed.
82
+ 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for graph-first discovery.
83
+ 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for behavior confirmation.
84
+ 3. `morph-mcp_codebase_search` if codebase-memory MCP is unavailable or the repo is not indexed.
85
+ 4. `read` to verify exact behavior before writing docs.
86
+ 5. `grep` for exact symbol/literal checks when needed.
75
87
 
76
88
  ## GitHub Workflow Guidance
77
89
 
@@ -9,6 +9,11 @@ tools:
9
9
  bash: false
10
10
  skill: true
11
11
  task: false
12
+ 'codebase-memory-mcp_search_graph': true
13
+ 'codebase-memory-mcp_get_architecture': true
14
+ 'codebase-memory-mcp_trace_call_path': true
15
+ 'codebase-memory-mcp_get_code_snippet': true
16
+ 'codebase-memory-mcp_search_code': true
12
17
  'morph-mcp_codebase_search': true
13
18
  'morph-mcp_github_codebase_search': true
14
19
  permission:
@@ -53,13 +58,19 @@ You have access to powerful external research tools. **Use them proactively:**
53
58
 
54
59
  ### Semantic Code Search
55
60
 
56
- - **`morph-mcp_codebase_search`** — Search the local codebase by meaning. Use to understand the project's existing patterns before recommending changes.
61
+ - **`codebase-memory-mcp_search_graph`** — Graph-first local discovery for functions/classes/routes and their relationships.
62
+ - **`codebase-memory-mcp_get_architecture`** — High-level package/service map for architectural context.
63
+ - **`codebase-memory-mcp_trace_call_path`** — Call-chain tracing for impact analysis and behavior verification.
64
+ - **`codebase-memory-mcp_get_code_snippet`** — Read exact symbol source after graph discovery.
65
+ - **`morph-mcp_codebase_search`** — Semantic local fallback when graph indexing is unavailable.
57
66
 
58
67
  Search fallback order for code understanding:
59
68
 
60
- 1. `morph-mcp_codebase_search` for semantic discovery in local code.
61
- 2. `morph-mcp_github_codebase_search` for upstream/public GitHub internals when needed.
62
- 3. `gh_grep_searchGitHub` for exact code pattern matching across public repos.
69
+ 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for local graph-first discovery.
70
+ 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for local behavior verification.
71
+ 3. `morph-mcp_codebase_search` for local semantic fallback when graph search is unavailable.
72
+ 4. `morph-mcp_github_codebase_search` for upstream/public GitHub internals when needed.
73
+ 5. `gh_grep_searchGitHub` for exact code pattern matching across public repos.
63
74
 
64
75
  ## GitHub Workflow Guidance
65
76
 
@@ -10,6 +10,11 @@ tools:
10
10
  bash: false
11
11
  skill: true
12
12
  task: true
13
+ 'codebase-memory-mcp_search_graph': true
14
+ 'codebase-memory-mcp_get_architecture': true
15
+ 'codebase-memory-mcp_trace_call_path': true
16
+ 'codebase-memory-mcp_get_code_snippet': true
17
+ 'codebase-memory-mcp_search_code': true
13
18
  'morph-mcp_codebase_search': true
14
19
  permission:
15
20
  skill:
@@ -40,19 +45,22 @@ You are a read-only agent — you do not write or edit files.
40
45
 
41
46
  ## Semantic Code Search
42
47
 
43
- Use `morph-mcp_codebase_search` for semantic code search when planning:
48
+ Use codebase-memory MCP tools first when planning:
44
49
 
45
- - Understand existing architecture by meaning (e.g., "authentication logic", "API routing")
46
- - Find related implementations before proposing changes
47
- - Verify assumptions about how code works
50
+ - `codebase-memory-mcp_search_graph` to find candidate functions, classes, and routes
51
+ - `codebase-memory-mcp_get_architecture` for package/service-level orientation
52
+ - `codebase-memory-mcp_trace_call_path` for dependency and impact analysis
53
+ - `codebase-memory-mcp_get_code_snippet` to inspect exact implementation context
48
54
 
49
- Prefer this over `grep` when searching by concept rather than exact text.
55
+ This is preferred over warp_grep/warpgrep-style semantic discovery because graph-aware results surface structural context directly.
50
56
 
51
57
  Search fallback order:
52
58
 
53
- 1. `morph-mcp_codebase_search` for semantic discovery.
54
- 2. `read` to verify relevant source context.
55
- 3. `grep` for exact symbol/literal checks when needed.
59
+ 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for graph-first discovery.
60
+ 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for call-flow and source verification.
61
+ 3. `morph-mcp_codebase_search` if codebase-memory MCP is unavailable or the repository is not indexed yet.
62
+ 4. `read` to verify relevant source context.
63
+ 5. `grep` for exact symbol/literal checks when needed.
56
64
 
57
65
  ## GitHub Workflow Guidance
58
66
 
@@ -10,6 +10,11 @@ tools:
10
10
  bash: false
11
11
  skill: true
12
12
  task: true
13
+ 'codebase-memory-mcp_search_graph': true
14
+ 'codebase-memory-mcp_get_architecture': true
15
+ 'codebase-memory-mcp_trace_call_path': true
16
+ 'codebase-memory-mcp_get_code_snippet': true
17
+ 'codebase-memory-mcp_search_code': true
13
18
  'morph-mcp_codebase_search': true
14
19
  permission:
15
20
  skill:
@@ -40,19 +45,22 @@ You are a read-only agent — you do not write or edit files.
40
45
 
41
46
  ## Semantic Code Search
42
47
 
43
- Use `morph-mcp_codebase_search` for semantic code search when reviewing:
48
+ Use codebase-memory MCP tools first when reviewing:
44
49
 
45
- - Search by meaning to find related code (e.g., "input validation", "access control checks")
46
- - Verify that implementations match architectural patterns across the codebase
47
- - Find similar code to check for consistency
50
+ - `codebase-memory-mcp_search_graph` to locate related implementations by structure + name pattern
51
+ - `codebase-memory-mcp_get_architecture` to validate subsystem boundaries and coupling
52
+ - `codebase-memory-mcp_trace_call_path` to verify security/validation coverage across call paths
53
+ - `codebase-memory-mcp_get_code_snippet` to inspect concrete evidence for findings
48
54
 
49
- Prefer this over `grep` when searching by concept rather than exact text.
55
+ Prefer this over warp_grep/warpgrep-style search so findings are anchored to graph-aware dependencies, not isolated text matches.
50
56
 
51
57
  Search fallback order:
52
58
 
53
- 1. `morph-mcp_codebase_search` for semantic discovery.
54
- 2. `read` to verify concrete evidence and line references.
55
- 3. `grep` for exact symbol/literal checks when needed.
59
+ 1. `codebase-memory-mcp_search_graph` + `codebase-memory-mcp_get_architecture` for discovery and context.
60
+ 2. `codebase-memory-mcp_trace_call_path` / `codebase-memory-mcp_get_code_snippet` for evidence collection.
61
+ 3. `morph-mcp_codebase_search` if codebase-memory MCP is unavailable or not indexed.
62
+ 4. `read` to verify concrete evidence and line references.
63
+ 5. `grep` for exact symbol/literal checks when needed.
56
64
 
57
65
  ## GitHub Workflow Guidance
58
66
 
@@ -2,6 +2,10 @@ type BunShell = any;
2
2
  /**
3
3
  * Default MCP server configuration to be added by the plugin
4
4
  * These servers will be merged into the global OpenCode config.
5
+ *
6
+ * Note: codebase-memory-mcp is intentionally not auto-provisioned here.
7
+ * It is treated as an optional prerequisite because it commonly needs
8
+ * repository-specific indexing/setup before graph queries are useful.
5
9
  */
6
10
  export declare const DEFAULT_MCP_SERVERS: {
7
11
  readonly 'jina-ai': {
@@ -2,6 +2,10 @@ import { isRecord, updateGlobalOpenCodeConfigBlock } from './opencode-global-con
2
2
  /**
3
3
  * Default MCP server configuration to be added by the plugin
4
4
  * These servers will be merged into the global OpenCode config.
5
+ *
6
+ * Note: codebase-memory-mcp is intentionally not auto-provisioned here.
7
+ * It is treated as an optional prerequisite because it commonly needs
8
+ * repository-specific indexing/setup before graph queries are useful.
5
9
  */
6
10
  export const DEFAULT_MCP_SERVERS = {
7
11
  'jina-ai': {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@syntesseraai/opencode-feature-factory",
4
- "version": "0.10.14",
4
+ "version": "0.10.15",
5
5
  "type": "module",
6
6
  "description": "OpenCode plugin for Feature Factory agents - provides sub-agents and skills for validation, review, security, and architecture assessment",
7
7
  "license": "MIT",