| name | development-workflow |
| description | Build, development, and code quality commands for StackOne SDK |
Development Workflow
This skill provides all commands and best practices for building, developing, and maintaining code quality in the StackOne SDK.
Building and Development
bun run build- Build the project using tsdownbun run rebuild- Fetch latest OpenAPI specs and rebuild everythingbun run dev- Watch mode for development (builds on file changes)bun run fetch:specs- Update OpenAPI specifications from remote
Testing
bun run test- Run all tests (unit, examples, scripts)bun run test:unit- Run only unit testsbun test src/path/to/file.spec.ts- Run a specific test filebun test -t "test name"- Run tests matching a pattern
Code Quality
bun run lint- Run Biome linterbun run format- Format code with Biomebun run typecheck- Type check with tsgobun run lint:fix- Auto-fix linting issues
Documentation
bun run docs:build- Build MkDocs documentationbun run docs:serve- Serve docs locallybun run docs:deploy- Deploy docs to GitHub Pages
Development Guidelines
Commit Strategy
Keep commits tiny but meaningful:
- Use git hunks (
-pflag) to selectively commit changes - Write detailed commit messages
- Ensure each commit is logically complete
- Use English for all commit messages
Git Workflow
- Never push directly to main without permission
- Create a new branch for changes
- Create a pull request to merge into main
- Use
git checkout -b feature-nameto start
When to Rebuild
Always run bun run rebuild when:
- Updating OpenAPI specifications
- After pulling spec changes
- Before committing generated files
Development Flow
- Create feature branch:
git checkout -b feature-name - Make changes to source files
- Run type checking:
bun run typecheck - Run linter:
bun run lint:fix - Run tests:
bun run test - Format code:
bun run format - Rebuild if specs changed:
bun run rebuild - Commit with detailed messages
- Push and create PR:
gh pr create
Troubleshooting
Command Failures
If bunx <command> fails, try bun x <command> instead.
If bash commands fail, try running with fish shell:
fish -c "<command>"
Commit Message Best Practices
Guidelines
- Keep each commit as tiny as possible
- Write detailed commit messages explaining the "why"
- Each commit should be meaningful (not just a single line change)
- Use git hunks (
-pflag) to selectively commit related changes - Always use English for commit messages
- Reference issues and PRs when relevant
Commit Structure
Format: type(scope): description
Example:
feat(parser): add support for custom parameter transformers
- Add new transformer hooks to OpenAPI parser
- Enable pre-processing of tool parameters
- Implement docs for custom transformers
When Committing
- Run
git diffto review all changes - Use
git add -pto review and stage hunks selectively - Write comprehensive message explaining the purpose
- Verify with
git statusbefore committing
TypeScript Issues
Use the TypeScript exhaustiveness pattern (satisfies never) when branching on unions. See openapi-architecture skill for examples.
Working with Tools
- Use semantic tools for code exploration (avoid full file reads when possible)
- Leverage symbol indexing for fast navigation
- Use grep/ripgrep for pattern matching
- Read only necessary code sections
Code Style
- Follow existing patterns for error handling and logging
- Generate types from OpenAPI specs, don't write manually
- Maintain TypeScript exhaustiveness for union types
- Include comprehensive JSDoc comments for public APIs
Performance Considerations
- Use lazy loading for tools to minimize memory usage
- Avoid loading all OpenAPI specs at startup
- Cache generated tool instances appropriately
- Consider framework-agnostic core design
Publishing & Deployment
When ready to release:
- Ensure all tests pass:
bun run test - Verify type checking:
bun run typecheck - Build documentation:
bun run docs:build - Bump version in package.json
- Create release commit
- Push to main or create release PR
- Deploy docs:
bun run docs:deploy