Manage development workflow for the Schmock schema mocking library: GitHub Flow branching, BDD/TDD testing, pre-commit hooks, and CI/CD practices.
This skill guides AI agents through the Schmock project's development workflow, including GitHub Flow branching, BDD/TDD testing strategy, and quality checks.
Schmock is a **feature-complete** TypeScript schema mocking library with:
1. **Start new feature:**
```bash
git checkout develop
git pull origin develop
git checkout -b feature/your-feature-name
```
2. **During development:**
- Commit frequently with clear messages
- Run tests: `bun test`
- Run BDD: `bun test:bdd`
- Lint: `bun lint`
3. **Create PR:**
- Push feature branch
- Create PR: `feature/*` → `develop`
- CI runs automatically (BDD failures OK during TDD)
4. **Merge and cleanup:**
- After approval, merge to develop
- Delete feature branch
- Stable develop → PR to main
1. Write failing BDD test in `/features/*.feature`
2. Implement step definitions in `packages/*/src/steps/*.steps.ts`
3. Write code to pass test
4. Refactor while keeping tests green
**Standard:**
**Quiet variants (for AI agents to minimize output):**
```bash
act push -W .github/workflows/develop.yml
```
After cloning:
```bash
bun install
bun run setup # Configures Git hooks (linting + tests on commit)
```
**Automatic (with Git hooks):**
**Manual (if hooks disabled):**
1. `bun lint` - Must pass
2. `bun build` - Must compile
3. `bun test:all` - Full suite (recommended) OR `bun test` (faster, skips typecheck)
**For AI agents:**
When working on Schmock:
1. **Always check context first:**
```bash
pwd # Verify you're in project root
```
2. **Starting new work:**
- Checkout develop and create feature branch
- Run `bun install` if dependencies changed
3. **During development:**
- Use quiet commands to minimize output
- BDD failures during TDD are expected
- Commit frequently with conventional commit format
4. **Before committing:**
- Run `bun lint:quiet && bun build:quiet && bun test:quiet`
- Or rely on Git hooks (if enabled)
5. **Creating PRs:**
- Target develop branch (not main)
- CI will validate automatically
6. **NEVER:**
- Add AI signatures to commits
- Commit directly to main or develop
- Skip tests on main-bound PRs
```
/packages/* - Individual packages
/types/* - Shared ambient types
/features/* - BDD feature files
```
Each package has independent build/test scripts.
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/schmock-project-workflow/raw