@syntesseraai/opencode-feature-factory 0.11.9 → 0.11.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/AGENTS.md +1 -1
- package/README.md +4 -5
- package/agents/building.md +1 -13
- package/agents/documenting.md +6 -18
- package/agents/feature-factory.md +9 -14
- package/agents/planning.md +8 -18
- package/agents/reviewing.md +8 -18
- package/bin/ff-deploy.js +0 -7
- package/dist/mcp-config.d.ts +0 -7
- package/dist/mcp-config.js +0 -7
- package/package.json +1 -1
- package/skills/ff-research-methods/SKILL.md +1 -2
package/AGENTS.md
CHANGED
|
@@ -41,7 +41,7 @@ When work changes behavior, workflows, configuration, operational guidance, or r
|
|
|
41
41
|
- Use `read`, `glob`, and `grep` for targeted file inspection.
|
|
42
42
|
- Writable agents should prefer native `edit` for file updates.
|
|
43
43
|
- Keep `edit` restricted on read-only agents (`planning`, `reviewing`).
|
|
44
|
-
- Route Git operations through `bash` with explicit `git`/`gh` allowlists (and optional `oo git`/`oo gh` wrappers) per OpenCode granular `
|
|
44
|
+
- Route Git operations through `bash` with explicit `git`/`gh` allowlists (and optional `oo git`/`oo gh` wrappers) per OpenCode granular `permissions` rules (`permissions.bash` object syntax), with last-match-wins ordering.
|
|
45
45
|
- Keep read-only agents deny-first for shell usage (`bash: {'*': deny}` with explicit `git`/`gh` and `oo git`/`oo gh` overrides).
|
|
46
46
|
- Explicitly disable PTY tools (`pty_spawn`, `pty_write`, `pty_read`, `pty_list`, `pty_kill`) on read-only agents; they must not rely on PTY as a back door.
|
|
47
47
|
- Use `todowrite` for multi-step tasks to keep progress visible.
|
package/README.md
CHANGED
|
@@ -82,7 +82,7 @@ Stage-agent code discovery is graph-first: planning/building/reviewing/documenti
|
|
|
82
82
|
|
|
83
83
|
### Permission policy for shell and PTY tools
|
|
84
84
|
|
|
85
|
-
Feature Factory agent assets follow OpenCode granular permissions (`
|
|
85
|
+
Feature Factory agent assets follow OpenCode granular `permissions` blocks (including `permissions.bash` object syntax) with deny/allow precedence based on **last matching rule wins**.
|
|
86
86
|
|
|
87
87
|
- Stage agents (`planning`, `building`, `reviewing`, `documenting`) expose `bash` and explicitly allow `git`/`gh` command patterns, including `oo`-prefixed variants (`oo git ...`, `oo gh ...`).
|
|
88
88
|
- Read-only agents (`planning`, `reviewing`) are deny-first for shell commands (`'*': deny`) with explicit `git`/`gh` exceptions, including `oo git`/`oo gh`.
|
|
@@ -132,7 +132,6 @@ The plugin merges the following MCP servers into global OpenCode config when mis
|
|
|
132
132
|
|
|
133
133
|
- `jina-ai`
|
|
134
134
|
- `gh_grep`
|
|
135
|
-
- `context7`
|
|
136
135
|
|
|
137
136
|
`codebase-memory-mcp` is currently treated as an optional prerequisite (not auto-provisioned by this plugin) because it commonly requires repository-specific indexing/setup.
|
|
138
137
|
|
|
@@ -145,12 +144,12 @@ The plugin also merges the following default plugins when they are missing:
|
|
|
145
144
|
|
|
146
145
|
### Merge Outcomes
|
|
147
146
|
|
|
148
|
-
`DEFAULT_MCP_SERVERS` currently includes
|
|
147
|
+
`DEFAULT_MCP_SERVERS` currently includes 2 servers (`jina-ai`, `gh_grep`).
|
|
149
148
|
|
|
150
149
|
The merge behavior is additive and non-destructive:
|
|
151
150
|
|
|
152
|
-
- Empty or missing existing MCP config ->
|
|
153
|
-
- Existing config with 1 custom server and a customized `gh_grep` entry ->
|
|
151
|
+
- Empty or missing existing MCP config -> 2 servers after merge.
|
|
152
|
+
- Existing config with 1 custom server and a customized `gh_grep` entry -> 3 servers after merge (custom + customized `gh_grep` + 1 missing default).
|
|
154
153
|
- Existing server definitions are preserved and never overwritten by defaults.
|
|
155
154
|
|
|
156
155
|
Plugin merge behavior is also additive and non-destructive:
|
package/agents/building.md
CHANGED
|
@@ -3,19 +3,7 @@ description: Implements features from approved plans and returns structured impl
|
|
|
3
3
|
mode: all
|
|
4
4
|
color: '#d2d21a'
|
|
5
5
|
model: openai/gpt-5.3-codex
|
|
6
|
-
|
|
7
|
-
read: true
|
|
8
|
-
write: true
|
|
9
|
-
edit: true
|
|
10
|
-
bash: true
|
|
11
|
-
skill: true
|
|
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
|
|
18
|
-
permission:
|
|
6
|
+
permissions:
|
|
19
7
|
skill:
|
|
20
8
|
'*': allow
|
|
21
9
|
task:
|
package/agents/documenting.md
CHANGED
|
@@ -3,24 +3,12 @@ description: Documentation implementation specialist for pipeline documentation
|
|
|
3
3
|
mode: all
|
|
4
4
|
color: '#f97316'
|
|
5
5
|
model: opencode/gemini-3.1-pro
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
pty_write: false
|
|
13
|
-
pty_read: false
|
|
14
|
-
pty_list: false
|
|
15
|
-
pty_kill: false
|
|
16
|
-
skill: true
|
|
17
|
-
task: true
|
|
18
|
-
'codebase-memory-mcp_search_graph': true
|
|
19
|
-
'codebase-memory-mcp_get_architecture': true
|
|
20
|
-
'codebase-memory-mcp_trace_call_path': true
|
|
21
|
-
'codebase-memory-mcp_get_code_snippet': true
|
|
22
|
-
'codebase-memory-mcp_search_code': true
|
|
23
|
-
permission:
|
|
6
|
+
permissions:
|
|
7
|
+
pty_spawn: deny
|
|
8
|
+
pty_write: deny
|
|
9
|
+
pty_read: deny
|
|
10
|
+
pty_list: deny
|
|
11
|
+
pty_kill: deny
|
|
24
12
|
skill:
|
|
25
13
|
'*': allow
|
|
26
14
|
task:
|
|
@@ -3,20 +3,15 @@ description: Feature Factory — native stage orchestrator for planning, buildin
|
|
|
3
3
|
mode: primary
|
|
4
4
|
color: '#0fc24e'
|
|
5
5
|
model: github-copilot/gpt-5.4-mini
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
pty_list: false
|
|
16
|
-
pty_kill: false
|
|
17
|
-
skill: true
|
|
18
|
-
task: true
|
|
19
|
-
permission:
|
|
6
|
+
permissions:
|
|
7
|
+
write: deny
|
|
8
|
+
edit: deny
|
|
9
|
+
bash: deny
|
|
10
|
+
pty_spawn: deny
|
|
11
|
+
pty_write: deny
|
|
12
|
+
pty_read: deny
|
|
13
|
+
pty_list: deny
|
|
14
|
+
pty_kill: deny
|
|
20
15
|
skill:
|
|
21
16
|
'*': allow
|
|
22
17
|
task:
|
package/agents/planning.md
CHANGED
|
@@ -3,24 +3,14 @@ description: Creates implementation plans and planning gates for pipeline and ad
|
|
|
3
3
|
mode: all
|
|
4
4
|
color: '#3b82f6'
|
|
5
5
|
model: openai/gpt-5.4
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
pty_list: false
|
|
15
|
-
pty_kill: false
|
|
16
|
-
skill: true
|
|
17
|
-
task: true
|
|
18
|
-
'codebase-memory-mcp_search_graph': true
|
|
19
|
-
'codebase-memory-mcp_get_architecture': true
|
|
20
|
-
'codebase-memory-mcp_trace_call_path': true
|
|
21
|
-
'codebase-memory-mcp_get_code_snippet': true
|
|
22
|
-
'codebase-memory-mcp_search_code': true
|
|
23
|
-
permission:
|
|
6
|
+
permissions:
|
|
7
|
+
write: deny
|
|
8
|
+
edit: deny
|
|
9
|
+
pty_spawn: deny
|
|
10
|
+
pty_write: deny
|
|
11
|
+
pty_read: deny
|
|
12
|
+
pty_list: deny
|
|
13
|
+
pty_kill: deny
|
|
24
14
|
skill:
|
|
25
15
|
'*': allow
|
|
26
16
|
task:
|
package/agents/reviewing.md
CHANGED
|
@@ -3,24 +3,14 @@ description: Unified validation agent for code and documentation. Performs accep
|
|
|
3
3
|
mode: all
|
|
4
4
|
color: '#8b5cf6'
|
|
5
5
|
model: opencode/glm-5.1
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
pty_list: false
|
|
15
|
-
pty_kill: false
|
|
16
|
-
skill: true
|
|
17
|
-
task: true
|
|
18
|
-
'codebase-memory-mcp_search_graph': true
|
|
19
|
-
'codebase-memory-mcp_get_architecture': true
|
|
20
|
-
'codebase-memory-mcp_trace_call_path': true
|
|
21
|
-
'codebase-memory-mcp_get_code_snippet': true
|
|
22
|
-
'codebase-memory-mcp_search_code': true
|
|
23
|
-
permission:
|
|
6
|
+
permissions:
|
|
7
|
+
write: deny
|
|
8
|
+
edit: deny
|
|
9
|
+
pty_spawn: deny
|
|
10
|
+
pty_write: deny
|
|
11
|
+
pty_read: deny
|
|
12
|
+
pty_list: deny
|
|
13
|
+
pty_kill: deny
|
|
24
14
|
skill:
|
|
25
15
|
'*': allow
|
|
26
16
|
task:
|
package/bin/ff-deploy.js
CHANGED
|
@@ -45,13 +45,6 @@ const DEFAULT_MCP_SERVERS = {
|
|
|
45
45
|
type: 'remote',
|
|
46
46
|
url: 'https://mcp.grep.app',
|
|
47
47
|
},
|
|
48
|
-
context7: {
|
|
49
|
-
type: 'remote',
|
|
50
|
-
url: 'https://mcp.context7.com/mcp',
|
|
51
|
-
headers: {
|
|
52
|
-
CONTEXT7_API_KEY: '{env:CONTEXT7_API_KEY}',
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
48
|
};
|
|
56
49
|
|
|
57
50
|
const DEFAULT_PLUGINS = [
|
package/dist/mcp-config.d.ts
CHANGED
|
@@ -19,13 +19,6 @@ export declare const DEFAULT_MCP_SERVERS: {
|
|
|
19
19
|
readonly type: "remote";
|
|
20
20
|
readonly url: "https://mcp.grep.app";
|
|
21
21
|
};
|
|
22
|
-
readonly context7: {
|
|
23
|
-
readonly type: "remote";
|
|
24
|
-
readonly url: "https://mcp.context7.com/mcp";
|
|
25
|
-
readonly headers: {
|
|
26
|
-
readonly CONTEXT7_API_KEY: "{env:CONTEXT7_API_KEY}";
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
22
|
};
|
|
30
23
|
export interface MCPServerConfig {
|
|
31
24
|
type: 'local' | 'remote';
|
package/dist/mcp-config.js
CHANGED
|
@@ -19,13 +19,6 @@ export const DEFAULT_MCP_SERVERS = {
|
|
|
19
19
|
type: 'remote',
|
|
20
20
|
url: 'https://mcp.grep.app',
|
|
21
21
|
},
|
|
22
|
-
context7: {
|
|
23
|
-
type: 'remote',
|
|
24
|
-
url: 'https://mcp.context7.com/mcp',
|
|
25
|
-
headers: {
|
|
26
|
-
CONTEXT7_API_KEY: '{env:CONTEXT7_API_KEY}',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
22
|
};
|
|
30
23
|
/**
|
|
31
24
|
* Merge MCP servers, preserving existing servers and adding new ones.
|
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.11.
|
|
4
|
+
"version": "0.11.10",
|
|
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",
|
|
@@ -18,7 +18,6 @@ Use these tools directly when available in the active agent:
|
|
|
18
18
|
|
|
19
19
|
- `jina-ai_search_web` / `jina-ai_read_url` / `jina-ai_expand_query`
|
|
20
20
|
- `jina-ai_parallel_search_web` / `jina-ai_parallel_read_url`
|
|
21
|
-
- `context7_resolve-library-id` / `context7_query-docs`
|
|
22
21
|
- `gh_grep_searchGitHub`
|
|
23
22
|
- `jina-ai_search_arxiv` / `jina-ai_search_ssrn`
|
|
24
23
|
|
|
@@ -95,7 +94,7 @@ Use `jina-ai_read_url` for:
|
|
|
95
94
|
|
|
96
95
|
### 4. Code Search (PROGRAMMING-SPECIFIC)
|
|
97
96
|
|
|
98
|
-
Use `
|
|
97
|
+
Use `gh_grep_searchGitHub` for:
|
|
99
98
|
|
|
100
99
|
- Finding library/SDK/API examples
|
|
101
100
|
- Understanding implementation patterns
|