Contributing to Dalmatian
Thank you for your interest in contributing to Dalmatian! This guide will help you get started.
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:Terminal window git checkout -b your-feature-name# orgit 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
[!WARNING] This section is outdated and in need of attention. Please use this information with caution, and consider sending patches to update it.
The bot uses PostgreSQL for storing polls and reaction redirect configurations. The database runs in Docker for local development.
-
Start the PostgreSQL database using Docker:
Terminal window docker-compose up -d postgres -
Run database migrations to create the tables:
Terminal window bun run db:migrate -
(Optional) Open Drizzle Studio to inspect the database:
Terminal window bun run db:studio
The database will persist data in a Docker volume. To completely reset the database, run:
docker-compose down -vdocker-compose up -d postgresbun run db:migrateBefore 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:
- Visit the Dalmatian Development project
- If you cannot access the board, ask a maintainer to add you to the ScottyLabs organization.
Need Help?
If you have questions or need help:
- Open an issue on GitHub
- Check existing issues and pull requests for similar questions
Remember to follow conventional committing guidelines while contributing!