Skip to content

chore: release v4.0.0 — flatten plugins under plugins/, split docs and changelog - #76

Merged
cheneeheng merged 3 commits into
mainfrom
refactor/flatten-plugins-archive-changelog
Aug 21, 2026
Merged

chore: release v4.0.0 — flatten plugins under plugins/, split docs and changelog#76
cheneeheng merged 3 commits into
mainfrom
refactor/flatten-plugins-archive-changelog

Conversation

@cheneeheng

Copy link
Copy Markdown
Owner

What

Repo layout release, v3.29.4v4.0.0.

  • 23 ceh-* plugin directories move to plugins/ceh-*, flat, no tier subfolders.
  • CROSS_REFERENCES.md, TESTING_WORKFLOW.md, and the pre-v3 changelog move to docs/.
  • CHANGELOG.md splits at v3.0.0; the archive is docs/CHANGELOG-v1-v2.md.
  • Nine plugins take PATCH bumps — all documentation path fixes.

Why

The root held 23 plugin directories plus six markdown files. Four of those files are pinned to the
root by tooling (GitHub readme rendering and licence detection, Claude Code auto-loading
CLAUDE.md only from the project root, release skills targeting CHANGELOG.md at the root path);
the other two were there by habit, and the changelog archive made a third.

plugins/ is deliberately flat. Grouping by the CLAUDE.md tier table was considered and rejected —
that axis has already been re-cut once, and encoding it in paths turns the next re-categorization
into a 23-source edit instead of one table row.

How

Path rewrites separated three kinds of similar-looking string: repo-relative paths gained the
prefix; plugin-internal runtime paths (ceh-fabled/skills/fabled/references/) resolve against the
installed plugin root and did not; plugin/skill references (ceh-ops/deploy) name a skill, not a
file. Paths recorded in .agents_workspace/ and past changelog entries are left as written.

Decisions logged as .agents_workspace/DECISION_LOG.md entries 77 and 78.

Testing

  • python tools/validate-plugins/validate.py green after each step.
  • All 23 plugin directories recorded by git as renames; the nine below 100% similarity are exactly
    the READMEs with path fixes and their plugin.json bumps.
  • Changelog integrity checked by diff against HEAD:CHANGELOG.md: all 93 version entries and their
    bodies preserved across the split, the only difference being the one --- separator at the cut.
  • Grep sweep for stale references clean outside deliberately-preserved history.

Breaking change

Plugin source paths move from ./ceh-<name> to ./plugins/ceh-<name>. Installs by marketplace
name are unaffected.
Anyone pointing settings.json at a plugin path must update it; README.md
and the six plugin READMEs documenting manual installation show the new paths.

Generated with Claude Code by CEH

The repo root held 23 `ceh-*` directories alongside six markdown files. Both
are now one level down or one file smaller.

Plugins move to `plugins/ceh-*` — flat, with no tier subdirectories. Grouping
by tier (cross-cutting / use-case / stack) was considered and rejected: the
tier axis has already been re-cut once, and encoding it in filesystem paths
makes the next re-categorization a 23-`source` edit instead of one table row
in CLAUDE.md. All 23 directories move as pure git renames.

Repo-relative paths are rewritten; plugin-internal runtime paths are not.
`ceh-fabled/skills/fabled/references/` and `ceh-git-workflow/release` resolve
against the installed plugin root or are `plugin/skill` references, so they
stay as they are. Paths in `.agents_workspace/` are left alone — they record
what was true when written.

CHANGELOG.md splits at v3.0.0, the reorganisation that introduced the current
use-case axis. Entries below that line describe plugins that no longer exist
under those names, which makes them history in a stronger sense than age
alone. CHANGELOG.md keeps v3.0.0+ (3129 -> 2503 lines) and links forward;
CHANGELOG-ARCHIVE.md holds v1.0.0-v2.8.0. All 93 version entries and their
bodies are preserved.

Six plugin READMEs carried manual-install snippets the move invalidated;
fixing them changed plugin content, so each takes a PATCH bump in both
plugin.json and marketplace.json.

Decision logged as entry 77. `python tools/validate-plugins/validate.py` green.

BREAKING CHANGE: plugin source paths move from `./ceh-<name>` to
`./plugins/ceh-<name>`. Marketplace-name installs are unaffected. Anyone whose
`settings.json` points at a plugin path must update it — README and the six
plugin READMEs document the new paths.

Generated with [Claude Code](https://claude.com/claude-code) by CEH
Three maintainer-facing files leave the repo root: `CROSS_REFERENCES.md`,
`TESTING_WORKFLOW.md`, and the changelog archive. Root now holds four files —
`README.md`, `LICENSE.md`, `CLAUDE.md`, `CHANGELOG.md` — each pinned there by
tooling rather than habit: GitHub rendering and licence detection, Claude Code
auto-loading `CLAUDE.md` only from the project root, and release-flow targeting
`CHANGELOG.md` at the root path.

`CHANGELOG-ARCHIVE.md` becomes `docs/CHANGELOG-v1-v2.md`. The archive spans
v1.0.0 to v2.8.0, so the name states its range; the next split extends the
pattern as `CHANGELOG-v3-v4.md` rather than accumulating "-ARCHIVE" suffixes
that stop distinguishing anything once there are two of them.

Inbound references updated in CLAUDE.md, README.md, the repo-local
add-plugin-component skill, and four plugin READMEs; those four take PATCH
bumps. Historical mentions inside CHANGELOG.md and the archive are left alone —
they record the paths as they were.

Decision logged as entry 78. `python tools/validate-plugins/validate.py` green.

Generated with [Claude Code](https://claude.com/claude-code) by CEH
Repo layout release: plugins move under `plugins/`, maintainer docs move to
`docs/`, and the changelog splits at v3.0.0. Nine plugins take PATCH bumps for
documentation path fixes; no skill, agent, hook, or script changed.

- Bump: MAJOR — plugin source paths move from `./ceh-<name>` to
  `./plugins/ceh-<name>`, breaking installs that point `settings.json` at a
  plugin path. Marketplace-name installs are unaffected. The CLAUDE.md repo-tag
  rule covers only "MINOR for new skills/agents, PATCH for content-only" and
  does not contemplate a layout break, so the level was chosen to match the
  BREAKING CHANGE footer already on 4fb15dc.
- Manifests: no repo-level version field exists — the repo tag is git-only.
  Nine plugin manifests moved in the two preceding commits: ceh-advisor 1.0.5,
  ceh-dev-tools 1.2.3, ceh-orchestration 1.0.6, ceh-plan-build-review 1.1.3,
  ceh-python-library 1.2.4, ceh-release-flow 1.1.10, ceh-scaffolding 1.0.4,
  ceh-testing 1.0.4, ceh-usability-audit 1.0.2.
- Docs: CHANGELOG.md gains the v4.0.0 entry with its Plugin versions table;
  CLAUDE.md's Structure tree gains the missing `docs/` row; README needed no
  further change — its manual-install paths and the TESTING_WORKFLOW.md link
  were corrected in the two preceding commits.

Generated with [Claude Code](https://claude.com/claude-code) by CEH
@cheneeheng
cheneeheng enabled auto-merge August 21, 2026 20:35
@cheneeheng
cheneeheng merged commit f31d466 into main Aug 21, 2026
1 check passed
@cheneeheng
cheneeheng deleted the refactor/flatten-plugins-archive-changelog branch August 21, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant