Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 15 additions & 11 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ The harness automates configuration, provides containerized environments, and st
opencode-harness/
├── .github/ # GitHub configuration
│ ├── dependabot.yml # Automated dependency updates
│ └── workflows/ # CI/CD workflows
│ └── ci.yml # Main CI pipeline
├── build/ # Container build context (all build files)
│ └── workflows/ # CI/CD workflows
│ └── ci.yml # Main CI pipeline
├── .pre-commit-config.yaml # Pre-commit hooks
├── build/ # Container build context (all build files)
│ ├── .containerignore # Container build exclusions
│ ├── .opencode-version # Pinned OpenCode version
│ ├── .opencode-checksums # SHA256 checksums for OpenCode tarballs
│ ├── .opencode/ # OpenCode configuration
│ │ ├── opencode.json # Plugin configuration
│ │ ├── tui.json # TUI theme configuration
Expand All @@ -41,7 +43,10 @@ opencode-harness/
│ ├── build.sh # Container build script
│ ├── container-test.sh # Container verification tests
│ ├── local-setup.sh # Host bootstrap script
│ └── validate.sh # Pre-build validation
│ ├── validate.sh # Pre-build validation
│ └── bump-version.sh # OpenCode version bumper
├── tests/ # Test suite
│ └── test_bootstrap.sh # Bootstrap function tests
├── .gitignore # Git exclusions
├── AGENTS.md # This file
└── README.md # Project documentation
Expand Down Expand Up @@ -192,7 +197,7 @@ install() {

```dockerfile
# ✅ Good - multi-stage, explicit versions, clear comments
FROM ghcr.io/tankdonut/tools@sha256:0f2115e5cfaa7cced5e26c4398a5d5ed667bbe2baf892a6947ab03166428b286 AS tools
FROM ghcr.io/tankdonut/tools AS tools

FROM docker.io/library/ubuntu:25.10

Expand Down Expand Up @@ -224,10 +229,9 @@ COPY . .
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"@tarquinen/opencode-dcp@latest",
"cc-safety-net",
"ecc-universal",
"oh-my-opencode"
"@tarquinen/opencode-dcp@3.1.11",
"cc-safety-net@0.9.0",
"oh-my-openagent@4.0.0"
]
}
```
Expand Down Expand Up @@ -295,7 +299,7 @@ jq . build/.opencode/opencode.json
1. Update `build/.opencode-version` with the new version number
2. Fetch checksums from GitHub Releases API:
```bash
VERSION="1.4.12" # Use the new version
VERSION="1.14.18" # Use the new version
curl -fsSL "https://api.github.com/repos/anomalyco/opencode/releases/tags/v${VERSION}" \
| jq -r '.assets[] | select(.name | test("opencode-linux-(x64|arm64)\\.tar\\.gz$")) | "\(.digest | split(":")[1]) \(.name)"'
```
Expand Down Expand Up @@ -403,7 +407,7 @@ git submodule update --init --recursive
```bash
# Symptom: COPY --from=tools fails
# Solution: Verify base image exists
podman pull ghcr.io/tankdonut/tools@sha256:0f2115e5cfaa7cced5e26c4398a5d5ed667bbe2baf892a6947ab03166428b286
podman pull ghcr.io/tankdonut/tools
```

### OpenCode Doesn't See Plugins
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Before submitting a PR:

## License

By contributing, you agree that your contributions will be licensed under the same terms as the project.
By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).

---

Expand Down
27 changes: 13 additions & 14 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ Run validation and container tests locally before pushing:

```bash
podman run -it --rm opencode-harness-test bash -c "
opencode --version &&
cat /workspace/.config/opencode/opencode.json &&
test -f /etc/opencode/opencode.jsonc &&
ls -la /vendor/bin &&
echo 'All checks passed'
opencode --version &&
cat /etc/opencode/opencode.jsonc &&
test -f /etc/opencode/opencode.jsonc &&
ls -la /vendor/bin &&
echo 'All checks passed'
"
```

Expand All @@ -56,7 +56,7 @@ Run validation and container tests locally before pushing:
./scripts/validate.sh

