Thank you for your interest in contributing to Planneer! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
Before submitting a bug report:
- Check the existing issues to avoid duplicates
- Use the bug report template when creating a new issue
- Include as much detail as possible:
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
- Your environment (OS, browser, etc.)
We welcome feature suggestions! Please:
- Check if the feature has already been suggested
- Open a new issue with the "feature request" label
- Describe the feature and its use case clearly
- Explain why this would benefit other users
- Fork the repository and create your branch from
main - Follow the coding standards documented in
.github/copilot-instructions.md - Write tests for any new functionality
- Update documentation as needed
- Run tests before submitting:
npm run test:run(frontend) ormake test(backend) - Create a pull request with a clear description
Pull requests to main also run the container build workflow, and pushes to main publish the unified Docker image to GHCR.
# Clone and install
git clone https://github.com/jessevl/planneer.git
cd planneer
cd frontend && npm install && cd ..
# Start development servers
make frontend-dev # Terminal 1 → http://localhost:3000
make backend-dev # Terminal 2 → http://localhost:8090See the README for full setup instructions.
- Write clear, self-documenting code
- Follow existing patterns in the codebase
- Add comments for complex logic
- Keep functions focused and small
- Use explicit types for function parameters
- Avoid
anytypes - Use interfaces for component props
- Follow React best practices
- Follow standard Go conventions
- Handle errors explicitly
- Write idempotent migrations
- Add logging for important operations
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Keep the first line under 72 characters
- Reference issues when applicable
By contributing, you agree that your contributions will be licensed under the GNU Affero General Public License v3.0.
Feel free to open an issue for any questions about contributing.