Contributing to Dalmatian
Thank you for your interest in contributing to Dalmatian! This guide will help you get started.
If this is your first time, follow SETUP.md first to create your Discord bot and run it locally.
How to Contribute
- Fork the repository or create a new branch if you have write access
- Create a new branch from
mainwith a descriptive name:git checkout -b your-feature-name # or git checkout -b bug-description - Make your changes following the code style and conventions
- Test your changes locally by running the bot
- Commit using conventional commits (see below)
- Push to your fork or branch
- Open a Pull Request with a clear description of your changes
Conventional Commits
This project follows Conventional Commits.
Examples:
feat: add course search by instructorfix: resolve dining hall location formatting issuedocs: update README installation stepsrefactor: simplify embed pagination logicchore: update dependencies to latest versionsstyle: format code with biome
Database Setup
The bot uses PostgreSQL for storing polls and reaction redirect configurations. You don’t need to install or start it yourself. devenv up runs a local PostgreSQL server, and the bot applies any pending migrations when it starts.
If you change the schema in src/db/, generate a new migration with:
deno run db:generate
To inspect the database, run deno run db:studio inside devenv shell while devenv up is running.
To completely reset the database, stop devenv up, delete .devenv/state/postgres, and start devenv up again.
Before Submitting
Before you commit and open a pull request, make sure to:
- Run
deno run lintand fix any errors/warnings - Run
deno run formatto format your code - Run
deno run testto ensure all tests pass - Test your changes on your Discord bot by running
devenv up - Ensure your commits follow the conventional commit format
- Update documentation if you added/changed features
Pull Request Guidelines
- Keep PRs focused - One feature or fix per pull request
- Write clear descriptions - Explain what changed and why
- Reference related issues - Use “Fixes #123” or “Closes #456” if applicable
- Be responsive - Address review feedback promptly
Project Priorities & Planning
To understand current priorities, roadmap, and ongoing work, please check the issues board.
Need Help?
If you have questions or need help:
- Open an issue
- Check existing issues and pull requests for similar questions
Remember to follow conventional committing guidelines while contributing!