Contributing to daed
November 29, 2025 · View on GitHub
First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them.
Table of Contents
- Code of Conduct
- Reporting Bugs
- Suggesting Features
- Development Setup
- Pull Request Process
- Commit Guidelines
- Style Guide
Code of Conduct
This project and everyone participating in it is governed by our commitment to providing a welcoming and inclusive environment. Please be respectful and constructive in all interactions.
Reporting Bugs
Before Submitting a Bug Report
- Check the existing issues to see if the problem has already been reported
- Make sure you are using the latest version
- Collect relevant information (OS, browser, Node.js version, etc.)
How to Submit a Good Bug Report
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Describe the behavior you observed and what you expected
- Include screenshots or recordings if applicable
- Include any relevant logs or error messages
Suggesting Features
Before Submitting a Feature Request
- Check if the feature has already been requested or implemented
- Consider whether your idea fits the scope of the project
How to Submit a Good Feature Request
- Use a clear and descriptive title
- Provide a detailed description of the proposed feature
- Explain why this feature would be useful
- Include mockups or examples if possible
Development Setup
Prerequisites
Getting Started
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/<your-username>/daed.git cd daed -
Add upstream remote:
git remote add upstream https://github.com/daeuniverse/daed.git -
Install dependencies:
pnpm install -
Start the development server:
pnpm dev
Keeping Your Fork Updated
git fetch upstream
git checkout main
git merge upstream/main
Pull Request Process
-
Create a branch from
main:git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes and ensure:
- Code follows the project's style guide
- All tests pass (
pnpm test) - Linting passes (
pnpm lint)
-
Commit your changes following the commit guidelines
-
Push to your fork:
git push origin feature/your-feature-name -
Open a Pull Request against
main -
Wait for review — maintainers will review your PR and may request changes
Tips for a Successful PR
- Keep PRs focused and atomic — one feature or fix per PR
- Write a clear description of what your PR does
- Link any related issues
- Add screenshots for UI changes
- Be responsive to feedback
Commit Guidelines
We follow Conventional Commits specification.
Commit Message Format
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
| Type | Description |
|---|---|
feat | A new feature |
fix | A bug fix |
docs | Documentation only changes |
style | Changes that do not affect the meaning of the code |
refactor | A code change that neither fixes a bug nor adds a feature |
perf | A code change that improves performance |
test | Adding missing tests or correcting existing tests |
chore | Changes to the build process or auxiliary tools |
Examples
feat(ui): add dark mode toggle button
fix(api): handle null response from server
docs: update README with new badges
chore(deps): update dependencies
Style Guide
Code Style
- We use ESLint with @antfu/eslint-config
- Run
pnpm lintto check and auto-fix issues - Use TypeScript for all new code
- Prefer functional components with hooks
File Naming
- React components:
PascalCase.tsx(e.g.,UserProfile.tsx) - Utilities/hooks:
camelCase.ts(e.g.,useAuth.ts) - Test files:
*.test.tsor*.test.tsx
Project Structure
src/
├── components/ # Reusable UI components
│ └── ui/ # Base UI components (shadcn/ui)
├── hooks/ # Custom React hooks
├── pages/ # Page components
├── schemas/ # GraphQL schemas and types
├── contexts/ # React context providers
└── lib/ # Utility functions
Thank you for contributing! 🎉