Development Workflow
Simple workflow for DesterLib development.
π Daily Development Flow
Section titled βπ Daily Development Flowβ1. Make Changes
Section titled β1. Make Changesβ# Create feature branchgit checkout maingit pullgit checkout -b feat/your-feature
# Make your changes# ... edit files ...2. Format & Commit
Section titled β2. Format & Commitβ# Format codepnpm format
# Commit (interactive)pnpm commit3. Add Changeset (if user-facing)
Section titled β3. Add Changeset (if user-facing)β# For API changes, new features, bug fixespnpm changeset# Select packages β Choose bump type β Write summarygit add .changesetpnpm commit4. Create PR
Section titled β4. Create PRβ# Push branchgit push origin feat/your-feature
# Create PR (runs checks automatically)pnpm pr:createThatβs it! The pnpm pr:create command will:
- β Run lint check
- β Run type check
- β Check formatting
- β Verify versioning setup
- β Create PR with GitHub CLI
π What Happens After PR Merge
Section titled βπ What Happens After PR MergeβAutomatic (CI/CD)
Section titled βAutomatic (CI/CD)β- Docs deploy - Documentation automatically updates
- Changeset validation - CI verifies changesets
- Version bump - When ready, maintainers run
pnpm versiononmain
Manual (Maintainers Only)
Section titled βManual (Maintainers Only)β# On main branch, after PRs are mergedpnpm version # Bump versions, generate changelogspnpm release # Build and publish (when ready)π Complete Flow Diagram
Section titled βπ Complete Flow Diagramβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 1. Make Changes ββ git checkout -b feat/feature ββ ... edit files ... ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ β βΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 2. Format & Commit ββ pnpm format ββ pnpm commit ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ β βΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 3. Add Changeset (if needed) ββ pnpm changeset ββ git add .changeset ββ pnpm commit ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ β βΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 4. Create PR ββ git push origin feat/feature ββ pnpm pr:create ββ ββ Runs: lint, types, format, versioning checks ββ ββ Creates PR on GitHub ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ β βΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 5. Review & Merge ββ β CI runs checks ββ β Maintainer reviews ββ β PR merged to main ββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ β βΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ 6. Release (Maintainers) ββ pnpm version # Bump versions, generate changelogs ββ pnpm release # Build and publish ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ― Quick Reference
Section titled βπ― Quick ReferenceβEssential Commands
Section titled βEssential Commandsβpnpm format # Format codepnpm commit # Interactive commitpnpm changeset # Create changesetpnpm pre-pr # Run checks before PRpnpm pr:create # Create PR (includes checks)Versioning Commands (Maintainers)
Section titled βVersioning Commands (Maintainers)βpnpm changeset:status # Check changeset statuspnpm verify:versioning # Verify versioning setuppnpm version # Bump versionspnpm changelog:sync # Sync changelogs to docspnpm release # Build and publishDevelopment Commands
Section titled βDevelopment Commandsβpnpm dev # Start dev serverspnpm build # Build all packagespnpm lint # Lint codepnpm check-types # Type checkβ When to Add a Changeset
Section titled ββ When to Add a Changesetββ Add Changeset For:
Section titled ββ Add Changeset For:β- New features (minor bump)
- Bug fixes (patch bump)
- Breaking changes (major bump)
- API changes
- User-facing changes
β Skip Changeset For:
Section titled ββ Skip Changeset For:β- Documentation only
- Internal refactoring
- Tests
- CI/CD changes
- Code style/formatting
π¨ Common Issues
Section titled βπ¨ Common IssuesβPre-PR Checks Fail
Section titled βPre-PR Checks Failβ# Fix lintingpnpm lint:fix
# Fix formattingpnpm format
# Fix types# Check TypeScript errors and fix
# Skip checks (not recommended)pnpm pr:create --skip-checksNo Changeset Needed
Section titled βNo Changeset NeededβIf your PR doesnβt need versioning (docs, tests, etc.), just skip the changeset step. The checks will still pass.
π More Info
Section titled βπ More Infoβ- Contributing Guide - Detailed contribution guide
- Versioning Guide - Version management details
- Quick Reference - Common commands reference