Skip to content

Commit e26e639

Browse files
committed
refactor: remove contract details, clarify bundle consumes contract from CLI repo
1 parent fb529c7 commit e26e639

2 files changed

Lines changed: 18 additions & 159 deletions

File tree

README.md

Lines changed: 18 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -6,77 +6,32 @@ A collection of OpenCode AI agent configuration presets with planning-first mult
66

77
This bundle provides drop-in OpenCode agent configurations that route work through schema-validated JSON handoff artifacts before planning, execution, and review. The goal is fewer ambiguous changes, less rework, and tighter safety boundaries with a small, explicit contract between agents.
88

9-
## Versioning & Stability
10-
11-
This bundle follows its own versioning scheme (`bundle_version` in the manifest), independent of the opencode-helper CLI version. This is intentional:
12-
13-
- **Ecosystem Stability**: Configuration bundles are foundational contracts that other tools and workflows depend on. Changes to the bundle should be rare and deliberate.
14-
- **Semantic Versioning**: Follows semver (e.g., `v1.0.0`, `v1.1.0`, `v2.0.0`) to communicate change impact.
15-
- **Backward Compatibility**: Minor and patch updates within a major version must not break existing configurations.
16-
- **Schema Stability**: The bundle manifest schema (see below) is contractually stable. Once published, a manifest version `1` will never change breakingly.
17-
18-
## Bundle Contract (V2)
19-
20-
The V2 bundle manifest is the contract between the bundle and the opencode-helper CLI. This contract is:
21-
22-
- **Published**: Included in the CLI's schema validation
23-
- **Versioned**: The `manifest_version` field ensures forward compatibility
24-
- **Minimal**: Only contains what's needed for the CLI to discover and apply presets
25-
26-
### Manifest Schema
27-
28-
```json
29-
{
30-
"$schema": "https://json-schema.org/draft/2020-12/schema",
31-
"type": "object",
32-
"required": ["manifest_version", "bundle_name", "bundle_version", "presets"],
33-
"properties": {
34-
"manifest_version": { "type": "integer", "const": 1 },
35-
"bundle_name": { "type": "string" },
36-
"bundle_version": { "type": "string" },
37-
"source_repo": { "type": "string" },
38-
"source_commit": { "type": "string" },
39-
"release_tag": { "type": "string" },
40-
"presets": {
41-
"type": "array",
42-
"items": {
43-
"type": "object",
44-
"required": ["name", "description", "entrypoint"],
45-
"properties": {
46-
"name": { "type": "string" },
47-
"description": { "type": "string" },
48-
"entrypoint": { "type": "string" },
49-
"prompt_files": { "type": "array", "items": { "type": "string" } }
50-
}
51-
}
52-
}
53-
}
54-
}
55-
```
9+
## Contract Ownership
10+
11+
This bundle **implements** the V2 bundle contract defined by the [opencode-agents](https://github.com/sven1103-agent/opencode-agents) repository. The contract schema and specification are maintained in the CLI repository.
12+
13+
For the full contract specification, see [Bundle Manifest Reference](https://github.com/sven1103-agent/opencode-agents/blob/main/docs/opencode-helper-cli.md#bundle-manifest-reference) in the opencode-agents documentation.
14+
15+
## Versioning
5616

57-
### Required Files
17+
This bundle follows its own versioning scheme (`bundle_version` in the manifest), independent of the opencode-helper CLI version:
18+
19+
- **Semantic Versioning**: Follows semver (e.g., `v1.0.0`, `v1.1.0`, `v2.0.0`)
20+
- **Contract Compliance**: Each bundle version declares which `manifest_version` it complies with
21+
22+
## Required Files
5823

5924
A valid V2 bundle must include:
6025

6126
```
6227
<bundle-root>/
63-
opencode-bundle.manifest.json <- required for V2
64-
<preset-entrypoint>.json <- each preset file
28+
opencode-bundle.manifest.json <- contract compliance marker
29+
<preset-entrypoint>.json <- preset configurations
6530
.opencode/schemas/
66-
handoff.schema.json <- canonical handoff contract
67-
result.schema.json <- canonical result contract
31+
handoff.schema.json <- from CLI contract
32+
result.schema.json <- from CLI contract
6833
```
6934

70-
## Ecosystem Role
71-
72-
This bundle serves as a foundational component of the OpenCode ecosystem:
73-
74-
1. **Contract Provider**: Exports the canonical V2 bundle manifest schema used by the CLI
75-
2. **Schema Publisher**: Includes `handoff.schema.json` and `result.schema.json` that define inter-agent contracts
76-
3. **Preset Repository**: Maintains multiple model-specific configurations in a single, versioned bundle
77-
78-
> **Important**: Because other tools depend on this bundle's contracts, changes should follow semver strictly. The manifest schema (`manifest_version: 1`) is locked and will never break backward compatibility.
79-
8035
## Bundle Contents
8136

8237
| Preset | Description |
@@ -87,13 +42,6 @@ This bundle serves as a foundational component of the OpenCode ecosystem:
8742
| `big-pickle` | Big Pickle model-based configuration |
8843
| `minimax` | MiniMax-based configuration |
8944

90-
## Schema Files
91-
92-
The bundle includes the canonical artifact schemas used by all configurations:
93-
94-
- `.opencode/schemas/handoff.schema.json` - Handoff artifact contract
95-
- `.opencode/schemas/result.schema.json` - Result artifact contract
96-
9745
## Usage with opencode-helper
9846

9947
Register this bundle as a config source:
@@ -102,7 +50,7 @@ Register this bundle as a config source:
10250
opencode-helper source add qbicsoftware/opencode-config-bundle --name qbic
10351
```
10452

105-
List available presets:
53+
Apply a preset to your project:
10654

10755
```bash
10856
opencode-helper bundle apply qbic --preset openai --project-root ./myproject

docs/user-stories.md

Lines changed: 0 additions & 89 deletions
This file was deleted.

0 commit comments

Comments
 (0)