# Or manually
jq . opencode.json
jq . build/.opencode/opencode.json
shellcheck build/entrypoint.sh scripts/*.sh
```

Expand Down Expand Up @@ -129,17 +129,17 @@ git submodule update --init --recursive
**Solution**: Verify base image is accessible:

```bash
podman pull ghcr.io/tankdonut/tools@sha256:0f2115e5cfaa7cced5e26c4398a5d5ed667bbe2baf892a6947ab03166428b286
podman pull ghcr.io/tankdonut/tools
```

### OpenCode Config Not Found

**Symptom**: Container can't find `opencode.json`

**Solution**: Ensure file exists in repository root:
**Solution**: Ensure config exists at the correct path:

```bash
ls -la opencode.json
ls -la build/.opencode/opencode.json
```

### Permission Errors in Container
Expand All @@ -159,7 +159,7 @@ chown -R 1000:1000 /path/to/workspace
**Solution**: Validate with jq:

```bash
jq . opencode.json
jq . build/.opencode/opencode.json
```

## Setup Script Options
Expand Down Expand Up @@ -237,17 +237,16 @@ The OpenCode version is managed in `build/.opencode-version` (single source of t
./scripts/build.sh
```

To override the version or use Docker:
To use Docker instead of Podman:

```bash
./scripts/build.sh --version 1.4.0
./scripts/build.sh --runtime docker
```

To change the OpenCode version, update `build/.opencode-version` and rebuild:
To change the OpenCode version, use the version bumper script:

```bash
echo "1.4.0" > build/.opencode-version
./scripts/bump-version.sh 1.14.18
./scripts/build.sh
```

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Or read the [Agent Installation Guide](docs/guides/installation.md) - specifical

## License

This harness is provided as-is for bootstrapping OpenCode environments. Individual plugin modules are licensed under their respective licenses:
This project is licensed under the [MIT License](LICENSE). Individual plugin modules are licensed under their respective licenses:

- **everything-claude-code**: See [LICENSE](build/modules/everything-claude-code/LICENSE)
- **oh-my-openagent**: See [LICENSE](build/modules/oh-my-openagent/LICENSE)
Expand Down
7 changes: 2 additions & 5 deletions build/etc/opencode/opencode.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,8 @@
"which": "allow"
}
},
// OpenCode plugins to load
"plugin": [
"opencode-beads",
"@tarquinen/opencode-dcp@latest"
],
// Plugins are defined in build/.opencode/opencode.json to keep project-level
// and container-level plugin lists in sync
// Sharing behavior for sessions (manual = explicit user action required)
"share": "manual",
// File watcher configuration for workspace awareness
Expand Down
2 changes: 1 addition & 1 deletion build/modules/everything-claude-code
2 changes: 1 addition & 1 deletion build/modules/oh-my-openagent
Submodule oh-my-openagent updated 1616 files
2 changes: 1 addition & 1 deletion build/modules/superpowers
Submodule superpowers updated 89 files
+1 −1 .claude-plugin/marketplace.json
+9 −2 .claude-plugin/plugin.json
+47 −0 .codex-plugin/plugin.json
+0 −67 .codex/INSTALL.md
+10 −3 .cursor-plugin/plugin.json
+52 −0 .github/ISSUE_TEMPLATE/bug_report.md
+5 −0 .github/ISSUE_TEMPLATE/config.yml
+34 −0 .github/ISSUE_TEMPLATE/feature_request.md
+23 −0 .github/ISSUE_TEMPLATE/platform_support.md
+126 −0 .github/PULL_REQUEST_TEMPLATE.md
+53 −62 .opencode/INSTALL.md
+51 −11 .opencode/plugins/superpowers.js
+20 −0 .version-bump.json
+1 −0 AGENTS.md
+106 −0 CLAUDE.md
+128 −0 CODE_OF_CONDUCT.md
+108 −55 README.md
+171 −0 RELEASE-NOTES.md
+0 −48 agents/code-reviewer.md
+ assets/app-icon.png
+1 −0 assets/superpowers-small.svg
+0 −5 commands/brainstorm.md
+0 −5 commands/execute-plan.md
+0 −5 commands/write-plan.md
+0 −126 docs/README.codex.md
+60 −233 docs/README.opencode.md
+564 −0 docs/superpowers/plans/2026-03-23-codex-app-compatibility.md
+879 −0 docs/superpowers/plans/2026-04-06-worktree-rototill.md
+244 −0 docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md
+342 −0 docs/superpowers/specs/2026-04-06-worktree-rototill-design.md
+2 −2 docs/testing.md
+1 −1 docs/windows/polyglot-hooks.md
+1 −1 gemini-extension.json
+10 −0 hooks/hooks-cursor.json
+1 −1 hooks/hooks.json
+17 −21 hooks/session-start
+6 −0 package.json
+220 −0 scripts/bump-version.sh
+462 −0 scripts/sync-to-codex-plugin.sh
+12 −12 skills/brainstorming/SKILL.md
+34 −18 skills/brainstorming/scripts/server.cjs
+20 −9 skills/brainstorming/scripts/start-server.sh
+35 −10 skills/brainstorming/scripts/stop-server.sh
+13 −14 skills/brainstorming/spec-document-reviewer-prompt.md
+21 −11 skills/brainstorming/visual-companion.md
+1 −1 skills/executing-plans/SKILL.md
+93 −42 skills/finishing-a-development-branch/SKILL.md
+7 −9 skills/requesting-code-review/SKILL.md
+107 −85 skills/requesting-code-review/code-reviewer.md
+3 −1 skills/subagent-driven-development/SKILL.md
+2 −3 skills/subagent-driven-development/code-quality-reviewer-prompt.md
+1 −1 skills/systematic-debugging/CREATION-LOG.md
+1 −1 skills/systematic-debugging/root-cause-tracing.md
+95 −98 skills/using-git-worktrees/SKILL.md
+3 −1 skills/using-superpowers/SKILL.md
+39 −5 skills/using-superpowers/references/codex-tools.md
+42 −0 skills/using-superpowers/references/copilot-tools.md
+21 −3 skills/using-superpowers/references/gemini-tools.md
+31 −26 skills/writing-plans/SKILL.md
+21 −24 skills/writing-plans/plan-document-reviewer-prompt.md
+2 −2 skills/writing-skills/SKILL.md
+2 −2 skills/writing-skills/anthropic-best-practices.md
+30 −27 tests/brainstorm-server/server.test.js
+351 −0 tests/brainstorm-server/windows-lifecycle.test.sh
+1 −1 tests/brainstorm-server/ws-protocol.test.js
+12 −0 tests/claude-code/README.md
+1 −0 tests/claude-code/run-skill-tests.sh
+214 −0 tests/claude-code/test-requesting-code-review.sh
+21 −13 tests/claude-code/test-subagent-driven-development-integration.sh
+176 −0 tests/claude-code/test-worktree-native-preference.sh
+615 −0 tests/codex-plugin-sync/test-sync-to-codex-plugin.sh
+1 −1 tests/explicit-skill-requests/run-all.sh
+1 −1 tests/explicit-skill-requests/run-claude-describes-sdd.sh
+1 −1 tests/explicit-skill-requests/run-extended-multiturn-test.sh
+1 −1 tests/explicit-skill-requests/run-haiku-test.sh
+1 −1 tests/explicit-skill-requests/run-multiturn-test.sh
+1 −1 tests/explicit-skill-requests/run-test.sh
+2 −0 tests/opencode/run-tests.sh
+32 −17 tests/opencode/setup.sh
+124 −0 tests/opencode/test-bootstrap-caching.mjs
+32 −0 tests/opencode/test-bootstrap-caching.sh
+24 −14 tests/opencode/test-plugin-loading.sh
+102 −83 tests/opencode/test-priority.sh
+56 −65 tests/opencode/test-tools.sh
+1 −1 tests/skill-triggering/run-all.sh
+1 −1 tests/skill-triggering/run-test.sh
+1 −1 tests/subagent-driven-dev/go-fractals/scaffold.sh
+1 −1 tests/subagent-driven-dev/run-test.sh
+1 −1 tests/subagent-driven-dev/svelte-todo/scaffold.sh
Loading