mirror of
https://github.com/safishamsi/graphify.git
synced 2026-07-15 03:47:05 +00:00
6137cdba43
R1: the 6 always-on blocks were read into module-level constants at import, so a missing/corrupt always_on/*.md crashed `import graphify.__main__` and bricked every CLI command, not just install. Make _always_on lazy + lru_cached, raising a clear "reinstall" error only on the install path that needs the block; a module __getattr__ keeps the legacy constant names importable for the tests. Verified: deleting a block no longer crashes `graphify --version`. skillgen baselines: the self-check guards pinned to the moving `origin/v8` ref, which stops pointing at the pre-split state once the split lands on v8 (the always-on-roundtrip guard then fails in CI and monolith-roundtrip goes vacuous). Pin _v8_baseline_ref, ALWAYS_ON_BASELINE_REF, and the two monolith roundtrip_refs to the immutable pre-split commit SHA, matching the stated "does not track HEAD" intent; update the 4 tests that asserted the old ref string. R2: add tests/test_wheel_packaging.py - build the wheel and assert every references bundle and always-on block ships in it, so a package-data glob miss can't pass the repo-tree guards yet hard-exit `graphify install` for real users. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
203 lines
11 KiB
TOML
203 lines
11 KiB
TOML
# skillgen platform manifest
|
|
#
|
|
# Build-time only. This file (and everything under tools/skillgen/) is NOT
|
|
# shipped in the wheel; it drives the render of the committed skill artifacts
|
|
# under graphify/. Run `python -m tools.skillgen` from the repo root to
|
|
# regenerate, `--check` to fail on drift, `--bless` to refresh expected/.
|
|
#
|
|
# Each [platform.<key>] table declares how that host's skill is assembled. Split
|
|
# platforms share one lean core template (fragments/core/core.md) with a handful
|
|
# of per-platform slots filled from the fields below; monoliths render a single
|
|
# inline body. The shared references are assembled automatically — a platform
|
|
# declares only its deltas.
|
|
#
|
|
# Keys:
|
|
# bucket split | monolith. split = lean core + references sidecar.
|
|
# core core template basename under fragments/core/ (split only).
|
|
# skill_dst rendered SKILL.md path, relative to the repo root.
|
|
# refs_dst rendered references/ dir, relative to the repo root (split only).
|
|
# name frontmatter name (default "graphify"; graphify-windows for windows).
|
|
# description frontmatter description, PRESERVED VERBATIM per platform. Required.
|
|
# trigger frontmatter trigger (default "/graphify"; omit -> no trigger line).
|
|
# dispatch Part-B dispatch fragment basename under fragments/dispatch/.
|
|
# query_variant cli | cli-inline. Selects both the core query stub and the
|
|
# query reference body.
|
|
# extraction verbose | compact. Selects the extraction-spec reference body.
|
|
# shell posix | powershell. Selects the Step 1 install fragment.
|
|
# claude_md bool. Whether the host gets an always-on block (installer-side).
|
|
# hooks_variant claude-md | agents-md. Selects the hooks reference body and the
|
|
# lean-core hooks pointer target. Default claude-md (the host reads
|
|
# CLAUDE.md, `graphify claude install`). agents-md is for hosts that
|
|
# read AGENTS.md and wire always-on via `graphify <host> install`
|
|
# with the no-PreToolUse-hook caveat (trae, trae-cn).
|
|
# extra_sections ordered list of extra tail fragments (under fragments/extra/),
|
|
# inserted before Honesty Rules.
|
|
# monolith core fragment basename for a monolith (monolith only).
|
|
# roundtrip_ref git ref the monolith must match modulo the enum (monolith only).
|
|
|
|
[platform.claude]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill.md"
|
|
refs_dst = "graphify/skills/claude/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli"
|
|
extraction = "verbose"
|
|
shell = "posix"
|
|
claude_md = true
|
|
|
|
[platform.codex]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-codex.md"
|
|
refs_dst = "graphify/skills/codex/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "codex-agenttask"
|
|
query_variant = "cli-inline"
|
|
extraction = "compact"
|
|
shell = "posix"
|
|
|
|
[platform.windows]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-windows.md"
|
|
refs_dst = "graphify/skills/windows/references"
|
|
name = "graphify-windows"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "agent-tool-disk-powershell"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
shell = "powershell"
|
|
claude_md = true
|
|
extra_sections = ["powershell-troubleshooting"]
|
|
|
|
[platform.opencode]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-opencode.md"
|
|
refs_dst = "graphify/skills/opencode/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "opencode-mention"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
|
|
[platform.kilo]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-kilo.md"
|
|
refs_dst = "graphify/skills/kilo/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
extra_sections = ["kilo-rules"]
|
|
|
|
[platform.copilot]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-copilot.md"
|
|
refs_dst = "graphify/skills/copilot/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
|
|
[platform.claw]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-claw.md"
|
|
refs_dst = "graphify/skills/claw/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "compact"
|
|
|
|
[platform.droid]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-droid.md"
|
|
refs_dst = "graphify/skills/droid/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "task-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
|
|
[platform.amp]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-amp.md"
|
|
refs_dst = "graphify/skills/amp/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
# Amp uses the Task tool with disk-collected results (the plain task-tool-disk
|
|
# dispatch — NOT the trae variant; amp's v8 never carried the no-PreToolUse
|
|
# caveat). It reads AGENTS.md and wires always-on via `graphify amp install`, so
|
|
# it uses the agents-md hooks variant with amp's own (caveat-free) wording.
|
|
dispatch = "task-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
hooks_variant = "agents-md"
|
|
|
|
[platform.trae]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-trae.md"
|
|
refs_dst = "graphify/skills/trae/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
# Trae reads AGENTS.md, not CLAUDE.md, and has no PreToolUse hook. The dispatch
|
|
# block carries the no-PreToolUse caveat and the hooks reference wires
|
|
# `graphify trae install` -> AGENTS.md. trae-cn reuses this same bundle.
|
|
dispatch = "task-tool-disk-trae"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
hooks_variant = "agents-md"
|
|
|
|
[platform.kiro]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-kiro.md"
|
|
refs_dst = "graphify/skills/kiro/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
trigger = ""
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "compact"
|
|
|
|
[platform.pi]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-pi.md"
|
|
refs_dst = "graphify/skills/pi/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
trigger = ""
|
|
dispatch = "agent-tool-disk"
|
|
query_variant = "cli-inline"
|
|
extraction = "compact"
|
|
|
|
[platform.vscode]
|
|
bucket = "split"
|
|
core = "core"
|
|
skill_dst = "graphify/skill-vscode.md"
|
|
refs_dst = "graphify/skills/vscode/references"
|
|
description = "Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools."
|
|
dispatch = "manual-paste"
|
|
query_variant = "cli-inline"
|
|
extraction = "verbose"
|
|
|
|
# Monoliths: rendered inline as a single body, no split, no references/. The
|
|
# render must be diff-clean against the v8 blob in roundtrip_ref except for the
|
|
# file_type enum unification (5-value -> 6-value superset). monolith-roundtrip
|
|
# guards that.
|
|
|
|
[platform.aider]
|
|
bucket = "monolith"
|
|
skill_dst = "graphify/skill-aider.md"
|
|
monolith = "aider"
|
|
roundtrip_ref = "47042beb05d1f6dd2186c0c499ae2840ce604ead:graphify/skill-aider.md"
|
|
|
|
[platform.devin]
|
|
bucket = "monolith"
|
|
skill_dst = "graphify/skill-devin.md"
|
|
monolith = "devin"
|
|
roundtrip_ref = "47042beb05d1f6dd2186c0c499ae2840ce604ead:graphify/skill-devin.md"
|