diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index 53df614..b789d4e 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -39,6 +39,18 @@ "authentication": "ON_INSTALL" }, "category": "Developer Tools" + }, + { + "name": "trellis", + "source": { + "source": "local", + "path": "./plugins/trellis" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "ON_INSTALL" + }, + "category": "Developer Tools" } ] } diff --git a/README.md b/README.md index 23cfa11..b00ab16 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ codex plugin marketplace add raintree-technology/plugins codex plugin add docpull@raintree codex plugin add hig-doctor@raintree codex plugin add raintree-standards@raintree +codex plugin add trellis@raintree ``` Stable marketplace commands: diff --git a/plugins.lock.json b/plugins.lock.json index bf45716..748c216 100644 --- a/plugins.lock.json +++ b/plugins.lock.json @@ -75,6 +75,14 @@ "plugin" ], "version": "1.1.1" + }, + { + "name": "trellis", + "repository": "https://github.com/raintree-technology/trellis.git", + "ref": "v0.3.1", + "commit": "fef84a32dff8694c6e6aa726eb7aef42b70997ab", + "sourcePaths": ["plugin"], + "version": "0.3.1" } ] } diff --git a/plugins/trellis/.codex-plugin/plugin.json b/plugins/trellis/.codex-plugin/plugin.json new file mode 100644 index 0000000..be42167 --- /dev/null +++ b/plugins/trellis/.codex-plugin/plugin.json @@ -0,0 +1,34 @@ +{ + "name": "trellis", + "version": "0.3.1", + "description": "Remediate Trellis findings through its stable todo schema and repository checks.", + "author": { + "name": "Raintree Technology", + "email": "support@raintree.technology", + "url": "https://raintree.technology" + }, + "homepage": "https://github.com/raintree-technology/trellis", + "repository": "https://github.com/raintree-technology/trellis", + "license": "MIT", + "keywords": ["biome", "javascript", "typescript", "lint", "remediation"], + "skills": "./skills/", + "interface": { + "displayName": "Trellis", + "shortDescription": "Remediate shared JavaScript and TypeScript policy findings.", + "longDescription": "Trellis turns its existing deterministic todo report into a bounded remediation workflow. It preserves repository-specific suppressions and treats warnings as human-judgment work.", + "developerName": "Raintree Technology", + "category": "Developer Tools", + "capabilities": [ + "Read Trellis todo reports", + "Remediate one rule group", + "Verify repository checks" + ], + "websiteURL": "https://github.com/raintree-technology/trellis", + "brandColor": "#0F6B5D", + "defaultPrompt": [ + "Remediate the next Trellis rule group in this repository.", + "Explain the blocking Trellis findings without editing.", + "Review Trellis warnings that need human judgment." + ] + } +} diff --git a/plugins/trellis/README.md b/plugins/trellis/README.md new file mode 100644 index 0000000..8031967 --- /dev/null +++ b/plugins/trellis/README.md @@ -0,0 +1,8 @@ +# Trellis Codex plugin recipe + +This recipe provides one remediation skill for Trellis 0.3.1. The skill consumes +the package's existing `trellis todo` JSON report. It does not duplicate the +policy or define another finding schema. + +The consuming repository owns installation, dependency changes, Biome commands, +tests, architecture rules, and justified local suppressions. diff --git a/plugins/trellis/fixtures/activation.json b/plugins/trellis/fixtures/activation.json new file mode 100644 index 0000000..f71cde3 --- /dev/null +++ b/plugins/trellis/fixtures/activation.json @@ -0,0 +1,9 @@ +{ + "schemaVersion": 1, + "skill": "trellis-remediate", + "positive": [ + "Remediate the next Trellis rule group in this repository.", + "Triage these trellis todo errors and fix one group." + ], + "negative": ["Run ESLint and fix everything.", "Install a formatter in this new project."] +} diff --git a/plugins/trellis/skills/trellis-remediate/SKILL.md b/plugins/trellis/skills/trellis-remediate/SKILL.md new file mode 100644 index 0000000..8545563 --- /dev/null +++ b/plugins/trellis/skills/trellis-remediate/SKILL.md @@ -0,0 +1,45 @@ +--- +name: trellis-remediate +description: Use when the user asks to fix, remediate, triage, or work through Trellis findings in a JavaScript or TypeScript repository. Detect whether the repository already uses Trellis before acting. Do not activate for a generic lint request that does not mention Trellis or for installing Trellis without explicit user authorization. +--- + +# Trellis remediation + +Use Trellis's existing todo report as the handoff contract. Do not reproduce its +policy in this skill and do not change its JSON schema. + +## Establish the repository state + +1. Inspect package manifests, the lockfile, Biome configuration, scripts, and + repository guidance for `@raintree-technology/trellis` adoption. +2. If Trellis or its exact Biome peer dependency is missing, stop before + installation or any dependency change. Ask for explicit authorization and + state the proposed versions and files. +3. Run the repository's existing command that invokes `trellis todo`. If no + script exists but the installed package is resolvable, run the installed + executable without modifying dependencies. +4. Confirm the report has `schemaVersion: 1`. Stop on an unknown schema. + +## Remediate one rule group + +1. Group open todos by `rule`. Select one group only. +2. Treat `error` and `fatal` findings as blocking candidates. Confirm whether + the repository's Biome gate makes them release-blocking. +3. Treat warnings as human-judgment work. Inspect behavior and architecture + before changing code. +4. Apply the smallest behavior-preserving correction that follows each todo's + replacement direction. +5. Preserve a narrow local suppression when its reason is still justified. Do + not remove or broaden suppressions to make the report cleaner. +6. Stop after the selected rule group. Report remaining groups for a later pass. + +## Verify + +After edits, rerun: + +1. The repository's Trellis todo command. +2. The repository's Biome check. +3. Tests relevant to the changed behavior. + +Report resolved IDs, remaining findings, preserved suppressions, exact checks, +and failures. A clean todo report does not replace the Biome gate or tests.