Contributing to Vibetuner¶
Thanks for your interest in Vibetuner! We appreciate you taking the time to explore this project.
About This Project¶
Vibetuner was born to meet the needs of All Tuner Labs when spawning new projects. It embodies our core beliefs:
- Simplicity: Minimal boilerplate, clear conventions
- Speed of Iteration: Fast development cycles, hot reload, minimal friction
- Modern Technology Stack: Latest stable versions, async-first architecture
- Good Integration with Coding Assistants: Well-documented, predictable patterns
About Contributions¶
While we welcome feedback and are happy to see community interest, please note:
- We may not accept all pull requests - The project serves specific internal needs and design goals
- Response times may vary - This is one of many projects we maintain
- Breaking changes may occur - We prioritize our internal requirements
- No guarantees on feature requests - We'll consider them, but can't commit to implementing everything
That said, we do appreciate good contributions that align with our core beliefs (simplicity, speed, modern stack, assistant-friendly) and will do our best to review them when time allows.
Ways to Contribute¶
Reporting Issues¶
If you encounter bugs or have suggestions:
- Check existing issues first to avoid duplicates
- Provide clear reproduction steps - We can't fix what we can't reproduce
- Include relevant details: OS, Python/Node versions, error messages, etc.
- Be patient - We'll respond when we can
Pull Requests¶
If you'd like to submit code:
- Discuss first for significant changes - Open an issue before investing time
- Follow existing patterns - Match the code style and architecture
- Keep it focused - Small, targeted PRs are easier to review
- Test your changes - Make sure everything still works
- No expectations - We may decline PRs that don't align with our goals
Documentation¶
Documentation improvements are always welcome and generally easier to accept than code changes.
Development Setup¶
# Clone the repository
git clone https://github.com/alltuner/vibetuner
cd vibetuner
# Set up Python package
cd vibetuner-py
uv sync
# Set up JavaScript package
cd ../vibetuner-js
bun install
# Test the scaffold command
uv run --directory ../vibetuner-py vibetuner scaffold new /tmp/test-project
For detailed development workflows, see the Development Workflow guide.
Code Style¶
- Python: Follow existing style, use Ruff for formatting
- JavaScript: Follow existing style
- Commits: Clear, concise messages describing the "why"
Testing¶
Before submitting:
# Format Python code
cd vibetuner-py
ruff format .
# Check for issues
ruff check .
# Test scaffold command
uv run vibetuner scaffold new /tmp/test-project --defaults
cd /tmp/test-project
just dev # Should start without errors
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.
Questions?¶
Open an issue for questions or clarifications. We'll do our best to respond when we can.
Final Note¶
We built Vibetuner to solve our own problems, and we're sharing it in case it helps others. We'll maintain it as our needs evolve, and we'll consider community input when it makes sense. But this remains primarily an internal tool that happens to be open source. Thanks for understanding!