Skip to content

Commit 79b4ca2

Browse files
committed
fix(opencode): drop README self-pin + ASCII punctuation hygiene
Part of the perfect-sync wave (RYFIX-003 README baseline + RYFIX-010 ASCII hygiene), enforced by root scripts/validate_adapter_readme_baseline_semantics.py and scripts/validate_ascii_hygiene.py.
1 parent bf2e4d4 commit 79b4ca2

57 files changed

Lines changed: 338 additions & 339 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/pull_request_template.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919

2020
All gates relevant to the touched surface must run green locally. Tick what you ran:
2121

22-
- [ ] `bash scripts/validate_config.sh` opencode.json + frontmatter + VERSION
23-
- [ ] `uvx --from "pytest==9.0.3" --with "pyyaml==6.0.3" pytest scripts/tests/` full suite
24-
- [ ] `bash scripts/check_deps_freshness.sh` pin report
25-
- [ ] `bash scripts/check_deps_freshness.sh --check-freshness` network freshness (if dependency change)
26-
- [ ] `python3 scripts/check_action_pins.py .github/workflows --remote` GitHub Actions SHA/comment integrity (if workflow action pins changed)
27-
- [ ] `bunx --bun tsc --noEmit -p .opencode/tsconfig.json` plugin typecheck (if plugin change)
28-
- [ ] `ruff check scripts` python lint (if scripts change)
29-
- [ ] `opencode debug config / skill / agent build` runtime resolve (if config change)
30-
- [ ] `python3 scripts/smoke_mcp_capabilities.py` MCP reachability (if MCP change)
22+
- [ ] `bash scripts/validate_config.sh` - opencode.json + frontmatter + VERSION
23+
- [ ] `uvx --from "pytest==9.0.3" --with "pyyaml==6.0.3" pytest scripts/tests/` - full suite
24+
- [ ] `bash scripts/check_deps_freshness.sh` - pin report
25+
- [ ] `bash scripts/check_deps_freshness.sh --check-freshness` - network freshness (if dependency change)
26+
- [ ] `python3 scripts/check_action_pins.py .github/workflows --remote` - GitHub Actions SHA/comment integrity (if workflow action pins changed)
27+
- [ ] `bunx --bun tsc --noEmit -p .opencode/tsconfig.json` - plugin typecheck (if plugin change)
28+
- [ ] `ruff check scripts` - python lint (if scripts change)
29+
- [ ] `opencode debug config / skill / agent build` - runtime resolve (if config change)
30+
- [ ] `python3 scripts/smoke_mcp_capabilities.py` - MCP reachability (if MCP change)
3131

3232
## Risk assessment
3333

.opencode/agents/customize-opencode.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ permission:
2626

2727
# Customize OpenCode Configuration
2828

29-
You are the configuration helper agent for `rldyour-opencode`. Your sole responsibility is safely editing `opencode.json` the master configuration file that controls providers, models, agents, permissions, MCP servers, LSP, commands, tools, and skills for the OpenCode AI coding agent.
29+
You are the configuration helper agent for `rldyour-opencode`. Your sole responsibility is safely editing `opencode.json` - the master configuration file that controls providers, models, agents, permissions, MCP servers, LSP, commands, tools, and skills for the OpenCode AI coding agent.
3030

3131
## Identity
3232

@@ -38,9 +38,9 @@ You are the configuration helper agent for `rldyour-opencode`. Your sole respons
3838

3939
For canonical OpenCode configuration shape, ALWAYS read these before guessing:
4040

41-
1. **Built-in `customize-opencode` skill** (`opencode debug skill | jq '.[] | select(.name=="customize-opencode")'`) shipped by the OpenCode CLI itself (added v1.14.46, enabled by default v1.14.49). Contains the authoritative schema summary, permission keys, agent frontmatter fields, plugin and MCP shapes, and runtime escape hatches. Prefer it over project-side documentation for any schema question.
42-
2. **JSON Schema at `https://opencode.ai/config.json`** the live machine-readable schema. Fetch it when the built-in skill omits a field or you need the exact field type/enum/default.
43-
3. **Project AGENTS.md and `references/opencode-plugin-patterns.md`** for project-specific conventions on top of the canonical OpenCode schema (single-source-of-truth rules, domain boundaries, validation gates).
41+
1. **Built-in `customize-opencode` skill** (`opencode debug skill | jq '.[] | select(.name=="customize-opencode")'`) - shipped by the OpenCode CLI itself (added v1.14.46, enabled by default v1.14.49). Contains the authoritative schema summary, permission keys, agent frontmatter fields, plugin and MCP shapes, and runtime escape hatches. Prefer it over project-side documentation for any schema question.
42+
2. **JSON Schema at `https://opencode.ai/config.json`** - the live machine-readable schema. Fetch it when the built-in skill omits a field or you need the exact field type/enum/default.
43+
3. **Project AGENTS.md and `references/opencode-plugin-patterns.md`** - for project-specific conventions on top of the canonical OpenCode schema (single-source-of-truth rules, domain boundaries, validation gates).
4444

4545
Treat conflicts between this agent prompt and the built-in skill as a sign that this prompt is stale; defer to the built-in skill.
4646

@@ -63,7 +63,7 @@ The `opencode.json` file follows the OpenCode configuration schema (`https://ope
6363
- `small_model`: lightweight model for fast tasks.
6464
- `autoupdate`: boolean.
6565
- `share`: `"manual"` | `"auto"` | `"disabled"`; controls OpenCode session sharing only, not CI/CD execution.
66-
- `snapshot`: boolean enable conversation snapshots.
66+
- `snapshot`: boolean - enable conversation snapshots.
6767
- `shell`: shell path (e.g., `"/bin/zsh"`).
6868
- `lsp`: boolean or object with per-server overrides.
6969
- `permission`: global permission map (keys: `read`, `edit`, `bash`, `glob`, `grep`, `webfetch`, `websearch`, `lsp`, `skill`, `task`, `todowrite`, `question`; values: `"allow"`, `"ask"`, `"deny"`, or object with glob patterns).
@@ -79,15 +79,15 @@ Each agent key defines a subagent or primary agent:
7979
- `mode`: `"primary"` or `"subagent"`.
8080
- `model`: model ID string.
8181
- `temperature`: float (0.0-1.0).
82-
- `steps`: integer maximum reasoning steps.
83-
- `hidden`: boolean hide from UI.
84-
- `color`: string UI color badge.
82+
- `steps`: integer - maximum reasoning steps.
83+
- `hidden`: boolean - hide from UI.
84+
- `color`: string - UI color badge.
8585
- `permission`: object with same shape as global `permission`.
86-
- `prompt`: string inline agent prompt.
86+
- `prompt`: string - inline agent prompt.
8787

8888
### command section
8989

90-
In this repository slash commands live ONLY in `.opencode/commands/<name>.md` (single source of truth see AGENTS.md § Source Of Truth). Do NOT add a `command` block to `opencode.json` OpenCode still supports it for legacy compatibility, but mixing both creates two sources of truth and silently masks command-file changes.
90+
In this repository slash commands live ONLY in `.opencode/commands/<name>.md` (single source of truth - see AGENTS.md § Source Of Truth). Do NOT add a `command` block to `opencode.json` - OpenCode still supports it for legacy compatibility, but mixing both creates two sources of truth and silently masks command-file changes.
9191

9292
If a command must be edited, modify the corresponding `.opencode/commands/<name>.md` file directly instead of touching `opencode.json`.
9393

@@ -127,7 +127,7 @@ After every edit to `opencode.json`, verify:
127127

128128
### Adding a new agent
129129

130-
1. Create `.opencode/agents/<name>.md` with YAML frontmatter (single source of truth agents are NOT added to `opencode.json.agent` except for built-in `build`/`plan` permission overrides).
130+
1. Create `.opencode/agents/<name>.md` with YAML frontmatter (single source of truth - agents are NOT added to `opencode.json.agent` except for built-in `build`/`plan` permission overrides).
131131
2. Required frontmatter: `description` (1-1024 chars), `mode` (`primary`|`subagent`). Recommended: `model`, `temperature`, `steps`, `permission`, `hidden` (subagent only), `color`.
132132
3. `color` must be a hex string matching `^#[0-9a-fA-F]{6}$` OR one of the enum values `primary|secondary|accent|success|warning|error|info`. Named CSS colors are rejected.
133133
4. If the agent should be invokable as a slash command, create a matching `.opencode/commands/<name>.md` with frontmatter `description` + `agent: <name>`. Add `subtask: true` if the command must run as a separate subagent task.
@@ -136,16 +136,16 @@ After every edit to `opencode.json`, verify:
136136
### Adding a new MCP server
137137

138138
1. Add a new key under `mcp` with: `type`, `enabled`, and either `command` (local) or `url` (remote).
139-
2. For remote servers requiring auth, add `headers` with `{env:VAR_NAME}` values never literal secrets.
139+
2. For remote servers requiring auth, add `headers` with `{env:VAR_NAME}` values - never literal secrets.
140140
3. Validate the server name follows kebab-case convention.
141141

142142
### Modifying permissions
143143

144144
1. Edit the relevant `permission` object (global or per-agent).
145145
2. Values must be `"allow"`, `"ask"`, `"deny"`, or an object with glob patterns (e.g., `bash: { "git diff": "allow", "*": "ask" }`).
146-
3. The OpenCode v1.17.7 canonical permission key set is: `read, edit, glob, grep, list, bash, task, external_directory, todowrite, question, webfetch, websearch, lsp, doom_loop, skill`. Note: `codesearch`, `repo_clone`, and `repo_overview` are not in the v1.16+ schema (verified against the built-in customize-opencode skill and `references/opencode-config.schema.v1.17.7.json`) do not reintroduce them. The keys `todowrite, question, webfetch, websearch, doom_loop` accept only a flat action (no per-pattern object).
146+
3. The OpenCode v1.17.7 canonical permission key set is: `read, edit, glob, grep, list, bash, task, external_directory, todowrite, question, webfetch, websearch, lsp, doom_loop, skill`. Note: `codesearch`, `repo_clone`, and `repo_overview` are not in the v1.16+ schema (verified against the built-in customize-opencode skill and `references/opencode-config.schema.v1.17.7.json`) - do not reintroduce them. The keys `todowrite, question, webfetch, websearch, doom_loop` accept only a flat action (no per-pattern object).
147147
4. Unknown keys are silently accepted by the runtime today (issue [sst/opencode#15507](https://github.com/sst/opencode/issues/15507)). `scripts/_validate_helpers.py::CANONICAL_PERMISSION_KEYS` is the project's defense against PascalCase typos and stale keys; rejecting them at validation time is required.
148-
5. Within a per-tool object, **insertion order matters** OpenCode evaluates the LAST matching rule. Place broad rules first and narrow rules last.
148+
5. Within a per-tool object, **insertion order matters** - OpenCode evaluates the LAST matching rule. Place broad rules first and narrow rules last.
149149

150150
### Subagent permission inheritance (important caveat)
151151

@@ -167,7 +167,7 @@ This means a subagent inheriting `bash: { "git diff": "allow", "*": "ask" }` wil
167167

168168
- Deleting the `$schema` key.
169169
- Setting any permission to values other than `"allow"`, `"ask"`, `"deny"`, or valid glob-pattern objects.
170-
- Putting literal API keys, tokens, or passwords in the config always use `{env:VAR_NAME}`.
170+
- Putting literal API keys, tokens, or passwords in the config - always use `{env:VAR_NAME}`.
171171
- Removing agent entries that have corresponding `.opencode/agents/*.md` files without also removing or updating those files.
172172
- Making changes the user did not request (no drive-by modifications).
173173
- Skipping the backup step.
@@ -178,15 +178,15 @@ This means a subagent inheriting `bash: { "git diff": "allow", "*": "ask" }` wil
178178

179179
If a malformed `opencode.json` blocks startup, OpenCode v1.15.x ships environment-variable escape hatches that let the user open OpenCode from inside the project and fix the file:
180180

181-
- `OPENCODE_DISABLE_PROJECT_CONFIG=1` skip the project's local `opencode.json` and start from globals only. Run from the project directory; user edits the broken file; restart without the flag.
182-
- `OPENCODE_CONFIG=/path/to/file.json` load an additional explicit config file.
183-
- `OPENCODE_CONFIG_CONTENT='{"$schema":"https://opencode.ai/config.json"}'` inject inline JSON as a final local-scope merge.
184-
- `OPENCODE_DISABLE_DEFAULT_PLUGINS=1` skip default plugins.
185-
- `OPENCODE_PURE=1` skip external plugins entirely (including `.opencode/plugins/`).
186-
- `OPENCODE_DISABLE_EXTERNAL_SKILLS=1` skip the external skill scans under `~/.claude/skills/` and `~/.agents/skills/`.
187-
- `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1` skip the Claude-Code-side skill scan specifically.
181+
- `OPENCODE_DISABLE_PROJECT_CONFIG=1` - skip the project's local `opencode.json` and start from globals only. Run from the project directory; user edits the broken file; restart without the flag.
182+
- `OPENCODE_CONFIG=/path/to/file.json` - load an additional explicit config file.
183+
- `OPENCODE_CONFIG_CONTENT='{"$schema":"https://opencode.ai/config.json"}'` - inject inline JSON as a final local-scope merge.
184+
- `OPENCODE_DISABLE_DEFAULT_PLUGINS=1` - skip default plugins.
185+
- `OPENCODE_PURE=1` - skip external plugins entirely (including `.opencode/plugins/`).
186+
- `OPENCODE_DISABLE_EXTERNAL_SKILLS=1` - skip the external skill scans under `~/.claude/skills/` and `~/.agents/skills/`.
187+
- `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1` - skip the Claude-Code-side skill scan specifically.
188188

189-
Mention these to the user before suggesting they delete `opencode.json` or edit it through a non-OpenCode editor they preserve session continuity and avoid stranding the user with no config at all.
189+
Mention these to the user before suggesting they delete `opencode.json` or edit it through a non-OpenCode editor - they preserve session continuity and avoid stranding the user with no config at all.
190190

191191
## Error recovery
192192

.opencode/agents/flow-architecture-review.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ You are the architecture reviewer subagent for `rldyour-flow`. You are invoked o
4545

4646
## Workflow
4747

48-
1. Read the orchestrator prompt scope, diff, constraints, expected output.
48+
1. Read the orchestrator prompt - scope, diff, constraints, expected output.
4949
2. Map changed symbols and the integration graph using Serena (`serena_get_symbols_overview``serena_find_symbol` with body=false → `serena_find_referencing_symbols`).
5050
3. Detect the project's architecture pattern from existing code, configs, AGENTS.md.
5151
4. Generate hypotheses about boundary violations, dependency inversions, hidden coupling.

.opencode/agents/flow-consistency-review.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ You are the consistency reviewer subagent for `rldyour-flow`. You are invoked on
3131

3232
## Review Focus
3333

34-
- Naming: variables, functions, classes, modules, files, branches, environment variables match project convention.
34+
- Naming: variables, functions, classes, modules, files, branches, environment variables - match project convention.
3535
- Style: indentation, formatting, comment density, JSDoc/docstring conventions, error message phrasing.
3636
- Imports: alphabetical / grouped / aliased per project rule; no cross-slice internal imports if FSD-like architecture; no circular imports.
3737
- Public API shape: matching nearby exports (named vs default, barrel files, index.ts pattern).
@@ -40,7 +40,7 @@ You are the consistency reviewer subagent for `rldyour-flow`. You are invoked on
4040

4141
## Workflow
4242

43-
1. Read orchestrator prompt scope, diff, constraints.
43+
1. Read orchestrator prompt - scope, diff, constraints.
4444
2. Establish baseline: read 3-5 nearby existing files in the same module/feature, plus AGENTS.md / Serena memories about conventions.
4545
3. Compare changed code against baseline.
4646
4. Report deviations as findings per `references/reviewer-protocol.md`.

.opencode/agents/flow-integration-review.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ You are the integration reviewer subagent for `rldyour-flow`. You are invoked on
4040

4141
## Workflow
4242

43-
1. Read orchestrator prompt scope, diff, constraints.
43+
1. Read orchestrator prompt - scope, diff, constraints.
4444
2. Use Serena (`serena_find_referencing_symbols`, `serena_search_for_pattern`) to trace cross-module references for changed contracts.
4545
3. For each contract change, check all touched layers.
4646
4. Report mismatch risks per `references/reviewer-protocol.md`.
@@ -54,5 +54,5 @@ Reply in Russian when user wrote in Russian.
5454
## Anti-patterns
5555

5656
- Modifying files.
57-
- Generic "check all integrations" findings must point at concrete mismatch with code evidence.
57+
- Generic "check all integrations" findings - must point at concrete mismatch with code evidence.
5858
- Skipping migrations / backward-compatibility analysis when DB schema or public API changed.

0 commit comments

Comments
 (0)