bros-harness 0.1.0

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.
Files changed (187) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +183 -0
  4. package/SECURITY.md +16 -0
  5. package/assets/agents.manifest.json +55 -0
  6. package/assets/commands.manifest.json +35 -0
  7. package/assets/docs.manifest.json +20 -0
  8. package/assets/import-report.md +25 -0
  9. package/assets/manifest.json +799 -0
  10. package/assets/opencode/agents/README.md +3 -0
  11. package/assets/opencode/agents/bro-build.md +256 -0
  12. package/assets/opencode/agents/bro-design.md +77 -0
  13. package/assets/opencode/agents/bro-docs.md +72 -0
  14. package/assets/opencode/agents/bro-explore.md +143 -0
  15. package/assets/opencode/agents/bro-ops.md +195 -0
  16. package/assets/opencode/agents/bro-shield.md +77 -0
  17. package/assets/opencode/agents/bro-test.md +204 -0
  18. package/assets/opencode/agents/bro-ui.md +135 -0
  19. package/assets/opencode/agents/mighty-bro.md +252 -0
  20. package/assets/opencode/commands/README.md +3 -0
  21. package/assets/opencode/commands/bros-assemble.md +32 -0
  22. package/assets/opencode/commands/bros-build.md +58 -0
  23. package/assets/opencode/commands/bros-plan.md +83 -0
  24. package/assets/opencode/commands/bros-review.md +38 -0
  25. package/assets/opencode/commands/bros-status.md +26 -0
  26. package/assets/opencode/docs/README.md +3 -0
  27. package/assets/opencode/docs/bros-builtin-skills.md +63 -0
  28. package/assets/opencode/docs/bros-harness.md +194 -0
  29. package/assets/opencode/skills/README.md +3 -0
  30. package/assets/opencode/skills/agent-architecture-audit/SKILL.md +256 -0
  31. package/assets/opencode/skills/agent-harness-construction/.openskills.json +7 -0
  32. package/assets/opencode/skills/agent-harness-construction/SKILL.md +73 -0
  33. package/assets/opencode/skills/agent-introspection-debugging/.openskills.json +7 -0
  34. package/assets/opencode/skills/agent-introspection-debugging/SKILL.md +153 -0
  35. package/assets/opencode/skills/api-design/.openskills.json +7 -0
  36. package/assets/opencode/skills/api-design/agents/openai.yaml +7 -0
  37. package/assets/opencode/skills/architecture-decision-records/.openskills.json +7 -0
  38. package/assets/opencode/skills/architecture-decision-records/SKILL.md +179 -0
  39. package/assets/opencode/skills/article-writing/.openskills.json +7 -0
  40. package/assets/opencode/skills/article-writing/SKILL.md +79 -0
  41. package/assets/opencode/skills/article-writing/agents/openai.yaml +7 -0
  42. package/assets/opencode/skills/automation-audit-ops/.openskills.json +7 -0
  43. package/assets/opencode/skills/automation-audit-ops/SKILL.md +142 -0
  44. package/assets/opencode/skills/backend-patterns/.openskills.json +7 -0
  45. package/assets/opencode/skills/backend-patterns/SKILL.md +561 -0
  46. package/assets/opencode/skills/backend-patterns/agents/openai.yaml +7 -0
  47. package/assets/opencode/skills/benchmark/.openskills.json +7 -0
  48. package/assets/opencode/skills/benchmark/SKILL.md +93 -0
  49. package/assets/opencode/skills/bros-orchestrate/SKILL.md +455 -0
  50. package/assets/opencode/skills/browser-qa/.openskills.json +7 -0
  51. package/assets/opencode/skills/browser-qa/SKILL.md +87 -0
  52. package/assets/opencode/skills/canary-watch/.openskills.json +7 -0
  53. package/assets/opencode/skills/canary-watch/SKILL.md +107 -0
  54. package/assets/opencode/skills/code-review-expert/SKILL.md +155 -0
  55. package/assets/opencode/skills/code-review-expert/agents/agent.yaml +7 -0
  56. package/assets/opencode/skills/code-review-expert/references/code-quality-checklist.md +130 -0
  57. package/assets/opencode/skills/code-review-expert/references/removal-plan.md +52 -0
  58. package/assets/opencode/skills/code-review-expert/references/security-checklist.md +118 -0
  59. package/assets/opencode/skills/code-review-expert/references/solid-checklist.md +65 -0
  60. package/assets/opencode/skills/code-tour/.openskills.json +7 -0
  61. package/assets/opencode/skills/code-tour/SKILL.md +236 -0
  62. package/assets/opencode/skills/coding-standards/.openskills.json +7 -0
  63. package/assets/opencode/skills/coding-standards/SKILL.md +549 -0
  64. package/assets/opencode/skills/coding-standards/agents/openai.yaml +7 -0
  65. package/assets/opencode/skills/context-budget/.openskills.json +7 -0
  66. package/assets/opencode/skills/context-budget/SKILL.md +135 -0
  67. package/assets/opencode/skills/database-migrations/.openskills.json +7 -0
  68. package/assets/opencode/skills/database-migrations/SKILL.md +429 -0
  69. package/assets/opencode/skills/deployment-patterns/.openskills.json +7 -0
  70. package/assets/opencode/skills/deployment-patterns/SKILL.md +427 -0
  71. package/assets/opencode/skills/design-system/.openskills.json +7 -0
  72. package/assets/opencode/skills/design-system/SKILL.md +82 -0
  73. package/assets/opencode/skills/docker-patterns/.openskills.json +7 -0
  74. package/assets/opencode/skills/docker-patterns/SKILL.md +364 -0
  75. package/assets/opencode/skills/documentation-lookup/.openskills.json +7 -0
  76. package/assets/opencode/skills/documentation-lookup/SKILL.md +90 -0
  77. package/assets/opencode/skills/documentation-lookup/agents/openai.yaml +7 -0
  78. package/assets/opencode/skills/e2e-testing/.openskills.json +7 -0
  79. package/assets/opencode/skills/e2e-testing/SKILL.md +326 -0
  80. package/assets/opencode/skills/e2e-testing/agents/openai.yaml +7 -0
  81. package/assets/opencode/skills/error-handling/SKILL.md +376 -0
  82. package/assets/opencode/skills/frontend-design/.openskills.json +7 -0
  83. package/assets/opencode/skills/frontend-design/SKILL.md +145 -0
  84. package/assets/opencode/skills/frontend-design-direction/SKILL.md +92 -0
  85. package/assets/opencode/skills/frontend-patterns/.openskills.json +7 -0
  86. package/assets/opencode/skills/frontend-patterns/SKILL.md +642 -0
  87. package/assets/opencode/skills/frontend-patterns/agents/openai.yaml +7 -0
  88. package/assets/opencode/skills/gateguard/.openskills.json +7 -0
  89. package/assets/opencode/skills/gateguard/SKILL.md +125 -0
  90. package/assets/opencode/skills/git-master/SKILL.md +60 -0
  91. package/assets/opencode/skills/golang-patterns/.openskills.json +7 -0
  92. package/assets/opencode/skills/golang-patterns/SKILL.md +674 -0
  93. package/assets/opencode/skills/golang-testing/.openskills.json +7 -0
  94. package/assets/opencode/skills/golang-testing/SKILL.md +720 -0
  95. package/assets/opencode/skills/grafana-dashboard-design/SKILL.md +65 -0
  96. package/assets/opencode/skills/hexagonal-architecture/.openskills.json +7 -0
  97. package/assets/opencode/skills/hexagonal-architecture/SKILL.md +276 -0
  98. package/assets/opencode/skills/java-coding-standards/.openskills.json +7 -0
  99. package/assets/opencode/skills/java-coding-standards/SKILL.md +383 -0
  100. package/assets/opencode/skills/jpa-patterns/.openskills.json +7 -0
  101. package/assets/opencode/skills/jpa-patterns/SKILL.md +151 -0
  102. package/assets/opencode/skills/knowledge-ops/.openskills.json +7 -0
  103. package/assets/opencode/skills/knowledge-ops/SKILL.md +154 -0
  104. package/assets/opencode/skills/make-interfaces-feel-better/SKILL.md +151 -0
  105. package/assets/opencode/skills/mysql-patterns/SKILL.md +412 -0
  106. package/assets/opencode/skills/nestjs-patterns/.openskills.json +7 -0
  107. package/assets/opencode/skills/nestjs-patterns/SKILL.md +230 -0
  108. package/assets/opencode/skills/nextjs-turbopack/.openskills.json +7 -0
  109. package/assets/opencode/skills/nextjs-turbopack/SKILL.md +57 -0
  110. package/assets/opencode/skills/nextjs-turbopack/agents/openai.yaml +7 -0
  111. package/assets/opencode/skills/parallel-execution-optimizer/SKILL.md +72 -0
  112. package/assets/opencode/skills/postgres-patterns/.openskills.json +7 -0
  113. package/assets/opencode/skills/postgres-patterns/SKILL.md +147 -0
  114. package/assets/opencode/skills/prisma-patterns/SKILL.md +371 -0
  115. package/assets/opencode/skills/product-capability/.openskills.json +7 -0
  116. package/assets/opencode/skills/product-capability/SKILL.md +141 -0
  117. package/assets/opencode/skills/product-lens/.openskills.json +7 -0
  118. package/assets/opencode/skills/product-lens/SKILL.md +92 -0
  119. package/assets/opencode/skills/production-audit/SKILL.md +206 -0
  120. package/assets/opencode/skills/python-patterns/.openskills.json +7 -0
  121. package/assets/opencode/skills/python-patterns/SKILL.md +750 -0
  122. package/assets/opencode/skills/python-testing/.openskills.json +7 -0
  123. package/assets/opencode/skills/python-testing/SKILL.md +816 -0
  124. package/assets/opencode/skills/redis-patterns/SKILL.md +403 -0
  125. package/assets/opencode/skills/requirements-clarity/README.md +260 -0
  126. package/assets/opencode/skills/requirements-clarity/SKILL.md +324 -0
  127. package/assets/opencode/skills/rust-patterns/.openskills.json +7 -0
  128. package/assets/opencode/skills/rust-patterns/SKILL.md +499 -0
  129. package/assets/opencode/skills/rust-testing/.openskills.json +7 -0
  130. package/assets/opencode/skills/rust-testing/SKILL.md +500 -0
  131. package/assets/opencode/skills/safety-guard/.openskills.json +7 -0
  132. package/assets/opencode/skills/safety-guard/SKILL.md +75 -0
  133. package/assets/opencode/skills/search-first/.openskills.json +7 -0
  134. package/assets/opencode/skills/search-first/SKILL.md +181 -0
  135. package/assets/opencode/skills/security-review/.openskills.json +7 -0
  136. package/assets/opencode/skills/security-review/agents/openai.yaml +7 -0
  137. package/assets/opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
  138. package/assets/opencode/skills/security-scan/.openskills.json +7 -0
  139. package/assets/opencode/skills/security-scan/SKILL.md +165 -0
  140. package/assets/opencode/skills/springboot-patterns/.openskills.json +7 -0
  141. package/assets/opencode/skills/springboot-patterns/SKILL.md +314 -0
  142. package/assets/opencode/skills/springboot-tdd/.openskills.json +7 -0
  143. package/assets/opencode/skills/springboot-tdd/SKILL.md +158 -0
  144. package/assets/opencode/skills/springboot-verification/.openskills.json +7 -0
  145. package/assets/opencode/skills/springboot-verification/SKILL.md +231 -0
  146. package/assets/opencode/skills/strategic-compact/.openskills.json +7 -0
  147. package/assets/opencode/skills/strategic-compact/SKILL.md +131 -0
  148. package/assets/opencode/skills/strategic-compact/agents/openai.yaml +7 -0
  149. package/assets/opencode/skills/strategic-compact/suggest-compact.sh +54 -0
  150. package/assets/opencode/skills/tdd-workflow/.openskills.json +7 -0
  151. package/assets/opencode/skills/tdd-workflow/SKILL.md +463 -0
  152. package/assets/opencode/skills/tdd-workflow/agents/openai.yaml +7 -0
  153. package/assets/opencode/skills/verification-loop/.openskills.json +7 -0
  154. package/assets/opencode/skills/verification-loop/SKILL.md +126 -0
  155. package/assets/opencode/skills/verification-loop/agents/openai.yaml +7 -0
  156. package/assets/opencode/skills/vite-patterns/SKILL.md +449 -0
  157. package/assets/opencode/skills/web-doc-search/SKILL.md +51 -0
  158. package/assets/opencode/templates/README.md +3 -0
  159. package/assets/opencode/templates/bros/adr.md +39 -0
  160. package/assets/opencode/templates/bros/delivery-report.md +71 -0
  161. package/assets/opencode/templates/bros/explorer-evidence-packet.md +51 -0
  162. package/assets/opencode/templates/bros/prd.md +72 -0
  163. package/assets/opencode/templates/bros/security-review.md +48 -0
  164. package/assets/opencode/templates/bros/status-board.md +33 -0
  165. package/assets/opencode/templates/bros/task-packet.md +94 -0
  166. package/assets/opencode/templates/bros/test-strategy.md +57 -0
  167. package/assets/opencode/templates/bros/ui-implementation-packet.md +64 -0
  168. package/assets/skills.manifest.json +650 -0
  169. package/assets/templates.manifest.json +55 -0
  170. package/bin/bros.mjs +122 -0
  171. package/docs/compatibility.md +9 -0
  172. package/docs/installation.md +66 -0
  173. package/docs/integrations/claude.md +5 -0
  174. package/docs/integrations/codex.md +5 -0
  175. package/docs/integrations/opencode.md +39 -0
  176. package/docs/migration/from-local-opencode-config.md +10 -0
  177. package/docs/release-process.md +11 -0
  178. package/docs/repository-structure.md +15 -0
  179. package/docs/roadmap.md +20 -0
  180. package/docs/security.md +18 -0
  181. package/docs/testing.md +9 -0
  182. package/examples/opencode/README.md +11 -0
  183. package/examples/opencode/opencode.example.jsonc +4 -0
  184. package/package.json +43 -0
  185. package/scripts/validate-assets.mjs +22 -0
  186. package/scripts/verify-no-secrets.mjs +38 -0
  187. package/src/plugin.mjs +98 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 - Unreleased
