Skip to content

docs: Improve CONTRIBUTING.md with comprehensive contributor guide#41655

Open
xingzihai wants to merge 1 commit intoappsmithorg:releasefrom
xingzihai:release
Open

docs: Improve CONTRIBUTING.md with comprehensive contributor guide#41655
xingzihai wants to merge 1 commit intoappsmithorg:releasefrom
xingzihai:release

Conversation

@xingzihai
Copy link
Copy Markdown

@xingzihai xingzihai commented Mar 25, 2026

Summary

This PR significantly improves the CONTRIBUTING.md file to provide a more comprehensive and helpful guide for new contributors to Appsmith.

Changes Made

Added

  • Table of Contents - Easy navigation through all sections
  • Project Architecture Overview - Visual directory structure and tech stack table (React/TypeScript frontend, Java/Spring backend)
  • Quick Start Checklist - Step-by-step checklist for new contributors
  • Finding Issues Section - Categorized links to Good First Issues, Inviting Contributions, and Help Wanted issues
  • Development Setup Quick Guide - Quick setup instructions for frontend-only and full-stack development
  • Pull Request Process - Clear guidelines for branch naming, commit messages, and PR submission
  • Community Support Section - Organized support channels with their use cases

Improved

  • Better organization - Content is now structured with clear sections
  • More actionable - Checklists and tables make it easy to follow
  • More comprehensive - Covers all aspects of contributing, not just code
  • Better navigation - Links to all relevant contribution guides

Why This Matters

The original CONTRIBUTING.md was brief and served mainly as a pointer to other resources. New contributors often struggle to understand:

  1. Where to start
  2. What the project structure looks like
  3. What technologies they need to know
  4. How to find appropriate issues
  5. What the PR process looks like

This improved version addresses all these concerns directly in the CONTRIBUTING.md file, making the contribution process more accessible and reducing friction for new contributors.

Testing

  • Markdown renders correctly
  • All links are valid
  • Content is accurate based on project structure

Related Issues

N/A - This is a documentation improvement initiated during open-source contribution exploration.

Screenshots

Before: Brief 60-line document
After: Comprehensive 250+ line guide with tables, checklists, and clear sections

Summary by CodeRabbit

  • Documentation
    • Expanded and reorganized CONTRIBUTING.md with a complete table of contents and new sections for better navigation.
    • Added comprehensive development setup instructions, including tooling prerequisites and environment configuration steps.
    • Included branch naming conventions, commit message rules, and pre-submission checklists for pull requests.
    • Enhanced contribution guidelines with detailed tips and resources for various contribution types.

- Add table of contents for easy navigation
- Add project architecture overview with tech stack
- Add quick start checklist for new contributors
- Add finding issues section with categorized links
- Add development setup quick guide
- Add pull request process guidelines
- Add community support channels
- Improve overall structure and organization
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 25, 2026

Walkthrough

The CONTRIBUTING.md file is restructured with expanded guidance, adding table of contents, new sections for project architecture and development setup, detailed pull request process instructions including branch naming and commit conventions, and enhanced contribution guidance across bug reports, features, and documentation.

Changes

Cohort / File(s) Summary
Documentation Enhancement
CONTRIBUTING.md
Comprehensive restructuring with new sections: Project Architecture, Quick Start Checklist, Development Setup (including prerequisite versions and Docker setup), Pull Request Process (branch naming, commit rules, pre-submission checklist), and Community Support. Contribution guidance rewritten and extended with tips and issue-finding categories.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

📖 Our guidelines bloom, a garden anew,
From seedling advice to pathways clear through—
Branch names and commits in order divine,
Contributing flows now beautifully designed! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the changes made, motivation, and testing, but is missing the required issue reference and Fixes link from the template. Add 'Fixes #<issue_number>' or create an issue first per template requirements. The PR also lacks the required DevRel/Marketing communication checkbox.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: expanding and improving the CONTRIBUTING.md documentation into a comprehensive contributor guide.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 29-42: The fenced code block in CONTRIBUTING.md (the directory
tree starting with "appsmith/") is missing a language identifier; update the
opening fence to include a plaintext identifier (e.g., replace "```" with
"```text" or "```plaintext") so the directory tree renders correctly, ensuring
the block that contains "appsmith/ ├── app/ │ ├── client/" etc. is modified
accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a6271e1c-75bd-4c0c-8beb-4062deca582e

📥 Commits

Reviewing files that changed from the base of the PR and between 089d24f and 730dac7.

📒 Files selected for processing (1)
  • CONTRIBUTING.md

Comment on lines +29 to +42
```
appsmith/
├── app/
│ ├── client/ # Frontend (React + TypeScript)
│ │ ├── src/ # React components, widgets, utilities
│ │ ├── cypress/ # Cypress integration tests
│ │ └── packages/ # Shared packages including RTS (Real-Time Server)
│ └── server/ # Backend (Java + Spring + WebFlux)
│ ├── appsmith-server/ # Main server application
│ └── appsmith-plugins/ # Database/API connectors
├── deploy/ # Docker & Kubernetes deployment configs
├── contributions/ # Contribution guides and documentation
└── static/ # Static assets for documentation
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language identifier to fenced code block.

The code block lacks a language specification. Add text or plaintext for proper rendering.

📝 Proposed fix
-```
+```text
 appsmith/
 ├── app/
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```
appsmith/
├── app/
│ ├── client/ # Frontend (React + TypeScript)
│ │ ├── src/ # React components, widgets, utilities
│ │ ├── cypress/ # Cypress integration tests
│ │ └── packages/ # Shared packages including RTS (Real-Time Server)
│ └── server/ # Backend (Java + Spring + WebFlux)
│ ├── appsmith-server/ # Main server application
│ └── appsmith-plugins/ # Database/API connectors
├── deploy/ # Docker & Kubernetes deployment configs
├── contributions/ # Contribution guides and documentation
└── static/ # Static assets for documentation
```
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 29-29: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 29 - 42, The fenced code block in
CONTRIBUTING.md (the directory tree starting with "appsmith/") is missing a
language identifier; update the opening fence to include a plaintext identifier
(e.g., replace "```" with "```text" or "```plaintext") so the directory tree
renders correctly, ensuring the block that contains "appsmith/ ├── app/ │ ├──
client/" etc. is modified accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant