contributing-guide

安装量: 43
排名: #16880

安装

npx skills add https://github.com/dengineproblem/agents-monorepo --skill contributing-guide

Contributing Guide Expert Эксперт по документации для open source contributors. Структура CONTRIBUTING.md

Contributing to Project Name Thank you for your interest in contributing! 🎉

Table of Contents

[ Code of Conduct ](

code-of-conduct

)

[ Getting Started ](

getting-started

)

[ Development Setup ](

development-setup

)

[ How to Contribute ](

how-to-contribute

)

[ Pull Request Process ](

pull-request-process

)

[ Style Guide ](

style-guide

)

[ Community ](

community

) Quick Start Section

Quick Start 1. Fork the repository 2. Clone your fork: ```bash git clone https://github.com/YOUR_USERNAME/project-name.git cd project-name Install dependencies: npm install Create a branch: git checkout -b feature/your-feature-name Make changes and test: npm test Submit a PR!

Development Environment

```markdown

Development Setup

Prerequisites

  • Node.js 18+ (download)
  • npm 8+ or yarn 1.22+
  • Git 2.28+
  • Docker (optional, for integration tests)

Installation

```bash

Clone repository

git clone https://github.com/org/project.git cd project

Install dependencies

npm install

Copy environment file

cp .env.example .env

Run setup script

npm run setup

Verify installation

npm test Available Scripts Command Description npm run dev Start development server npm test Run all tests npm run test:watch Run tests in watch mode npm run lint Run ESLint npm run lint:fix Fix linting issues npm run typecheck Run TypeScript checks npm run build Build for production

Git Workflow

```markdown

Git Workflow

Branch Naming Convention

/ Types: - feature/ - New features - fix/ - Bug fixes - docs/ - Documentation only - refactor/ - Code refactoring - test/ - Adding tests - chore/ - Maintenance tasks Examples: - feature/user-authentication - fix/login-redirect-loop - docs/api-examples

Commit Messages

We follow Conventional Commits: (): [optional body] [optional footer(s)] Types: - feat: New feature - fix: Bug fix - docs: Documentation - style: Formatting (no code change) - refactor: Code refactoring - test: Adding tests - chore: Maintenance Examples: feat(auth): add OAuth2 support fix(api): handle null response from server docs(readme): update installation steps Pull Request Template

Pull Request Guidelines

Before Submitting

[ ] I have read the Contributing Guide - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review - [ ] I have added tests for my changes - [ ] All new and existing tests pass - [ ] I have updated documentation if needed - [ ] My commits follow conventional commit format

PR Template ```markdown

Description

Type of Change

[ ] Bug fix (non-breaking change)

[ ] New feature (non-breaking change)

[ ] Breaking change

[ ] Documentation update

How Has This Been Tested?

Screenshots (if applicable)

Checklist

[ ] Tests pass

[ ] Lint passes

[ ] Documentation updated

Issue Templates

Bug Report

```markdown

name: Bug Report about: Report a bug to help us improve title: '[BUG] ' labels: bug assignees: ''


Bug Description

Steps to Reproduce

  1. Go to '...'
  2. Click on '...'
  3. See error

Expected Behavior

Actual Behavior

Environment

  • OS: [e.g., macOS 14.0]
  • Node version: [e.g., 18.17.0]
  • Project version: [e.g., 1.2.3]

Screenshots

Additional Context

Feature Request

name : Feature Request about : Suggest a new feature title : '[FEATURE] ' labels : enhancement assignees : ''


Problem Statement

Proposed Solution

Alternatives Considered

Additional Context

Code Style Guide

Style Guide

General Principles

Write self-documenting code

Prefer explicit over implicit

Keep functions small and focused

DRY (Don't Repeat Yourself)

TypeScript/JavaScript ```typescript // ✅ Good function calculateTotalPrice(items: CartItem[]): number { return items.reduce((sum, item) => sum + item.price * item.quantity, 0); } // ❌ Bad function calc(i: any[]): any { let t = 0; for (let x of i) t += x.p * x.q; return t; } Naming Conventions Type Convention Example Variables camelCase userName Functions camelCase getUserById Classes PascalCase UserService Constants UPPER_SNAKE MAX_RETRIES Files kebab-case user-service.ts Interfaces PascalCase + I prefix IUserService File Structure src/ ├── components/ # UI components ├── hooks/ # Custom React hooks ├── services/ # Business logic ├── utils/ # Helper functions ├── types/ # TypeScript types └── tests/ # Test files

Code Review Process

```markdown

Code Review

Review Checklist

Functionality: - [ ] Code works as intended - [ ] Edge cases handled - [ ] Error handling adequate Code Quality: - [ ] Readable and maintainable - [ ] No unnecessary complexity - [ ] Follows project conventions Testing: - [ ] Adequate test coverage - [ ] Tests are meaningful - [ ] Edge cases tested Security: - [ ] No hardcoded secrets - [ ] Input validation present - [ ] No SQL injection risks

Response Times

  • First response: within 48 hours
  • Follow-up reviews: within 24 hours
  • Merge after approval: within 24 hours

Approval Requirements

  • 1 maintainer approval required
  • All CI checks must pass
  • No unresolved conversations Pre-commit Hooks // package.json { "husky" : { "hooks" : { "pre-commit" : "lint-staged" , "commit-msg" : "commitlint -E HUSKY_GIT_PARAMS" } } , "lint-staged" : { ".{ts,tsx}" : [ "eslint --fix" , "prettier --write" ] , ".{json,md}" : [ "prettier --write" ] } } Recognition Program

Recognition

Contributors All contributors are added to our CONTRIBUTORS.md file.

Badges | Badge | Criteria | |


|

| | 🥇 First Contribution | Merged first PR | | 🔥 Frequent Contributor | 10+ merged PRs | | 📚 Documentation Hero | 5+ docs PRs | | 🐛 Bug Hunter | 5+ bug fixes | | ⭐ Core Contributor | Significant impact |

Rewards

Stickers and swag for active contributors

Shoutouts in release notes

Conference ticket opportunities

LinkedIn recommendations Community Guidelines

Community

Communication Channels

**
Discord
**
:
[
Join our server
](
https://discord.gg/xxx
)
-
**
GitHub Discussions
**

For questions and ideas

** Twitter ** : @project

Response Time Expectations

Issues: 48 hours

PRs: 72 hours

Questions: 24-48 hours

Getting Help 1. Check existing issues and discussions 2. Read the documentation 3. Ask in Discord #help channel 4. Create a GitHub Discussion

Code of Conduct We follow the Contributor Covenant . Be respectful, inclusive, and constructive. Лучшие практики Progressive disclosure — от простого к сложному Clear examples — реальные примеры кода Up-to-date — обновляйте при изменениях Welcoming tone — дружелюбный язык Multiple entry points — для разных типов contributions Automated checks — CI для валидации PR

返回排行榜