4
+
5
+ - Initial sanitized repository scaffold.
6
+ - Added curated OpenCode asset tree placeholders and validation scripts.
7
+ - Added package, CLI, plugin, manifest, adapter, documentation, and examples skeletons.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 BROS Harness contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,183 @@
1
+ # BROS Harness
2
+
3
+ **Move slower than chaos. Ship faster than rework.**
4
+
5
+ BROS Harness is a package-first OpenCode plugin for engineering teams that want AI-assisted delivery without losing discipline. It packages a reviewed set of BROS agents, commands, skills, templates, and documentation, then exposes them through a narrow OpenCode plugin and a read-only helper CLI.
6
+
7
+ BROS is not an AI swarm that floods a codebase with unsupervised workers. It is a gated delivery harness: clarify the work, challenge weak assumptions, implement only approved scope, verify the result, and hand off remaining risk clearly.
8
+
9
+ The tone has bro spirit. The operating model is professional engineering.
10
+
11
+ ## Why BROS?
12
+
13
+ AI coding can feel fast while quietly creating rework: vague plans, hidden scope expansion, optimistic reviews, skipped security checks, and changes nobody can explain later.
14
+
15
+ BROS exists to make AI-assisted work slower at the points where rushing is expensive:
16
+
17
+ - **Before implementation:** define the packet, scope, gates, evidence, and acceptance criteria.
18
+ - **During implementation:** make the smallest correct change and preserve existing conventions.
19
+ - **Before handoff:** run the approved checks, report what changed, and surface risks instead of burying them.
20
+
21
+ That discipline is what makes teams faster over the full delivery cycle.
22
+
23
+ ## How BROS differs from AI swarms
24
+
25
+ | AI swarm pattern | BROS Harness pattern |
26
+ | --- | --- |
27
+ | Many agents run at once by default. | Roles are explicit and gated by task packets. |
28
+ | Speed is treated as the main measure. | Quality, security, and reviewability come first. |
29
+ | Agents may expand scope to “finish” the goal. | Builders implement only approved scope. |
30
+ | Failures are patched over until output looks plausible. | Blockers, uncertainty, and residual risk are reported. |
31
+ | Tooling may mutate broad config surfaces. | The package plugin uses a narrow in-memory OpenCode hook only. |
32
+
33
+ BROS is for teams that would rather challenge a bad request early than clean up a confident mess later.
34
+
35
+ ## Meet the Bros
36
+
37
+ The “Bro” names are display aliases, not authority overrides. Technical IDs, OpenCode config, permissions, user instructions, security gates, and QA gates remain the source of truth.
38
+
39
+ - **Mighty Bro** — orchestrates gates, packets, and final review flow.
40
+ - **Bro Build** — implements approved task packets with the smallest correct change.
41
+ - **Bro Test** — verifies behavior and pushes back on weak test evidence.
42
+ - **Bro Shield** — reviews security-sensitive changes and blocks unsafe shortcuts.
43
+ - **Bro Explore** — gathers evidence before the team relies on assumptions.
44
+ - **Bro Docs** — turns verified implementation context into maintainable documentation.
45
+ - **Bro UI / Bro Design** — provide design direction when UI work requires it.
46
+
47
+ The spirit is collaborative. The rules are strict.
48
+
49
+ ## Workflow
50
+
51
+ ```text
52
+ Intake
53
+
54
+ Clarify objective, risk, and scope
55
+
56
+ Plan approved task packet
57
+
58
+ Explore evidence when required
59
+
60
+ Implement only approved scope
61
+
62
+ Validate with approved checks
63
+
64
+ Security / QA / review gates
65
+
66
+ Handoff with changes, verification, and remaining risks
67
+ ```
68
+
69
+ The point is not ceremony for ceremony’s sake. The point is to keep useful pressure on the work: What is approved? What evidence supports it? What changed? What still needs review?
70
+
71
+ ## Principles
72
+
73
+ 1. **No rubber stamps.** Risky or unclear requests should be challenged respectfully.
74
+ 2. **Scope is a safety boundary.** A builder does not become the product owner, architect, QA approver, or security approver.
75
+ 3. **Evidence beats vibes.** Required evidence packets, UI packets, and gate outcomes must exist before dependent work proceeds.
76
+ 4. **Small changes win.** Prefer the narrowest implementation that satisfies the approved packet.
77
+ 5. **Security is not a final garnish.** Secrets, permissions, providers, MCP servers, telemetry, and production mutations require explicit review paths.
78
+ 6. **Readable handoff matters.** Future maintainers should know what changed, why, how it was verified, and what remains risky.
79
+
80
+ ## Installation
81
+
82
+ BROS Harness is OpenCode-first. The primary install path is the package plugin snippet:
83
+
84
+ ```json
85
+ {
86
+ "plugin": ["bros-harness"]
87
+ }
88
+ ```
89
+
90
+ After adding the plugin entry through your normal OpenCode configuration workflow, restart OpenCode so startup configuration is reloaded.
91
+
92
+ Optional read-only CLI checks:
93
+
94
+ ```bash
95
+ bros snippet
96
+ bros doctor
97
+ bros list-assets
98
+ ```
99
+
100
+ For AI-assisted setup, use a narrow prompt:
101
+
102
+ ```text
103
+ Add BROS Harness to OpenCode using only the package plugin snippet { "plugin": ["bros-harness"] }. Do not install dependencies, publish packages, edit provider settings, add MCP servers, change permissions, configure telemetry, validate secrets, or overwrite existing config. If a config already exists, merge only the plugin entry, show the diff, and ask before writing. Tell the human to restart OpenCode after the approved edit.
104
+ ```
105
+
106
+ The CLI can print similar guidance:
107
+
108
+ ```bash
109
+ bros agent-install-prompt
110
+ ```
111
+
112
+ ## Safety by design
113
+
114
+ The package plugin is intentionally narrow.
115
+
116
+ On load, it verifies packaged asset directories and uses OpenCode’s in-memory `config(cfg)` hook to add only:
117
+
118
+ - the package-relative BROS skills directory to `skills.paths`, when the existing field has the expected safe shape; and
119
+ - packaged command prompt entries to `command`, without overwriting existing command keys.
120
+
121
+ It does **not**:
122
+
123
+ - write `opencode.json`, `.opencode/`, global OpenCode config files, or other live config files;
124
+ - install dependencies;
125
+ - publish packages;
126
+ - register providers;
127
+ - add MCP servers;
128
+ - change permissions;
129
+ - configure telemetry;
130
+ - read, validate, or write secrets.
131
+
132
+ Packaged agent files are included as reviewed assets, but they are not auto-registered by the default plugin hook because permission-bearing agent registration should remain an explicit, reviewed configuration decision.
133
+
134
+ Three skipped raw skills remain excluded pending separate sanitized review. They are not imported by this package.
135
+
136
+ ## What is included
137
+
138
+ - `assets/opencode/` — packaged agents, commands, skills, templates, and docs.
139
+ - `src/plugin.mjs` — the OpenCode plugin entrypoint exposed by `main` and `exports`.
140
+ - `bin/bros.mjs` — a read-only helper CLI for snippets, package checks, asset summaries, and safe setup prompts.
141
+ - `scripts/validate-assets.mjs` and `scripts/verify-no-secrets.mjs` — dependency-free validation scripts retained in the package surface.
142
+
143
+ Maintainer-only asset import tooling remains repository-local, environment-gated, and excluded from the published package surface. It is not a user installation command.
144
+
145
+ ## Local validation
146
+
147
+ For repository maintainers working from source:
148
+
149
+ ```bash
150
+ npm run validate
151
+ node bin/bros.mjs doctor
152
+ node bin/bros.mjs snippet
153
+ npm pack --dry-run
154
+ ```
155
+
156
+ Do not publish from this repository unless a separate release approval explicitly authorizes publishing. Dry runs are useful; real registry mutation is a different gate.
157
+
158
+ ## Contribution
159
+
160
+ Contributions should strengthen the harness without weakening the safety model.
161
+
162
+ Before proposing changes, check:
163
+
164
+ - Does this preserve OpenCode-first installation accuracy?
165
+ - Does it avoid unsupported claims about automatic registration, providers, MCPs, permissions, telemetry, and secrets?
166
+ - Does it keep skipped or unreviewed assets out of the package?
167
+ - Does it include validation or explain why validation is not applicable?
168
+ - Does it improve maintainability without turning BROS into a broad, uncontrolled swarm?
169
+
170
+ Useful references:
171
+
172
+ - [`docs/installation.md`](docs/installation.md)
173
+ - [`docs/integrations/opencode.md`](docs/integrations/opencode.md)
174
+ - [`docs/security.md`](docs/security.md)
175
+ - [`CONTRIBUTING.md`](CONTRIBUTING.md)
176
+
177
+ ## The memorable part
178
+
179
+ BROS is a reminder that the best AI engineering workflows are not the loudest or fastest-looking ones. They are the ones that keep promises small, evidence visible, and risk owned.
180
+
181
+ Challenge the plan. Respect the gates. Build the thing. Verify the thing.
182
+
183
+ **Move slower than chaos. Ship faster than rework.**
package/SECURITY.md ADDED
@@ -0,0 +1,16 @@
1
+ # Security Policy
2
+
3
+ ## Supported status
4
+
5
+ This repository is in an initial scaffold stage. OpenCode assets are included for review and follow-up hardening. Publishing requires final security approval.
6
+
7
+ ## Reporting vulnerabilities
8
+
9
+ Please open a private security advisory or contact the maintainers through the project security channel. Do not include live credentials, API keys, tokens, cookies, or private endpoints in reports.
10
+
11
+ ## Import safety rules
12
+
13
+ - Raw local `opencode.json` or `opencode.jsonc` files are not part of this package.
14
+ - Examples must use placeholders only.
15
+ - Validation scripts search for common secret patterns before packaging.
16
+ - Release automation must not publish without an explicit final security review.
@@ -0,0 +1,55 @@
1
+ {
2
+ "area": "agents",
3
+ "counts": {
4
+ "candidates": 9,
5
+ "imported": 9,
6
+ "skipped": 0
7
+ },
8
+ "entries": [
9
+ {
10
+ "area": "agents",
11
+ "path": "assets/opencode/agents/bro-build.md",
12
+ "sourceRef": "opencode-agent"
13
+ },
14
+ {
15
+ "area": "agents",
16
+ "path": "assets/opencode/agents/bro-design.md",
17
+ "sourceRef": "opencode-agent"
18
+ },
19
+ {
20
+ "area": "agents",
21
+ "path": "assets/opencode/agents/bro-docs.md",
22
+ "sourceRef": "opencode-agent"
23
+ },
24
+ {
25
+ "area": "agents",
26
+ "path": "assets/opencode/agents/bro-explore.md",
27
+ "sourceRef": "opencode-agent"
28
+ },
29
+ {
30
+ "area": "agents",
31
+ "path": "assets/opencode/agents/bro-ops.md",
32
+ "sourceRef": "opencode-agent"
33
+ },
34
+ {
35
+ "area": "agents",
36
+ "path": "assets/opencode/agents/bro-shield.md",
37
+ "sourceRef": "opencode-agent"
38
+ },
39
+ {
40
+ "area": "agents",
41
+ "path": "assets/opencode/agents/bro-test.md",
42
+ "sourceRef": "opencode-agent"
43
+ },
44
+ {
45
+ "area": "agents",
46
+ "path": "assets/opencode/agents/bro-ui.md",
47
+ "sourceRef": "opencode-agent"
48
+ },
49
+ {
50
+ "area": "agents",
51
+ "path": "assets/opencode/agents/mighty-bro.md",
52
+ "sourceRef": "opencode-agent"
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "area": "commands",
3
+ "counts": {
4
+ "candidates": 5,
5
+ "imported": 5,
6
+ "skipped": 0
7
+ },
8
+ "entries": [
9
+ {
10
+ "area": "commands",
11
+ "path": "assets/opencode/commands/bros-assemble.md",
12
+ "sourceRef": "opencode-command"
13
+ },
14
+ {
15
+ "area": "commands",
16
+ "path": "assets/opencode/commands/bros-build.md",
17
+ "sourceRef": "opencode-command"
18
+ },
19
+ {
20
+ "area": "commands",
21
+ "path": "assets/opencode/commands/bros-plan.md",
22
+ "sourceRef": "opencode-command"
23
+ },
24
+ {
25
+ "area": "commands",
26
+ "path": "assets/opencode/commands/bros-review.md",
27
+ "sourceRef": "opencode-command"
28
+ },
29
+ {
30
+ "area": "commands",
31
+ "path": "assets/opencode/commands/bros-status.md",
32
+ "sourceRef": "opencode-command"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "area": "docs",
3
+ "counts": {
4
+ "candidates": 2,
5
+ "imported": 2,
6
+ "skipped": 0
7
+ },
8
+ "entries": [
9
+ {
10
+ "area": "docs",
11
+ "path": "assets/opencode/docs/bros-builtin-skills.md",
12
+ "sourceRef": "opencode-doc"
13
+ },
14
+ {
15
+ "area": "docs",
16
+ "path": "assets/opencode/docs/bros-harness.md",
17
+ "sourceRef": "opencode-doc"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,25 @@
1
+ # Import Report
2
+
3
+ ## Summary
4
+
5
+ - Total source candidates: 156
6
+ - Imported: 153
7
+ - Skipped: 3
8
+
9
+ ## Counts by Area
10
+
11
+ - agents: candidates=9, imported=9, skipped=0
12
+ - commands: candidates=5, imported=5, skipped=0
13
+ - skills: candidates=131, imported=128, skipped=3
14
+ - docs: candidates=2, imported=2, skipped=0
15
+ - templates: candidates=9, imported=9, skipped=0
16
+
17
+ ## Skipped Items
18
+
19
+ - area: skills; source: `skills/api-design/SKILL.md`; reason: secret-like-pattern-detected
20
+ - area: skills; source: `skills/frontend-a11y/SKILL.md`; reason: secret-like-pattern-detected
21
+ - area: skills; source: `skills/security-review/SKILL.md`; reason: secret-like-pattern-detected
22
+
23
+ ## Follow-up
24
+
25
+ The three skipped skill files remain intentionally excluded until a separate sanitized review/import follow-up approves safe public content. Raw skipped skill files were not imported.