Initial import from garrytan/gstack@026751e (main snapshot via local relay)
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Source: https://github.com/garrytan/gstack/commit/026751e
This commit is contained in:
67
contrib/add-host/SKILL.md.tmpl
Normal file
67
contrib/add-host/SKILL.md.tmpl
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
name: gstack-contrib-add-host
|
||||
description: |
|
||||
Contributor-only skill: create a new host config for gstack's multi-host system.
|
||||
NOT installed for end users. Only usable from the gstack source repo.
|
||||
triggers:
|
||||
- add new host
|
||||
- create host config
|
||||
- contribute new agent host
|
||||
---
|
||||
|
||||
# /gstack-contrib-add-host — Add a New Host
|
||||
|
||||
This skill helps contributors add support for a new AI coding agent to gstack.
|
||||
|
||||
## What you'll create
|
||||
|
||||
A single TypeScript file in `hosts/<name>.ts` that defines:
|
||||
- CLI binary name for detection
|
||||
- Skill directory paths (global + local)
|
||||
- Frontmatter transformation rules
|
||||
- Path and tool rewrites
|
||||
- Runtime root symlink manifest
|
||||
|
||||
## Steps
|
||||
|
||||
### 1. Gather host info
|
||||
|
||||
Ask the contributor:
|
||||
- What's the agent's name? (e.g., "OpenCode")
|
||||
- What's the CLI binary? (e.g., "opencode")
|
||||
- Where does it store skills globally? (e.g., "~/.config/opencode/skills/")
|
||||
- Where does it store skills locally in a project? (e.g., ".opencode/skills/")
|
||||
- What frontmatter fields does it support? (name + description is the minimum)
|
||||
- Does it have its own tool names? (e.g., "exec" instead of "Bash")
|
||||
|
||||
### 2. Create the config file
|
||||
|
||||
Use `hosts/opencode.ts` as a reference. Create `hosts/<name>.ts` with the
|
||||
gathered info. Follow the HostConfig interface in `scripts/host-config.ts`.
|
||||
|
||||
### 3. Register in index
|
||||
|
||||
Add the import and re-export in `hosts/index.ts`.
|
||||
|
||||
### 4. Add to .gitignore
|
||||
|
||||
Add `.<name>/` to `.gitignore`.
|
||||
|
||||
### 5. Generate and verify
|
||||
|
||||
```bash
|
||||
bun run gen:skill-docs --host <name>
|
||||
```
|
||||
|
||||
Check:
|
||||
- Output exists at `.<name>/skills/gstack-*/SKILL.md`
|
||||
- No `.claude/skills` path leakage
|
||||
- Frontmatter matches expected format
|
||||
|
||||
### 6. Run tests
|
||||
|
||||
```bash
|
||||
bun test test/gen-skill-docs.test.ts
|
||||
```
|
||||
|
||||
All parameterized tests auto-include the new host.
|
||||
Reference in New Issue
Block a user