Skip to content

feat(dev)!: migrate workflow state from .claude/ to .catalyst/#62

Open
ryanrozich wants to merge 1 commit intomainfrom
ryanrozich/ctl-26-catalyst-migration
Open

feat(dev)!: migrate workflow state from .claude/ to .catalyst/#62
ryanrozich wants to merge 1 commit intomainfrom
ryanrozich/ctl-26-catalyst-migration

Conversation

@ryanrozich
Copy link
Copy Markdown
Contributor

Summary

  • Migrates Catalyst config and workflow state from .claude/ to a dedicated .catalyst/ directory, cleanly separating Catalyst workflow files from Claude Code's native .claude/ directory
  • Creates resolve-ticket.sh for unified ticket resolution across all skills (explicit arg > branch name > currentTicket)
  • Adds backward compatibility: check-project-setup.sh falls back to .claude/config.json with a migration warning

What Changed

Area Before After
Config .claude/config.json .catalyst/config.json
Workflow state .claude/.workflow-context.json .catalyst/workflow-context.json
Ticket resolution Inline in each skill Centralized resolve-ticket.sh
PR descriptions ${pr_number}_description.md ${TICKET}_pr-${pr_number}_description.md

61 files changed across all 3 plugins (dev, pm, meta), scripts, docs, and website.

Breaking Change

Config moved from .claude/config.json to .catalyst/config.json. Existing projects using .claude/config.json will see a migration warning and continue to work via backward compat fallback.

Test plan

  • All 28 tests pass (25 existing + 3 new)
  • New test: resolve-ticket.sh returns explicit ticket
  • New test: resolve-ticket.sh falls back to currentTicket
  • New test: check-project-setup.sh backward compat reads .claude/config.json
  • Manual: install plugin in a fresh project, verify .catalyst/ is created on first skill invocation
  • Manual: verify backward compat in a project with .claude/config.json only

Closes CTL-26

Move Catalyst-specific config and workflow state to a dedicated .catalyst/
directory, separating it from Claude Code's native .claude/ directory.

Changes:
- Move config.json, config.template.json, config.example.json to .catalyst/
- Move workflow-context.json to .catalyst/ (drop leading dot in filename)
- Update all references across 59 files (skills, agents, scripts, docs)
- Add backward compat: check-project-setup.sh falls back to .claude/config.json
- Create resolve-ticket.sh for unified ticket resolution (explicit > branch > currentTicket)
- Update describe-pr filename pattern to include ticket for hook regex matching
- Add 3 new tests (resolve-ticket, backward compat); all 28 tests pass

BREAKING CHANGE: Config moved from .claude/config.json to .catalyst/config.json.
Existing projects using .claude/config.json will see a migration warning.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying catalyst with  Cloudflare Pages  Cloudflare Pages

Latest commit: a9083a4
Status: ✅  Deploy successful!
Preview URL: https://b5336c88.catalyst-7jq.pages.dev
Branch Preview URL: https://ryanrozich-ctl-26-catalyst-m.catalyst-7jq.pages.dev

View logs

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