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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ something outside your opencode config say so in their description.
| `plugin-superpowers` | Plugin | append | Add the Superpowers OpenCode plugin from `obra/superpowers` (brainstorming, plans, TDD, review workflows; pins tag `v7.0.0`) |
| `agent-runaway-guard` | Agent | merge | Adds step limits to built-in agents to prevent runaway tool loops |
| `default-agent-plan` | Agent | replace | Sets the default agent to "plan" so opencode always starts in plan mode instead of build mode |
| `planify-german` | Bundle | — | The whole planify setup, which does nothing in parts: the `opencode-planify-german` plugin from npm (pinned to `1.0.0`, needs opencode 2), registering a `plan_render` tool that validates a plan JSON against a schema and renders a self-contained HTML file to `docs/plans/<TICKET>-<slug>.html`, and a `pr_summary` tool that writes a short task/problem/solution summary into the description of the Bitbucket Data Center PR of the current branch, opening it as a draft if none is open; the rules file that makes opencode answer in German with Swiss orthography (never the eszett character, always `ss`) and send every plan through `plan_render`; and the `planify` skill documenting the plan schema. Prompts for the Bitbucket URL and an HTTP access token with repository write, stored as plugin options in `opencode.json` (token in plain text; prefer `--set-env bitbucketToken=ENV_VAR`). Rules file and skill are fetched sha256-verified. Run `opencode service restart` after installing |
| `planify-german` | Bundle | — | The whole planify setup, which does nothing in parts: the `opencode-planify-german` plugin from npm (pinned to `1.0.1`, needs opencode 2), registering a `plan_render` tool that validates a plan JSON against a schema and renders a self-contained HTML file to `docs/plans/<TICKET>-<slug>.html`, and a `pr_summary` tool that writes a short task/problem/solution summary into the description of the Bitbucket Data Center PR of the current branch, opening it as a draft if none is open; the rules file that makes opencode answer in German with Swiss orthography (never the eszett character, always `ss`) and send every plan through `plan_render`; and the `planify` skill documenting the plan schema. Prompts for the Bitbucket URL and an HTTP access token with repository write, stored as plugin options in `opencode.json` (token in plain text; prefer `--set-env bitbucketToken=ENV_VAR`). Rules file and skill are fetched sha256-verified. Run `opencode service restart` after installing |
| `skill-diagram-design` | Skill | append | Needs a clone of the repo on disk first — `git clone https://github.com/cathrynlavery/diagram-design ~/src/diagram-design`. Registers the `diagram-design` skill (editorial diagram types as self-contained HTML + SVG) by appending your clone's `skills/` dir to `skills.paths`; answer with that clone's `skills/` dir (`--set skillsDir=/Users/you/src/diagram-design/skills`); the install refuses if the dir is not there. Tracks `main` — the repo ships no tags. One-way: `remove` cannot undo an append preset that prompts, so uninstall by deleting the one `skills.paths` entry by hand |

### Bundles
Expand Down
6 changes: 3 additions & 3 deletions presets/instructions-planify-german.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
// offered once the work is done. Appends a rules file to
// `instructions`, replacing no built-in prompt.
// @author: Jan <jan@trick77.com>
// @version: 0.6.0
// @version: 1.0.1
// @part-of: planify-german
// @path: instructions
// @mode: append
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/c25449435cc9a4693413d07164fdbd57bf5d8c98/instructions/planify.md -> {{cache}}/opencode-planify-german-rules-0.6.0.md sha256=9e5832174e37c795de79b4a92a41b57b2da1041426fc539a87fdea3a1b701644
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/bb523af9b2679886d72b8d28c8f564e956813a29/instructions/planify.md -> {{cache}}/opencode-planify-german-rules-1.0.1.md sha256=f062418f13605f894e291f5b80dac97e373400e591bac166f1b554e629e92213

[
"{{cache}}/opencode-planify-german-rules-0.6.0.md"
"{{cache}}/opencode-planify-german-rules-1.0.1.md"
]
2 changes: 1 addition & 1 deletion presets/planify-german.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// the Bitbucket URL and a repo-write HTTP access token; the token lands in
// opencode.json in plain text. Install all three or the setup is inert.
// @author: Jan <jan@trick77.com>
// @version: 1.0.0
// @version: 1.0.1
// @include: plugin-planify-german
// @include: instructions-planify-german
// @include: skill-planify-german
8 changes: 4 additions & 4 deletions presets/plugin-planify-german.conf
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
// @name: plugin-planify-german
// @description: Needs instructions-planify-german too, or nothing tells
// the agent to use the tools — install the planify-german bundle. Adds
// the opencode-planify-german plugin from npm, pinned to 1.0.0: `plan_render`
// the opencode-planify-german plugin from npm, pinned to 1.0.1: `plan_render`
// renders a plan JSON to docs/plans/*.html, `pr_summary` puts a short summary
// into a Bitbucket Data Center PR, opening a draft if none exists. Token lands
// in opencode.json in plain text. Needs opencode 2.
// @author: Jan <jan@trick77.com>
// @version: 1.0.0
// @version: 1.0.1
// @part-of: planify-german
// @path: plugin
// @mode: append
// @pins: opencode-planify-german 1.0.0
// @pins: opencode-planify-german 1.0.1
// @prompt: bitbucketUrl | text | Bitbucket Data Center base URL (e.g. https://bitbucket.example.com)
// @prompt: bitbucketToken | secret | Bitbucket HTTP access token with repository write, used by pr_summary to open PRs and edit their descriptions

[
[
"opencode-planify-german@1.0.0",
"opencode-planify-german@1.0.1",
{
"bitbucketUrl": "{{prompt:bitbucketUrl}}",
"bitbucketToken": "{{prompt:bitbucketToken}}"
Expand Down
10 changes: 5 additions & 5 deletions presets/skill-planify-german.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
// sha256-verified, and appends that directory to `skills.paths` — no clone needed.
// Uninstall by deleting the entry.
// @author: Jan <jan@trick77.com>
// @version: 1.0.0
// @version: 1.0.1
// @part-of: planify-german
// @path: skills.paths
// @mode: append
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/b2b14a30ebf653b2eb1828da5623ebbeb8e5c7e6/skills/planify/SKILL.md -> {{cache}}/opencode-planify-german-skills-1.0.0/planify/SKILL.md sha256=77c790235dbd5f9c1ab7455422d7f2321c69b9b0d1a1eb5b31d5b037406df793
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/b2b14a30ebf653b2eb1828da5623ebbeb8e5c7e6/skills/planify/schema/plan.schema.json -> {{cache}}/opencode-planify-german-skills-1.0.0/planify/schema/plan.schema.json sha256=1617c2c2789d2ed2421145049b4a4dbe8614c6ef0e9027b85f31643ca6faee73
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/b2b14a30ebf653b2eb1828da5623ebbeb8e5c7e6/skills/planify/references/beispiel-plan.json -> {{cache}}/opencode-planify-german-skills-1.0.0/planify/references/beispiel-plan.json sha256=f4507cf91ed84c54b323dede8050dcf9c15dfdb5ca9f6f1b78a2c1f6b4036bc3
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/bb523af9b2679886d72b8d28c8f564e956813a29/skills/planify/SKILL.md -> {{cache}}/opencode-planify-german-skills-1.0.1/planify/SKILL.md sha256=e43bc633bacfccaac949500f55f7263dcbb9db0de95cecc5c73787a3218d7c60
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/bb523af9b2679886d72b8d28c8f564e956813a29/skills/planify/schema/plan.schema.json -> {{cache}}/opencode-planify-german-skills-1.0.1/planify/schema/plan.schema.json sha256=1617c2c2789d2ed2421145049b4a4dbe8614c6ef0e9027b85f31643ca6faee73
// @fetch: https://raw.githubusercontent.com/trick77/opencode-planify-german/bb523af9b2679886d72b8d28c8f564e956813a29/skills/planify/references/beispiel-plan.json -> {{cache}}/opencode-planify-german-skills-1.0.1/planify/references/beispiel-plan.json sha256=f4507cf91ed84c54b323dede8050dcf9c15dfdb5ca9f6f1b78a2c1f6b4036bc3

[
"{{cache}}/opencode-planify-german-skills-1.0.0"
"{{cache}}/opencode-planify-german-skills-1.0.1"
]
2 changes: 1 addition & 1 deletion test/builtin-presets.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ test('records the pinned third-party version of every preset that installs one',
const expected: Record<string, Array<{ name: string; version: string }>> = {
'mcp-playwright': [{ name: '@playwright/mcp', version: '0.0.83' }],
'plugin-litellm-pricing': [{ name: 'opencode-plugin-litellm-pricing', version: '1.0.0' }],
'plugin-planify-german': [{ name: 'opencode-planify-german', version: '1.0.0' }],
'plugin-planify-german': [{ name: 'opencode-planify-german', version: '1.0.1' }],
'plugin-superpowers': [{ name: 'superpowers', version: '7.0.0' }],
};

Expand Down
Loading