3.6 KiB
3.6 KiB
Automated Workflows for Claude
This file documents automated workflows that Claude should be aware of when working on this project.
NPM Package Publishing
@soroban/abacus-react Package
Status: ✅ Fully configured and ready for automated publishing to npm
How to trigger a release:
# Minor version bump (new features)
git commit -m "feat(abacus-react): add new bead animation system"
# Patch version bump (bug fixes)
git commit -m "fix(abacus-react): resolve gesture detection issue"
# Patch version bump (performance)
git commit -m "perf(abacus-react): optimize bead rendering"
# Major version bump (breaking changes)
git commit -m "feat(abacus-react)!: change callback signature"
Key Requirements:
- Must use
(abacus-react)scope in commit message - Changes must be in
packages/abacus-react/directory - NPM_TOKEN secret must be configured in GitHub repository settings
Workflow Details:
- File:
.github/workflows/publish-abacus-react.yml - Triggers: Push to main branch with changes in
packages/abacus-react/ - Steps: Install deps → Build package → Run tests → Configure dual auth → Semantic release → Publish to npm + GitHub Packages
- Versioning: Independent from monorepo (uses tags like
abacus-react-v1.2.3) - Publishing: Dual publishing to both npm and GitHub Packages simultaneously
Current Status:
- ✅ Workflow configured for dual publishing
- ✅ Semantic release setup for both registries
- ✅ Package build/test passing
- ✅ GitHub Packages authentication configured (uses GITHUB_TOKEN)
- ⏸️ Awaiting NPM_TOKEN secret for actual npm publishing
What Claude should do: When making changes to the abacus-react package:
- Use the proper commit format with
(abacus-react)scope - Remember this will trigger automatic npm publishing
- Ensure changes are meaningful enough for a version bump
- Reference this workflow in explanations to users
Storybook Deployment
Status: ✅ Fully functional
Trigger: Any push to main branch Output: https://antialias.github.io/soroban-abacus-flashcards/
- Web app Storybook:
/web/ - Abacus React component Storybook:
/abacus-react/
Semantic Release (Monorepo)
Status: ✅ Configured to exclude abacus-react scope
Workflow: Regular commits without (abacus-react) scope trigger monorepo releases
Versioning: Affects root package.json version and creates GitHub releases
Claude Guidelines
- Always check commit scope: When working on abacus-react, use
(abacus-react)scope - Be intentional: Package releases are permanent - ensure changes warrant a version bump
- Documentation: Point users to CONTRIBUTING.md for full details
- Status awareness: Remember NPM_TOKEN is required for actual publishing
- Testing: Package tests must pass before publishing (currently has workaround for vitest config issue)
Quick Reference
| Action | Commit Format | Result |
|---|---|---|
| Add abacus-react feature | feat(abacus-react): description |
npm minor version bump |
| Fix abacus-react bug | fix(abacus-react): description |
npm patch version bump |
| Breaking abacus-react change | feat(abacus-react)!: description |
npm major version bump |
| Regular monorepo feature | feat: description |
monorepo minor version bump |
| Regular monorepo fix | fix: description |
monorepo patch version bump |
Files to Reference
CONTRIBUTING.md- Full contributor guidelinespackages/abacus-react/README.md- Package-specific documentation.github/workflows/publish-abacus-react.yml- Publishing workflowpackages/abacus-react/.releaserc.json- Semantic release config