Skip to content

[Feature Request] Add CONTRIBUTING.md file for contributor guidelines #91

@ManishPanda-ta

Description

@ManishPanda-ta

Problem Description

The web-llm-chat repository currently lacks a CONTRIBUTING.md file, which makes it difficult for new contributors to understand:

  • How to set up the development environment
  • Code style and conventions to follow
  • Testing requirements
  • Pull request submission process
  • Community guidelines and expectations

This creates friction for potential contributors and may lead to:

  • ❌ Inconsistent code contributions
  • ❌ PRs that don't follow project standards
  • ❌ Increased review time for maintainers
  • ❌ Lower contribution quality
  • ❌ Missed opportunities for community growth

Proposed Solution

Create a comprehensive CONTRIBUTING.md file in the repository root with the following sections:

1. Getting Started

## Getting Started

### Prerequisites
- Node.js >= 18.x
- npm or yarn
- Git

### Development Setup
1. Fork the repository
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/web-llm-chat.git`
3. Install dependencies: `npm install`
4. Start dev server: `npm run dev`
5. Visit http://localhost:3000

2. Development Workflow

  • Branch naming conventions (e.g., feature/, fix/, docs/)
  • Commit message format (conventional commits)
  • Testing requirements before submitting PR
  • Code formatting (ESLint, Prettier)

3. Code Style Guidelines

  • TypeScript best practices
  • Component structure for React
  • File organization patterns
  • Naming conventions

4. Pull Request Process

## Submitting a Pull Request

1. Create a feature branch from `main`
2. Make your changes with clear, descriptive commits
3. Add tests if applicable
4. Ensure all tests pass: `npm test`
5. Update documentation if needed
6. Submit PR with detailed description
7. Link related issues using "Fixes #123" or "Relates to #123"
8. Wait for review and address feedback

5. Testing Guidelines

  • How to run tests locally
  • Writing unit tests
  • Integration test requirements
  • Test coverage expectations

6. Documentation

  • When to update README.md
  • JSDoc/TSDoc requirements
  • Examples and code samples

7. Community Guidelines

  • Code of Conduct reference
  • Communication channels (Discord, GitHub Discussions)
  • How to report bugs vs. feature requests
  • Security vulnerability reporting

8. Issue Labels and Workflow

  • Explanation of labels: bug, enhancement, good first issue, etc.
  • Claiming issues before working on them
  • Expected response times

Benefits

Adding a CONTRIBUTING.md file will:

Lower the barrier to entry for new contributors
Improve code quality through clear standards
Reduce maintainer workload by setting expectations upfront
Build a stronger community with clear communication
Speed up PR reviews with consistent submissions
Attract more contributors by being welcoming and organized
Align with OSS best practices (standard for most major projects)

Examples from Similar Projects

Many successful open-source projects have comprehensive CONTRIBUTING.md files:

Implementation Checklist

  • Create CONTRIBUTING.md in repository root
  • Include all sections outlined above
  • Add link to CONTRIBUTING.md in README.md
  • Update PR template to reference contribution guidelines
  • Announce new guidelines in Discord/community channels

Additional Context

This would be especially helpful given:

  1. Recent influx of issues like [Bug] chat.weblm.ai not loading LLMs #85 requiring community help
  2. Growing interest in the project
  3. Need for standardized contribution process
  4. Active development and feature additions

References


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions