Skip to content

docs: add comprehensive contributing guide#307

Merged
webdevcody merged 2 commits intoAutoMaker-Org:mainfrom
illia1f:feature/add-contributing-md
Dec 28, 2025
Merged

docs: add comprehensive contributing guide#307
webdevcody merged 2 commits intoAutoMaker-Org:mainfrom
illia1f:feature/add-contributing-md

Conversation

@illia1f
Copy link
Contributor

@illia1f illia1f commented Dec 28, 2025

Summary

This PR adds a comprehensive CONTRIBUTING.md guide to help new and existing contributors understand how to effectively contribute to Automaker.

The guide covers:

  • Getting Started - Prerequisites, fork/clone workflow, development setup, and project structure overview
  • Pull Request Process - Branch naming conventions, commit message format, PR submission checklist, and review process
  • Code Style Guidelines - Prettier/ESLint configuration, clean code principles, TypeScript best practices, and import conventions
  • Testing Requirements - How to run E2E (Playwright) and unit tests (Vitest), writing test guidelines, CI/CD pipeline details, and coverage expectations
  • Issue Reporting - Templates and guidelines for bug reports, feature requests, and security issues

Why This Matters

A well-structured contributing guide:

  • Reduces friction for new contributors
  • Establishes clear expectations for code quality and process
  • Provides a single source of truth for development workflows
  • Improves consistency across contributions
  • Helps maintain project quality standards

Summary by CodeRabbit

  • Documentation

    • Added comprehensive contributing guidelines covering setup, branching, commit standards, PR workflow, code style, testing, CI/CD, templates, and checklists.
    • Updated README to reference the new contributing guide.
  • Chores

    • Adjusted development tooling configuration for linting commands.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 28, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

This PR adds a comprehensive CONTRIBUTING.md and updates README.md to reference it, and modifies the apps/ui/package.json lint script to invoke ESLint via npx.

Changes

Cohort / File(s) Summary
Contributing guide & README updates
CONTRIBUTING.md, README.md
Added CONTRIBUTING.md with detailed contributor guidelines (prerequisites, setup, project structure, branch naming, Conventional Commits, PR/workflow, code style, testing, CI/CD, issue templates/checklists). README.md updated with two links to the new contributing guide.
Package script change
apps/ui/package.json
Updated lint script from direct "eslint" to "npx eslint" to change how the ESLint binary is resolved at runtime.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

Documentation, Ready-To-Merge

Poem

🐰 A tiny rabbit hops in with cheer,
I stitched a guide for devs far and near,
Branches and commits now sing in tune,
Tests and PRs hum beneath the moon,
Hop on—let's build something bright and clear! 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: adding a comprehensive contributing guide (CONTRIBUTING.md). It is concise, clear, and uses the conventional 'docs:' prefix appropriately.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @illia1f, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's onboarding and development experience by introducing a thorough contributing guide. This guide aims to standardize practices, clarify expectations, and reduce friction for anyone looking to contribute to Automaker, covering everything from initial setup to code review and issue reporting. The addition of this guide is a crucial step towards fostering a more organized and efficient open-source community.

Highlights

  • New Contributing Guide: A comprehensive CONTRIBUTING.md file has been added to the repository, providing detailed instructions for new and existing contributors.
  • Contribution Workflow: The new guide outlines the entire contribution workflow, including prerequisites, repository setup, branch naming conventions, commit message format (Conventional Commits), and a step-by-step pull request submission process.
  • Development Standards: Detailed sections on code style guidelines (Prettier/ESLint), testing requirements (Playwright for E2E, Vitest for unit tests), CI/CD pipeline checks, and issue reporting templates are now available to ensure consistent quality.
  • Documentation Updates: The README.md has been updated to include a direct link to the new CONTRIBUTING.md for easy access.
  • Linting Script Improvement: The lint script in apps/ui/package.json was updated to use npx eslint, ensuring the correct local eslint executable is used.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is a great addition! The CONTRIBUTING.md is very comprehensive and will be a huge help for new contributors. I've made a few suggestions to improve clarity, fix some inconsistencies with the current project structure, and correct a few minor issues. Overall, excellent work on documenting the contribution process.

## Table of Contents

- [Contributing to Automaker](#contributing-to-automaker)
- [Table of Contents](#table-of-contents)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This entry in the Table of Contents links to the Table of Contents section itself, which is redundant. It can be safely removed to improve clarity.

Copy link
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: 2

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

646-654: Add a SECURITY.md file at repository root to improve discoverability of security reporting procedures.

The security contact email (automakerapp@gmail.com) appears only in CONTRIBUTING.md and is not discoverable in README.md or a dedicated security policy file. GitHub and most projects recommend a SECURITY.md file at the repository root to clearly communicate responsible disclosure procedures, making it easier for security researchers to report vulnerabilities responsibly.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 61881d9 and 496ace8.

📒 Files selected for processing (3)
  • CONTRIBUTING.md
  • README.md
  • apps/ui/package.json
🧰 Additional context used
🪛 GitHub Actions: Format Check
CONTRIBUTING.md

[error] 1-1: Prettier formatting check failed for CONTRIBUTING.md. Run 'prettier --write CONTRIBUTING.md' or 'prettier --write .' to fix code style issues.

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: e2e
🔇 Additional comments (3)
README.md (1)

534-534: LGTM!

Adding the contributing guide reference to the README's "Learn More" section is a good discoverability improvement. The link path and format are correct.

apps/ui/package.json (1)

30-30: Ensure npx eslint pattern is consistent across the workspace and doesn't break existing workflows.

The lint script now uses npx eslint instead of a direct eslint call. While both resolve to the locally installed version (9.39.2), verify this invocation pattern matches how linting is configured in the root package.json and other workspace packages. Check that CI pipelines and local development workflows are not affected by this change.

CONTRIBUTING.md (1)

391-395: Code Style Guidelines section is appropriately lean.

The section correctly defers to automated tooling (Prettier/ESLint) for enforcement rather than documenting all rules. The referenced commands (npm run format and npm run lint) exist in the root package.json and are properly configured.

Copy link
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: 2

♻️ Duplicate comments (4)
CONTRIBUTING.md (4)

12-12: Remove redundant Table of Contents entry.

Line 12 creates a self-referential link to the Table of Contents section itself, which is unnecessary since readers are already viewing the TOC. Remove this line to improve clarity.

- [Contributing to Automaker](#contributing-to-automaker)
-  - [Table of Contents](#table-of-contents)
   - [Getting Started](#getting-started)

71-71: Add hyperlink to Claude Code CLI reference.

Line 71 mentions "Claude Code CLI" but omits the hyperlink provided in README.md for consistency and ease of access. Update to include the link:

-- **Claude Code CLI** or **Anthropic API Key** (for AI agent functionality)
+- **[Claude Code CLI](https://code.claude.com/docs/en/overview)** or **Anthropic API Key** (for AI agent functionality)

433-433: Correct E2E test location in documentation.

Line 433 states E2E tests are in the e2e/ directory, but per the project's Playwright config, they are actually located at apps/ui/tests/. Update for accuracy:

-- **Location:** `e2e/` directory
+- **Location:** `apps/ui/tests/` directory

392-392: Generalize hardcoded maintainer reference.

Line 392 mentions @webdevcody by name. To make the guide resilient to team changes, use a generic reference like "a project maintainer" or "the maintainer team" instead of hardcoding a specific username:

-- Comment asking for status update (mention @webdevcody if needed)
+- Comment asking for status update (mention a project maintainer if needed)
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 496ace8 and 0ee9313.

📒 Files selected for processing (1)
  • CONTRIBUTING.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
CONTRIBUTING.md

151-151: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


185-185: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


218-218: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: e2e
🔇 Additional comments (1)
CONTRIBUTING.md (1)

1-677: The CONTRIBUTING.md file already passes Prettier formatting checks with no issues. No action is required.


Automaker is organized as an npm workspace monorepo:

```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Specify language identifiers in fenced code blocks.

Lines 151, 185, and 218 contain fenced code blocks without language specifiers. Add the appropriate language (e.g., bash, text) to enable syntax highlighting and comply with markdown standards:

  • Line 151: Tree structure block → use ```text
  • Line 185: Branch naming pattern → use ```text
  • Line 218: Commit message format → use ```text

Also applies to: 185-185, 218-218

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

151-151: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In CONTRIBUTING.md around lines 151, 185 and 218, several fenced code blocks are
missing language identifiers; update each opening fence to include the
appropriate language specifier (use "text" for the tree structure at line 151,
"text" for the branch naming pattern at line 185, and "text" for the commit
message format at line 218) so the blocks read as fenced code with language
identifiers to enable syntax highlighting and meet markdown standards.


---

Thank you for contributing to Automaker!
Copy link
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 newline at end of file.

The file should end with a single newline character for proper file formatting and tool compatibility. Add a blank line after "Thank you for contributing to Automaker!" on line 677.

🤖 Prompt for AI Agents
In CONTRIBUTING.md around line 677, the file currently ends with "Thank you for
contributing to Automaker!" but lacks a trailing newline; add a single blank
line (one newline character) after that line so the file ends with exactly one
newline character to satisfy POSIX/tooling expectations.

@webdevcody webdevcody merged commit 876d383 into AutoMaker-Org:main Dec 28, 2025
10 checks passed
@illia1f illia1f deleted the feature/add-contributing-md branch December 28, 2025 21:17
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.

2 participants