Thank you for your interest in contributing to Dalmatian! This guide will help you get started.
- 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
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
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:
docker-compose up -d postgres
-
Run database migrations to create the tables:
bun run db:migrate
-
(Optional) Open Drizzle Studio to inspect the database:
bun run db:studio
The database will persist data in a Docker volume. To completely reset the database, run:
docker-compose down -v
docker-compose up -d postgres
bun run db:migrateBefore 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
- 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
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.
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!