Commit Graph

8 Commits

Author SHA1 Message Date
Brandon Martin e0bb787a9e fix(plugins): bump cce-linear package metadata 2026-04-20 15:49:25 -05:00
Brandon Martin aabed4666c feat(typescript): add TypeScript 6 skill plugin (#12)
## Summary
- add a new `typescript-v6` skill under `.claude/skills/` with TS 6
upgrade guidance, focused references, and trigger metadata grounded in
the official release notes
- add a dedicated `typescript-v6` plugin package and sync wiring so the
skill ships separately from the existing `cce-typescript` agent plugin
- update the root README and regenerate marketplace/plugin outputs via
`python3 scripts/sync_plugin_packages.py`

## Verification
- `python3 scripts/sync_plugin_packages.py`
- `python3 -m py_compile scripts/sync_plugin_packages.py`
- `lsp_diagnostics scripts/sync_plugin_packages.py`
- `git diff --check`
2026-04-12 14:05:54 -05:00
Brandon Martin ca1a51bb65 feat(vite): add vite-v8 and vitest-v4 skills to cce-vite (#11)
## Summary
- rename the original `vitest-4` skill/package to `vitest-v4` across the
repo and the packaged `cce-vite` plugin so the version is explicit in
the skill name
- add a new rich `vite-v8` skill package in the repo and package it into
`cce-vite` alongside `vitest-v4`
- deepen both Vite/Vitest skill packages with richer failure-mode-driven
references, execution guidance, migration notes, and cross-linked
reference indexes modeled after the stronger `tauri-v2` style
- register `cce-vite` in `.claude-plugin/marketplace.json` and add
`cce-vite` to `scripts/sync_plugin_packages.py` so the plugin package
and marketplace entry are reproducible from source
- update plugin metadata, author metadata, and README
inventories/install docs to match the final packaged scope

## Verification
- ran `lsp_diagnostics` across the enriched markdown skill directories
with no issues
- validated `plugins/cce-vite/.claude-plugin/plugin.json` and
`.claude-plugin/marketplace.json` parse as JSON
- validated relative markdown links across the repo-root and packaged
Vite/Vitest skill trees
- verified no repo-facing `vitest-4` references remain
- ran `python -m py_compile scripts/sync_plugin_packages.py`
- ran `python scripts/sync_plugin_packages.py` successfully
- ran `git diff --check` with no whitespace issues
2026-04-12 12:25:39 -05:00
Brandon Martin 3493e219b6 docs(tauri): expand v2 skill package and clean placeholder dirs (#10)
## Summary
- expand the `tauri-v2` skill package into a layered v2+ reference with
stronger guidance for mobile entry points, `WebviewWindow` usage,
capabilities, IPC, official plugins, updater/distribution, and advanced
runtime topics
- improve discoverability and progressive disclosure with direct
deep-dive links from `SKILL.md`, tables of contents in long reference
files, consistent verification notes, and a clearer deprecated/legacy
position for the companion agent
- bump the packaged `cce-tauri` plugin to `1.0.1`, regenerate synced
marketplace/plugin outputs, and remove empty placeholder `assets/` and
`scripts/` directories that only contained generic README stubs
2026-04-02 22:16:17 -05:00
Brandon Martin b25e064fd1 fix(plugins): drop duplicate core hooks manifest (#9)
## Summary
- remove the redundant `manifest.hooks` entry from the generated
`cce-core` plugin manifest
- keep `plugins/cce-core/hooks/hooks.json` in the standard plugin
location with the wrapped `hooks` record
- update the sync script so regenerated packages do not reintroduce the
duplicate-hook error

## Why
Marketplace installs of `cce-core` now fail with:

```text
Hook load failed: Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file ...
The standard hooks/hooks.json is loaded automatically, so manifest.hooks should only reference additional hook files.
```

The previous hook-schema fix made the standard `hooks/hooks.json` file
valid, but `plugin.json` still pointed at that same standard file. That
caused the plugin loader to load it twice.

## Changes
- remove `hooks: "./hooks/hooks.json"` from generated plugin manifests
- regenerate `plugins/cce-core/.claude-plugin/plugin.json`

## Verification
- `python3 scripts/sync_plugin_packages.py`
- `python3 -m py_compile scripts/sync_plugin_packages.py
install_extensions.py`
- validated `plugins/cce-core/.claude-plugin/plugin.json` no longer has
a `hooks` field
- validated `plugins/cce-core/hooks/hooks.json` still contains a
top-level `hooks` object
2026-04-01 22:56:00 -05:00
Brandon Martin 39b89360ac fix(plugins): wrap packaged core hooks (#8)
## Summary
- wrap the generated `plugins/cce-core/hooks/hooks.json` contents under
a top-level `hooks` key
- keep `cce-core` pointing at `./hooks/hooks.json` while making the file
shape match the plugin loader schema
- update the package sync script so regenerated core hooks stay valid

## Why
Marketplace installs of `cce-core` failed with:

```text
Hook load failed: [
  {
    "expected": "record",
    "code": "invalid_type",
    "path": ["hooks"],
    "message": "Invalid input: expected record, received undefined"
  }
]
```

The plugin loader expects the external hooks file to contain a top-level
`hooks` record. Our generated file started directly with event keys like
`PreToolUse` and `PostToolUse`, so the loader could not find `hooks`.

## Changes
- update `scripts/sync_plugin_packages.py` to emit `{ "hooks": { ... }
}` for the generated core hooks file
- regenerate `plugins/cce-core/hooks/hooks.json`

## Verification
- `python3 scripts/sync_plugin_packages.py`
- `python3 -m py_compile scripts/sync_plugin_packages.py
install_extensions.py`
- validated `plugins/cce-core/hooks/hooks.json` contains a top-level
`hooks` object
2026-04-01 22:39:30 -05:00
Brandon Martin 2232aae10c fix(plugins): remove unsupported manifest path fields (#7)
## Summary
- remove explicit `agents`, `skills`, and `commands` fields from
generated plugin manifests
- rely on Claude Code's standard auto-discovery for plugin-root
`agents/`, `skills/`, and `commands/` directories
- flatten packaged agents to `agents/*.md` so discovery does not depend
on nested-path recursion
- keep the fix minimal by only retaining the explicit `hooks` entry for
`cce-core`

## Why
A local plugin install failed with:

```text
Plugin has an invalid manifest file ... Validation errors: agents: Invalid input
```

Our packaged plugins already follow the standard directory structure, so
the extra manifest path fields were unnecessary and were the most likely
validator mismatch. Greptile also flagged that many generated plugin
agents were nested under paths like `agents/specialized/...`, which
could silently fail if discovery is non-recursive. This change aligns
the packages with the default plugin structure instead of relying on
special manifest fields or recursive discovery.

## Changes
- update `scripts/sync_plugin_packages.py` to stop emitting manifest
path overrides
- flatten generated packaged agents to plugin-root `agents/*.md`
- regenerate all packaged plugin manifests with minimal metadata-only
manifests
- regenerate all packaged plugin agent files into the flat standard
layout

## Verification
- `python3 scripts/sync_plugin_packages.py`
- `python3 -m py_compile scripts/sync_plugin_packages.py
install_extensions.py`
- validated all 19 generated plugin manifests as JSON
- confirmed no generated manifest still contains `agents`, `skills`, or
`commands`
- confirmed packaged agents are flat: `flat_agents=78 nested_agents=0`
2026-04-01 22:25:42 -05:00
Brandon Martin 1ac816cc29 refactor(plugins): package self-contained plugin installs (#5)
## Summary
- convert the marketplace packages into self-contained plugin installs
with local `agents/`, `skills/`, `commands/`, and `hooks/` content
- replace the old `triage-workflow` path with the new `linear` skill and
ship a dedicated `cce-linear` plugin for Linear-backed ticket and PR
workflows
- remove the unfinished `cce-auto-blog` plugin so this PR stays focused
on the plugin infrastructure redo

## What Changed
- added `scripts/sync_plugin_packages.py` to generate package manifests
and sync plugin-local assets from the shared `.claude/` source tree
- updated `.claude-plugin/marketplace.json` and per-plugin manifests for
19 packages, including new `cce-linear` and `cce-tauri` entries
- materialized packaged plugin assets under `plugins/*` so marketplace
installs no longer depend on repo-root `.claude` paths
- rewired Linear commands to use the `linear` skill wrapper scripts and
removed hardcoded workspace-specific Linear URLs
- refreshed root and plugin README files to match the packaged layout
and current plugin inventory

## Verification
- `python3 -m py_compile scripts/sync_plugin_packages.py
install_extensions.py .claude/skills/linear/scripts/*.py`
- `python3 scripts/sync_plugin_packages.py`
- validated plugin JSON/manifests and `cce-linear` package wiring
- confirmed no `axios-hq` or `triage-workflow` references remain in the
`.claude` Linear sources

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-01 21:51:29 -05:00