Civdraft is a collaborative web application for managing and drafting leaders and maps in Civilization VI. The platform enables players to participate in organized draft sessions where they can select civilizations, leaders, and maps in real-time. It supports team-based gameplay with features like lobbies, chat functionality, timers, and draft tracking. The application is designed to facilitate fair and engaging multiplayer game preparation with admin capabilities for managing presets and bans.
Frontend:
Backend & Database:
Authentication:
Development & Tooling:
- Node.js (v18 or higher recommended)
- pnpm
- Clone the repository:
git clone git@github.com:leovalette/civdraft.git
cd civdraft- Install dependencies:
pnpm install- Set up environment variables (ask project maintainers for
.env.local):
# Create .env.local with necessary keys for Clerk and Convex. ASK FOR THEM TO THE CODEOWNER- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser to see the application.
pnpm build
pnpm startLint and format code:
pnpm lint
pnpm formatWe welcome contributions to Civdraft! Here's how you can help:
- Clone the repository on GitHub
- Create a feature branch for your changes:
git checkout -b feature/your-feature-name
- Make your changes and commit with clear, descriptive messages:
git commit -m "Add description of changes" - Ensure code quality:
- Run
pnpm formatto format your code
- Run
- Push to your fork and create a Pull Request against the main branch
- Describe your changes in the PR description, including:
- What problem does it solve?
- How does it work?
- Any breaking changes?
- Follow the existing code style and project structure
- Use TypeScript for type safety
- Write clear, descriptive commit messages
- Test your changes before submitting a PR
- Keep PRs focused on a single feature or bug fix
- Bug fixes and issue resolutions
- UI/UX improvements
- Performance optimizations
- Documentation improvements
- New features and game modes
- Testing
If you have questions about contributing, feel free to open an issue or discuss in the project's issue tracker.
License: See LICENSE file for details.