Thank you for your interest in contributing! This document explains how to contribute to the project and how to use the Babysitter plugin commands during development.
- Ways to Contribute
- Development Setup
- Plugin Commands for Contributors
- SDK CLI Commands
- Development Workflow
- Code Style
- Submitting a Pull Request
- Report bugs: Open an issue with steps to reproduce
- Suggest features: Start a discussion or open a feature request issue
- Submit pull requests: Fix bugs, add features, or improve documentation
- Improve documentation: Help make docs clearer and more complete
- Share processes: Contribute reusable process definitions to the library
- Node.js: 20.0.0+ (22.x LTS recommended)
- Claude Code: Latest version
- Git: Required for cloning and contributing
git clone https://github.com/a5c-ai/babysitter.git
cd babysitternpm installclaude plugin marketplace add a5c-ai/babysitter
claude plugin install --scope user babysitter@a5c.aiThen restart Claude Code. Verify installation by typing /skills — "babysit" should appear.
/babysitter:user-installFrom the cloned repository root:
/babysitter:project-install/babysitter:doctorThe Babysitter plugin provides slash commands for orchestrating development workflows. These are especially useful when contributing new features or processes.
| Command | Description | When to Use |
|---|---|---|
/babysitter:call <task> |
Interactive orchestration with human approval at breakpoints | Implementing features, fixing bugs with oversight |
/babysitter:yolo <task> |
Full autonomous execution, no breakpoints | Trusted, well-understood tasks |
/babysitter:plan <task> |
Generate and review a process plan without executing | Before committing to an implementation approach |
/babysitter:forever <task> |
Continuous orchestration loop for periodic tasks | Monitoring workflows, background processes |
| Command | Description |
|---|---|
/babysitter:user-install |
Configure your profile and preferences |
/babysitter:project-install |
Onboard the project for babysitting |
/babysitter:doctor |
Diagnose run health and issues |
/babysitter:observe |
Launch real-time monitoring dashboard |
/babysitter:resume |
Continue an interrupted run |
/babysitter:help |
Documentation and usage guidance |
/babysitter:call implement <your-feature> with TDD/babysitter:plan add support for <your-feature>The Babysitter SDK CLI (babysitter) is used to drive the orchestration loop and inspect run state. Install it globally if you need it in your terminal:
npm install -g @a5c-ai/babysitter-sdk@latestbabysitter run:create --process-id <id> --entry <file>#process --inputs <inputs.json>
babysitter run:status <runDir>
babysitter run:events <runDir> --limit 20 --reverse
babysitter run:iterate <runDir> --jsonbabysitter task:list <runDir> --pending --json
babysitter task:show <runDir> <effectId> --json
babysitter task:post <runDir> <effectId> --status ok --value <result.json>babysitter plugin:install <plugin-name> --marketplace-name <name> --global
babysitter plugin:list-installed --global
babysitter plugin:uninstall <plugin-name> --globalbabysitter harness:discover --json
babysitter harness:invoke <name> --prompt "<text>"See the full CLI Reference and Slash Commands Reference for details.
# SDK unit tests
npm run test:sdk
# E2E tests (requires Docker)
npm run test:e2e:docker
# Single test file
cd packages/sdk && npx vitest run src/runtime/__tests__/someFile.test.tsnpm run build:sdknpm run lint --workspace=@a5c-ai/babysitter-sdk
npm run lint --workspace=@a5c-ai/babysitter-sdk -- --fix- TypeScript: Strict mode enabled. No
anytypes — useunknownand narrow. - Promises: No floating promises — always
awaitor handle rejections. - Imports: Use workspace package names (
@a5c-ai/babysitter-sdk), never relative paths across package boundaries. - Variables: Prefix unused variables with
_(ESLint enforced). - Tests: Use
*.test.tsnaming, co-located in__tests__/directories. - Circular deps: No circular dependencies between packages.
- Fork the repository and create a branch from
main. - Make your changes following the code style guidelines above.
- Add or update tests to cover your changes.
- Run the tests to make sure nothing is broken:
npm run test:sdk npm run lint --workspace=@a5c-ai/babysitter-sdk
- Commit with a clear message describing what changed and why.
- Open a pull request against
mainwith a description of your changes.
- Keep PRs focused — one feature or fix per PR.
- Reference any related issues in the PR description (e.g.,
Fixes #123). - Ensure all CI checks pass before requesting review.
- Respond to review comments promptly.
- Discord: Join the community
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions and share ideas
By contributing, you agree that your contributions will be licensed under the MIT License.