Skip to main content

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 from main:
Use descriptive branch names that indicate the type of change:
  • feat/add-notion-integration
  • fix/clipboard-copy-error
  • docs/update-installation-guide

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:
Pull requests with failing checks will not be merged.

4. Commit Your Changes

Follow the commit convention:

5. Push and Create PR

Then open a pull request on GitHub against the main branch.

Coding Standards

TypeScript Style

Strict mode is enabled - no any types unless absolutely necessary.
All public functions should have JSDoc comments.
Use async/await over raw promises for better readability.
Mark properties that shouldn’t be mutated as readonly.

Code Formatting

Formatting is enforced by ESLint and Prettier:
Run npm run lint:fix and npm run format to auto-fix formatting issues.

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.tstests/notifications.test.ts
3

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

  • Use lowercase for the description
  • Don’t end with a period
  • Use imperative mood (“add feature” not “added feature”)
  • Keep the first line under 72 characters

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:

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 output

Feature Requests

For feature requests:
  1. Check existing issues to avoid duplicates
  2. Describe the problem your feature would solve
  3. Suggest a possible approach if you have one
  4. Label with enhancement

Need Help?

Issues

Browse existing issues

README

Read the documentation

Doctor

Run devdaily doctor for diagnostics

Recognition

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