docs(2): clarify installer is required for cross-runtime compatibility (#144)
* docs(readme): add cross-runtime compatibility note for installer requirement Source files in agents/ and commands/ are Claude Code-format frontmatter. The installer (bin/install.js:5208 convertClaudeToOpencodeFrontmatter) is the mandatory conversion layer for non-Claude-Code runtimes. Manually copying source files to ~/.config/opencode/agents (or equivalent) bypasses conversion and produces schema validation errors. README lines 37, 165, 273 all claim OpenCode as a first-class runtime without flagging the installer as mandatory. This adds an explicit note immediately after the Getting Started section (README.md line ~175). Refs #2 * docs(user-guide): add manual install / no-Node.js setup section for non-Claude runtimes Users without Node.js (Windows + OpenCode being the most common case per issue #2) cannot run the installer and may attempt to copy agents/ source files directly. This section documents what manual conversion is required for OpenCode (remove tools:, convert color: to hex), references the installer function at bin/install.js:5208, links to the OpenCode schema docs, and covers the Docker/WSL alternative. USER-GUIDE.md insertion after line 1258 (after the Codex/non-Claude runtime section, before Installing for Cline). Refs #2 * ci: retrigger checks after transient git-auth runner failure The original run for this PR had a single CI job fail with: "fatal: could not read Username for 'https://github.com': terminal prompts disabled" That is a hosted-runner infrastructure flake — no code defect. The run cannot be retried via gh CLI (too old). This empty commit kicks a fresh full CI cycle.
This commit is contained in:
@@ -174,6 +174,14 @@ Install only the skills you need with `--profile=core` (six core-loop skills), `
|
||||
|
||||
Current release highlights are in [docs/RELEASE-v1.42.1.md](docs/RELEASE-v1.42.1.md): package legitimacy checks, safer installer migrations, runtime surface control, custom ship PR sections, reviewer defaults, fallow structural review, and quota-aware execution recovery.
|
||||
|
||||
### Cross-runtime compatibility: installer required
|
||||
|
||||
The `agents/` and `commands/` directories in this repository are Claude Code-format source files. The installer (`npx @opengsd/get-shit-done-redux@latest`) transforms them per target runtime — stripping or converting frontmatter fields that Claude Code uses but other runtimes reject. For example, OpenCode requires `color` as a hex or semantic value from a fixed set, and does not accept a `tools:` frontmatter field; the installer function `convertClaudeToOpencodeFrontmatter` (`bin/install.js`) handles this automatically.
|
||||
|
||||
**Manually copying files** from `agents/` or `commands/` directly into a non-Claude-Code runtime config directory (e.g., `~/.config/opencode/agents`) skips the conversion step and will produce schema validation errors in that runtime.
|
||||
|
||||
If you are on a system without Node.js or npm (Windows + OpenCode is the most common case), see **[docs/USER-GUIDE.md — Manual install / no-Node.js setup](docs/USER-GUIDE.md#manual-install--no-nodejs-setup)** for the per-runtime conversion summary and alternative install paths.
|
||||
|
||||
---
|
||||
|
||||
## Commands
|
||||
|
||||
@@ -1257,6 +1257,44 @@ GSD will resolve each agent's tier (`opus`/`sonnet`/`haiku`) to the Codex-native
|
||||
|
||||
See the [Configuration Reference](CONFIGURATION.md#non-claude-runtimes-codex-opencode-gemini-cli-kilo) for the full explanation.
|
||||
|
||||
### Manual install / no-Node.js setup
|
||||
|
||||
If you cannot run the GSD installer (e.g., Windows machine without Node.js or npm), you cannot use the source files in `agents/` directly. The source files are in Claude Code's native frontmatter format; each supported runtime requires a different shape. Copying them as-is into another runtime's config directory will produce schema validation errors.
|
||||
|
||||
> The installer function responsible for OpenCode conversion is `convertClaudeToOpencodeFrontmatter` at `bin/install.js:5208`. It is the canonical reference for what must be transformed.
|
||||
|
||||
#### OpenCode — required transformations
|
||||
|
||||
OpenCode validates agent frontmatter against its own schema ([opencode.ai/docs/agents](https://opencode.ai/docs/agents)). The GSD source format is incompatible in two ways:
|
||||
|
||||
| Field | GSD source format | OpenCode-valid format | Action |
|
||||
|---|---|---|---|
|
||||
| `tools:` | `Read, Bash, Grep` (comma-string) | Not a frontmatter field in OpenCode | Remove the `tools:` line entirely |
|
||||
| `color:` | Plain CSS color name (e.g., `steelblue`) | Hex (`#4682b4`) or semantic name from OpenCode's fixed set | Convert to hex or remove |
|
||||
|
||||
The minimum viable manual transformation for a single agent file:
|
||||
|
||||
1. Open the `.md` file from `agents/` in a text editor.
|
||||
2. Remove any `tools:` line from the YAML frontmatter block.
|
||||
3. Change `color:` to a hex value, or remove it.
|
||||
4. Save the file into `~/.config/opencode/agents/<agent-name>.md`.
|
||||
|
||||
All other frontmatter fields (`description:`, `system:`, `model:`) are accepted by OpenCode without modification.
|
||||
|
||||
#### Alternative: use a machine with Node.js to run the installer
|
||||
|
||||
If you have access to any machine with Node.js — including WSL, a Linux VM, a CI runner, or a Docker container — you can run:
|
||||
|
||||
```bash
|
||||
npx @opengsd/get-shit-done-redux@latest --opencode --global
|
||||
```
|
||||
|
||||
This produces a correctly converted `~/.config/opencode/agents/` directory. Copy that directory to your Windows machine.
|
||||
|
||||
#### Other runtimes
|
||||
|
||||
The same principle applies to all non-Claude-Code runtimes. Each runtime has its own schema, and the installer handles each conversion. If you are manually installing for a runtime not covered above, review the relevant installer converter in `bin/install.js` (search for `convert*Frontmatter`) for the exact field transformations needed.
|
||||
|
||||
### Installing for Cline
|
||||
|
||||
Cline uses a rules-based integration — GSD installs as `.clinerules` rather than slash commands.
|
||||
|
||||
Reference in New Issue
Block a user