Skip to content

docs: add CONTRIBUTING.md#56

Open
27Bslash6 wants to merge 1 commit into
mainfrom
docs/contributing
Open

docs: add CONTRIBUTING.md#56
27Bslash6 wants to merge 1 commit into
mainfrom
docs/contributing

Conversation

@27Bslash6
Copy link
Copy Markdown
Contributor

@27Bslash6 27Bslash6 commented May 17, 2026

Summary

Adds the standard OSS-onboarding doc that's been on the public-readiness shortlist. Targets the friction points an external contributor actually hits — dev setup, hook installation, branch/PR flow, conventional-commit conventions (release-please reads them), fork-PR CI behavior, and bug-vs-security reporting split.

Sections

  • Quick setup — pnpm install/build/test in three lines
  • Pre-commit hooksprek install --install-hooks, Python pre-commit fallback noted
  • PR flow — open issue first for non-trivial work, branch off main (protected), small reviewable commits, CI must pass
  • Commit messages — Conventional Commits table mapping types to release-please behavior
  • Test commands — unit, single-package, integration (Docker note), coverage
  • Fork-PR CI — explains the `ubuntu-latest` fallback so external contributors don't trip on self-hosted runner names
  • `main` stability note — mirrors the README's version-history caveat
  • Bug vs security — separate paths
  • Code style — short list of things the hooks don't catch
  • License — standard contributor-MIT-agreement clause

Intentionally not in scope

  • `CODE_OF_CONDUCT.md` — separate decision (one-paragraph Contributor Covenant link is the usual route)
  • Long architecture explanations — those belong in the README / package docs
  • DCO sign-off — MIT plus the closing clause is enough

Test plan

  • Renders in GitHub preview
  • Conventional-commits table matches `release-please-config.json` types
  • Internal links resolve once repo goes public

Summary by CodeRabbit

  • Documentation
    • Added comprehensive contribution guidelines covering project setup, testing procedures, commit message conventions, code style expectations, and issue/PR submission processes.

Review Change Stack

Standard OSS-onboarding doc: dev setup, prek hooks, branch+PR flow, conventional-commit conventions for release-please, fork-PR CI fallback, test commands, bug-vs-security split, code style. No CODE_OF_CONDUCT yet — separate decision.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

📝 Walkthrough

Walkthrough

This PR introduces CONTRIBUTING.md, a comprehensive contributor guide for the cachekit-ts project. It covers project setup, commit message conventions, testing and CI workflows, issue and pull request procedures, bug versus security reporting, code style guidelines, and licensing information.

Changes

Contribution Guidelines

Layer / File(s) Summary
Contribution guidelines documentation
CONTRIBUTING.md
Complete contributor guide including quick setup commands, pre-commit hooks, Conventional Commit conventions (with release-triggering and breaking-change formats), test-running instructions (unit, filtered package, integration with Docker, coverage reporting), CI behavior notes, bug vs security reporting procedures, code style expectations, and licensing.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A guide for helpers, clear and kind,
Where setup steps and tests align,
Commits that follow the right way,
Security and bugs both have their say!
Welcome, friend, come write and play! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding a CONTRIBUTING.md documentation file to the project.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/contributing

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

Copy link
Copy Markdown

@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

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

76-79: 💤 Low value

Consider clarifying "Per-PR CI" phrasing.

The phrase "Per-PR CI only builds the native crate on linux-x64" could be slightly clearer. Consider: "CI on pull requests only builds the native crate on linux-x64" to make it more explicit that this refers to the PR workflow specifically.

✏️ Suggested rewording
-`main` is the integration branch and is **not guaranteed stable between releases**. Per-PR CI only builds the native crate on linux-x64 to keep PR turnaround fast; the full 5-platform matrix (linux x64/arm64, macOS x86/arm64, Windows) runs on `push: main` and on release tags.
+`main` is the integration branch and is **not guaranteed stable between releases**. CI on pull requests only builds the native crate on linux-x64 to keep PR turnaround fast; the full 5-platform matrix (linux x64/arm64, macOS x86/arm64, Windows) runs on `push: main` and on release tags.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` around lines 76 - 79, The sentence under the "What `main`
looks like" section is unclear: replace "Per-PR CI only builds the native crate
on linux-x64" with a clearer phrase such as "CI on pull requests only builds the
native crate on linux-x64" to explicitly reference the PR workflow; update the
paragraph containing that sentence to use the new wording so readers understand
it refers specifically to the pull-request CI run.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 50-54: The fenced code block in CONTRIBUTING.md that shows the
breaking change for createCache.minimal → createCache.fast lacks a language
specifier; update the triple-backtick fence for that block to include a language
(e.g., "text") so it renders and lints properly (the block containing "feat:
rename createCache.minimal to createCache.fast" and "BREAKING CHANGE:
createCache.minimal is now createCache.fast.").

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 76-79: The sentence under the "What `main` looks like" section is
unclear: replace "Per-PR CI only builds the native crate on linux-x64" with a
clearer phrase such as "CI on pull requests only builds the native crate on
linux-x64" to explicitly reference the PR workflow; update the paragraph
containing that sentence to use the new wording so readers understand it refers
specifically to the pull-request CI run.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 96a04e6e-f2dd-4dce-ba56-b41ab80bca33

📥 Commits

Reviewing files that changed from the base of the PR and between ba8518c and 70a0053.

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

Comment thread CONTRIBUTING.md
Comment on lines +50 to +54
```
feat: rename createCache.minimal to createCache.fast

BREAKING CHANGE: createCache.minimal is now createCache.fast.
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add language specifier to fenced code block.

The code block showing the breaking change format should include a language specifier for proper rendering and linting compliance.

📝 Proposed fix
-```
+```text
 feat: rename createCache.minimal to createCache.fast
 
 BREAKING CHANGE: createCache.minimal is now createCache.fast.
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>

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

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @CONTRIBUTING.md around lines 50 - 54, The fenced code block in
CONTRIBUTING.md that shows the breaking change for createCache.minimal →
createCache.fast lacks a language specifier; update the triple-backtick fence
for that block to include a language (e.g., "text") so it renders and lints
properly (the block containing "feat: rename createCache.minimal to
createCache.fast" and "BREAKING CHANGE: createCache.minimal is now
createCache.fast.").


</details>

<!-- fingerprinting:phantom:triton:puma -->

<!-- This is an auto-generated comment by CodeRabbit -->

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