Cline added a global skills system (~/.cline/skills/<name>/SKILL.md) in
v3.48.0, but gsd treated Cline as rules-only and emitted zero skills
(getGlobalSkillsBase('cline')=null, empty artifact kinds). This makes gsd
emit skills for Cline at global scope, alongside the existing .clinerules.
- runtime-homes: getGlobalSkillsBase('cline') -> ~/.cline/skills (was null)
- runtime-artifact-layout: cline emits a skills kind for GLOBAL scope only
(local stays .clinerules-only), mirroring claude's scope dispatch
- install.js: convertClaudeCommandToClineSkill emits name+description-only
SKILL.md frontmatter (Cline/agentskills.io spec; no Claude-specific
allowed-tools/argument-hint/agent), hyphen-normalized + .cline/-rewritten
body; global cline routed through the skills path while .clinerules is
still written; _applyRuntimeRewrites cline case handles custom
CLINE_CONFIG_DIR; convertClaudeToCliineMarkdown also rewrites bare
~/.claude and CLAUDE_CONFIG_DIR
- docs: install-on-your-runtime.md documents Cline global skills vs local rules
- tests: converter (name+description-only), global emission, skills+.clinerules
coexistence, scope-aware layout, custom-dir paths, idempotency
Closes #782
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -205,13 +205,13 @@ WINDSURF_CONFIG_DIR=~/.codeium/windsurf-alt npx @opengsd/gsd-core@latest --winds
|
||||
|
||||
### Cline
|
||||
|
||||
Cline uses a rules-based integration — GSD installs as Cline rules rather than slash commands.
|
||||
GSD gives Cline both skills (≥ v3.48.0) and the `.clinerules/` directory integration — no custom slash commands are registered.
|
||||
|
||||
```bash
|
||||
# Global install (all projects)
|
||||
# Global install (all projects — skills + rules directory)
|
||||
npx @opengsd/gsd-core@latest --cline --global
|
||||
|
||||
# Local install (this project only)
|
||||
# Local install (this project only — rules directory only)
|
||||
npx @opengsd/gsd-core@latest --cline --local
|
||||
```
|
||||
|
||||
@@ -225,10 +225,16 @@ GSD writes the [`.clinerules/` directory form](https://docs.cline.bot/customizat
|
||||
GSD hook guards `.planning/` artifacts from direct edits and otherwise allows the operation;
|
||||
it fails open, so a hook error never blocks you. Cline runs hooks on macOS and Linux only.
|
||||
|
||||
Global installs additionally merge GSD instructions into **`~/.agents/AGENTS.md`**, the
|
||||
cross-tool global instruction file Cline reads. The block is marker-delimited, so your own
|
||||
`AGENTS.md` content (and other tools' entries) is preserved, and `--uninstall` strips only the
|
||||
GSD block.
|
||||
**Global install additionally:**
|
||||
|
||||
- Emits each GSD command as **`~/.cline/skills/<name>/SKILL.md`**. Cline ≥ v3.48.0 loads
|
||||
skills from `~/.cline/skills/` automatically — no configuration needed.
|
||||
- Merges GSD instructions into **`~/.agents/AGENTS.md`**, the cross-tool global instruction
|
||||
file Cline reads. The block is marker-delimited, so your own `AGENTS.md` content (and other
|
||||
tools' entries) is preserved, and `--uninstall` strips only the GSD block.
|
||||
|
||||
**Local install** writes the `.clinerules/` directory into the current project only. No skills
|
||||
directory is created for local scope.
|
||||
|
||||
> Cline's *global* hook directory (`~/Documents/Cline/Rules/Hooks/`) is not yet populated by the
|
||||
> installer — project-scope hooks (`.clinerules/hooks/`) and the global `AGENTS.md` instruction
|
||||
|
||||
Reference in New Issue
Block a user