Welcome Contributors!
Thank you for your interest in contributing to DevDaily! This guide will help you submit high-quality contributions.New to open source? Check out First Timers Only for guidance.
Getting Started
Fork and Clone
1
Fork the repository
Visit github.com/hempun10/devdaily and click Fork
2
Clone your fork
3
Install dependencies
4
Verify setup
If all commands complete successfully, you’re ready to contribute!
Development Workflow
1. Create a Branch
Create a feature branch frommain:
2. Make Your Changes
Write Code
Implement your feature or fix
Add Tests
Write tests for new functionality
Update Docs
Document user-facing changes
Follow Standards
Adhere to coding standards
3. Run Quality Checks
Before committing, ensure all checks pass:4. Commit Your Changes
Follow the commit convention:5. Push and Create PR
main branch.
Coding Standards
TypeScript Style
Use strict mode
Use strict mode
Strict mode is enabled - no
any types unless absolutely necessary.Add JSDoc comments
Add JSDoc comments
All public functions should have JSDoc comments.
Prefer async/await
Prefer async/await
Use async/await over raw promises for better readability.
Use readonly when appropriate
Use readonly when appropriate
Mark properties that shouldn’t be mutated as
readonly.Code Formatting
Formatting is enforced by ESLint and Prettier:File Organization
1
One export per file (when possible)
Makes imports clear and code easier to navigate
2
Co-locate tests in tests/ directory
Match source file names:
src/core/notifications.ts → tests/notifications.test.ts3
Keep commands thin
Commands should orchestrate, not contain business logic. Put logic in
src/core/Commit Convention
DevDaily uses Conventional Commits, enforced by commitlint.Format
Commit Types
Examples
Commit Rules
Pull Request Process
PR Title Format
Use the same conventional commit format:PR Checklist
1
Fill out the PR template
Describe what changed and why
2
Keep PRs focused
One feature or fix per PR - smaller PRs are easier to review
3
Add tests
New features and bug fixes must include tests
4
Update documentation
If your change affects user-facing behavior, update README or help text
5
Ensure CI passes
All checks must pass: typecheck, lint, format, tests, and build
6
Respond to feedback
Address review comments promptly
We aim to review PRs within a few days. Feel free to ping if you haven’t heard back.
Testing Requirements
Writing Tests
Every new feature or bug fix should include tests:- Unit Tests
- Integration Tests
Running Tests
Tests must not require network access, git repositories, or API keys. Use mocks for external dependencies.
Code of Conduct
This project follows the Contributor Covenant Code of Conduct. Key points:Be Respectful
Treat everyone with respect and kindness
Be Inclusive
Welcome diverse perspectives and experiences
Be Professional
Focus on constructive feedback and collaboration
Report Issues
Report unacceptable behavior by opening an issue
Reporting Issues
Bug Reports
When filing a bug report, include:1
Version information
2
Operating system
e.g., macOS 14.0, Ubuntu 22.04, Windows 11
3
Steps to reproduce
What commands you ran and what happened
4
Expected vs actual behavior
What you expected to see vs what actually happened
5
Debug output
Run the failing command with
--debug and include the outputFeature Requests
For feature requests:- Check existing issues to avoid duplicates
- Describe the problem your feature would solve
- Suggest a possible approach if you have one
- Label with
enhancement
Need Help?
Issues
Browse existing issues
README
Read the documentation
Doctor
Run
devdaily doctor for diagnosticsRecognition
All contributors are recognized in the project:- Contributors listed in GitHub contributors page
- Significant contributions mentioned in release notes
- First-time contributors welcomed in PR comments
Thank you for contributing to DevDaily! Your contributions help make developer workflows better for everyone.
Next Steps
Setup Guide
Set up your development environment
Architecture
Understand the project structure
Testing
Learn about testing approach