Files
everforest-resources/.serena/memories/task-completion-checklist.md
Ismo Vuorinen 11baabe545 feat: initial scaffold and generator
- Complete project structure with directories for all target platforms
- Template system for CLI tools with color placeholder replacement
- Working generator that processes templates for 6 theme variants
- GitHub workflows for build, snapshots, commitlint, and cli-verify
- Installer and verifier scripts for CLI tool deployment
- Comprehensive documentation and specifications
- Biome 2.x linting and formatting setup
- Husky git hooks for pre-commit validation
2025-09-05 23:06:12 +03:00

3.6 KiB
Raw Permalink Blame History

Task Completion Checklist - Everforest Resources

When a Development Task is Completed

1. Code Quality Checks

# Lint and format code first
npm run lint:fix         # Auto-fix any linting issues
npm run format           # Ensure consistent formatting

# Generate themes from updated templates/palettes
npm run generate

# Validate all outputs
npm run validate

# Check for any errors or warnings
# All validation must pass before proceeding

2. Testing Requirements

# Run Playwright snapshots (for web changes)
npm run snapshots

# Full CI pipeline (includes linting)
npm run ci

# Verify no errors in any step

3. File Verification

  • Never commit generated files without running generator
  • Always commit palette + template + generated files together
  • Check that all 6 variants are generated (dark/light × hard/medium/soft)
  • Ensure code passes Biome linting and formatting

4. Documentation Updates

  • Update relevant README or docs if adding new tools
  • Ensure all examples use indented code blocks (4 spaces)
  • Never use triple backticks in documentation
  • Run npm run format to ensure consistent formatting

5. Git Workflow

# Check status
git status

# Lint and format before committing
npm run lint:fix
npm run format

# Stage all changes (palette + template + generated)
git add -A

# Commit with conventional format
git commit -m "feat: add new CLI tool theme"
# or
git commit -m "fix: correct color mapping in starship"
# or
git commit -m "docs: update installation guide"

# Push changes
git push

6. CI/CD Requirements

All these checks must pass in CI before merge:

  • lint: Biome linting and formatting checks
  • build: Generator + validation
  • snapshots: Playwright demo renders
  • commitlint: Conventional Commits enforcement
  • cli-verify: Install + verify generated configs

7. Critical Rules Verification

  • Code passes Biome linting (no errors)
  • Code is properly formatted with Biome
  • No raw hex values in CLI configs (ANSI only)
  • All generated files come from templates/palettes
  • No manual edits to generated files
  • Template placeholders used correctly
  • All 6 theme variants present where applicable

8. Special Considerations

For New CLI Tools

  • Create template.txt with proper placeholders
  • Add to generator processing logic
  • Update installer script
  • Add to verifier container
  • Document in appropriate README
  • Ensure any new JS/MJS files follow Biome style

For Palette Changes

  • Regenerate ALL theme files
  • Verify no breaking changes in output formats
  • Test web demo still renders correctly
  • Check that ANSI mappings remain valid

For Template Updates

  • Test with all 6 variants
  • Verify placeholder replacement works
  • Check output format matches tool expectations

For JavaScript/Code Changes

  • Run npm run lint:fix to auto-fix issues
  • Run npm run format for consistent formatting
  • Ensure imports are organized correctly
  • Follow established naming conventions

9. Before Pushing

# Final verification with full CI
npm run ci

# If all passes, ready to push
git push origin main

Emergency Fixes

If CI fails after push:

  1. Check error logs in GitHub Actions
  2. For linting errors: npm run lint:fix locally
  3. For generation errors: rm -rf generated/ && npm run generate
  4. Fix locally with proper workflow above
  5. Push fix immediately

Biome-Specific Troubleshooting

# Check what Biome would fix
npm run lint

# Auto-fix all fixable issues
npm run lint:fix

# Format all files
npm run format

# Check specific file
biome check scripts/generate-themes.mjs