docs: add verified contribution guide for humans and AI agents - #101
docs: add verified contribution guide for humans and AI agents#101FredianoCampione wants to merge 10 commits into
Conversation
Add current-repository contribution rules for human and AI contributors. Refs Open-Source-Bazaar#90
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthrough本次变更新增 Changes贡献与 Agent 指南
Estimated code review effort: 2 (简单) | ~10 分钟 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Document upstream synchronization, Corepack setup, CI limitations, reward metadata, and tracked environment-file safety.
Replace stale commands, versions, routes, and validation assumptions with current executable configuration.
|
@coderabbitai full review |
✅ Action performedFull review finished. |
|
@coderabbitai full review |
✅ Action performedFull review finished. |
|
@coderabbitai configuration |
|
Configuration used: Path: .coderabbit.yaml CodeRabbit configuration# Source: Repository YAML (base)
language: zh-CN
# Source: Repository YAML (base)
tone_instructions: |
使用专业中文语气。重点关注:1) 统一用 React Bootstrap;2) MobX
observer/observable/action/computed 是否正确;3) 全部 UI 文本用 t();4) GitHub
API 认证/错误处理与 Base64 统一用 web-utility;5) Pages Router 的数据获取正确;
6) TypeScript 强类型;7) 性能(next/image、避免多余渲染);8) 结构清晰。
# Source: defaults
early_access: false
# Source: defaults
enable_free_tier: true
# Source: defaults
inheritance: false
reviews:
# Source: defaults
profile: chill
# Source: defaults
request_changes_workflow: false
# Source: Repository YAML (base)
high_level_summary: true
# Source: defaults
high_level_summary_instructions: ''
# Source: Repository YAML (base)
high_level_summary_placeholder: 这是 Open Source Bazaar 项目的 PR 变更摘要
# Source: defaults
high_level_summary_in_walkthrough: false
# Source: defaults
auto_title_placeholder: '`@coderabbitai`'
# Source: defaults
auto_title_instructions: ''
# Source: defaults
review_status: true
# Source: defaults
review_details: false
# Source: defaults
review_progress: true
# Source: defaults
commit_status: true
# Source: defaults
fail_commit_status: false
# Source: defaults
collapse_walkthrough: true
# Source: defaults
changed_files_summary: true
# Source: defaults
sequence_diagrams: true
# Source: defaults
estimate_code_review_effort: true
# Source: defaults
assess_linked_issues: true
# Source: defaults
related_issues: true
# Source: defaults
related_prs: true
# Source: defaults
suggested_labels: true
# Source: defaults
labeling_instructions: []
# Source: defaults
mutually_exclusive_groups: {}
# Source: defaults
auto_apply_labels: false
# Source: defaults
suggested_reviewers: true
# Source: defaults
auto_assign_reviewers: false
# Source: defaults
suggested_reviewers_instructions: []
# Source: defaults
in_progress_fortune: true
# Source: defaults
poem: false
# Source: defaults
enable_prompt_for_ai_agents: true
# Source: Repository YAML (base)
path_filters:
- src/**
- pages/**
- components/**
- models/**
- '!**/*.md'
- '!**/*.{bin,csv}'
- '!node_modules/**'
- '!.next/**'
- '!public/**/*.{png,jpg,jpeg,gif,webp,svg,ico,mp4,mp3,woff,woff2,ttf,otf}'
- '!out/**'
- '!next-env.d.ts'
- '!package-lock.json'
- '!pnpm-lock.yaml'
- '!yarn.lock'
- '!**/__snapshots__/**'
# Source: defaults
path_instructions: []
# Source: defaults
abort_on_close: true
# Source: defaults
disable_cache: false
slop_detection:
# Source: defaults
enabled: true
auto_review:
# Source: defaults
enabled: true
# Source: defaults
description_keyword: ''
# Source: defaults
auto_incremental_review: true
# Source: defaults
auto_pause_after_reviewed_commits: 5
# Source: defaults
ignore_title_keywords: []
# Source: defaults
labels: []
# Source: defaults
drafts: false
# Source: defaults
base_branches: []
# Source: defaults
ignore_usernames: []
finishing_touches:
docstrings:
# Source: defaults
enabled: true
unit_tests:
# Source: defaults
enabled: true
simplify:
# Source: defaults
enabled: false
autofix:
# Source: defaults
enabled: true
fix_ci:
# Source: defaults
enabled: true
resolve_merge_conflict:
# Source: defaults
enabled: true
# Source: defaults
custom: []
pre_merge_checks:
# Source: defaults
override_requested_reviewers_only: false
docstrings:
# Source: defaults
mode: warning
# Source: defaults
threshold: 80
title:
# Source: defaults
mode: warning
# Source: defaults
requirements: ''
description:
# Source: defaults
mode: warning
issue_assessment:
# Source: defaults
mode: warning
# Source: defaults
custom_checks: []
# Source: defaults
post_merge_actions: []
tools:
ast-grep:
# Source: defaults
rule_dirs: []
# Source: defaults
util_dirs: []
# Source: defaults
essential_rules: true
# Source: defaults
packages: []
shellcheck:
# Source: defaults
enabled: true
ruff:
# Source: defaults
enabled: true
markdownlint:
# Source: defaults
enabled: true
github-checks:
# Source: defaults
enabled: true
# Source: defaults
timeout_ms: 90000
languagetool:
# Source: defaults
enabled: true
# Source: defaults
enabled_rules: []
# Source: defaults
disabled_rules: []
# Source: defaults
enabled_categories: []
# Source: defaults
disabled_categories: []
# Source: defaults
enabled_only: false
# Source: defaults
level: default
biome:
# Source: defaults
enabled: true
hadolint:
# Source: defaults
enabled: true
swiftlint:
# Source: defaults
enabled: true
phpstan:
# Source: defaults
enabled: true
# Source: defaults
level: default
phpmd:
# Source: defaults
enabled: true
phpcs:
# Source: defaults
enabled: true
golangci-lint:
# Source: defaults
enabled: true
yamllint:
# Source: defaults
enabled: true
gitleaks:
# Source: defaults
enabled: true
trufflehog:
# Source: defaults
enabled: true
checkov:
# Source: defaults
enabled: true
tflint:
# Source: defaults
enabled: true
detekt:
# Source: defaults
enabled: true
eslint:
# Source: defaults
enabled: true
e18e:
# Source: defaults
enabled: true
flake8:
# Source: defaults
enabled: true
fbinfer:
# Source: defaults
enabled: true
# Source: defaults
enable_java: false
fortitudeLint:
# Source: defaults
enabled: true
rubocop:
# Source: defaults
enabled: true
buf:
# Source: defaults
enabled: true
regal:
# Source: defaults
enabled: true
actionlint:
# Source: defaults
enabled: true
zizmor:
# Source: defaults
enabled: true
pmd:
# Source: defaults
enabled: true
clang:
# Source: defaults
enabled: true
cppcheck:
# Source: defaults
enabled: true
opengrep:
# Source: defaults
enabled: true
semgrep:
# Source: defaults
enabled: true
circleci:
# Source: defaults
enabled: true
clippy:
# Source: defaults
enabled: true
sqlfluff:
# Source: defaults
enabled: true
squawk:
# Source: defaults
enabled: true
trivy:
# Source: defaults
enabled: true
prismaLint:
# Source: defaults
enabled: true
pylint:
# Source: defaults
enabled: true
oxc:
# Source: defaults
enabled: true
shopifyThemeCheck:
# Source: defaults
enabled: true
luacheck:
# Source: defaults
enabled: true
brakeman:
# Source: defaults
enabled: true
dotenvLint:
# Source: defaults
enabled: true
htmlhint:
# Source: defaults
enabled: true
stylelint:
# Source: defaults
enabled: true
checkmake:
# Source: defaults
enabled: true
osvScanner:
# Source: defaults
enabled: true
oasdiff:
# Source: defaults
enabled: true
reactDoctor:
# Source: defaults
enabled: true
presidio:
# Source: defaults
enabled: true
blinter:
# Source: defaults
enabled: true
smartyLint:
# Source: defaults
enabled: true
emberTemplateLint:
# Source: defaults
enabled: true
skillspector:
# Source: defaults
enabled: true
psscriptanalyzer:
# Source: defaults
enabled: true
chat:
# Source: defaults
art: true
# Source: defaults
allow_non_org_members: true
# Source: defaults
auto_reply: true
integrations:
jira:
# Source: defaults
usage: auto
linear:
# Source: defaults
usage: auto
knowledge_base:
# Source: defaults
opt_out: false
web_search:
# Source: defaults
enabled: true
code_guidelines:
# Source: defaults
enabled: true
# Source: defaults
filePatterns: []
learnings:
# Source: defaults
scope: auto
# Source: defaults
approval_delay: 0
issues:
# Source: defaults
scope: auto
jira:
# Source: defaults
usage: auto
# Source: defaults
project_keys: []
linear:
# Source: defaults
usage: auto
# Source: defaults
team_keys: []
pull_requests:
# Source: defaults
scope: auto
mcp:
# Source: defaults
usage: auto
# Source: defaults
disabled_servers: []
# Source: defaults
automatic_repository_linking: false
# Source: defaults
linked_repositories: []
code_generation:
docstrings:
# Source: defaults
path_instructions: []
unit_tests:
# Source: defaults
path_instructions: []
issue_enrichment:
auto_enrich:
# Source: defaults
enabled: false
planning:
# Source: defaults
enabled: true
auto_planning:
# Source: defaults
enabled: true
# Source: defaults
labels: []
labeling:
# Source: defaults
labeling_instructions: []
# Source: defaults
auto_apply_labels: false
|
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 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 @.github/copilot-instructions.md:
- Line 53: Update the upstream remote setup at
.github/copilot-instructions.md:53 and CONTRIBUTING.md:72 to first read and
validate the existing upstream URL, adding the remote only when it is missing;
make both documented workflows use this same idempotent sequence.
- Around line 70-71: 统一修正文档中的验证命令占位符,避免尖括号在 Shell 代码块中被解析为重定向;在
.github/copilot-instructions.md 第70-71行和第110-111行、AGENTS.md
第45-46行、CONTRIBUTING.md 第151-152行,将 Prettier 和 ESLint
示例替换为语法有效且可按变更范围替换的示例路径,或将占位符移到代码块外,确保命令可直接执行。
In `@AGENTS.md`:
- Line 81: 统一 PR 文档中的 issue 关闭规则:在 AGENTS.md 第 81 行删除无条件使用 Closes #<issue> 的要求;在
CONTRIBUTING.md 第 173-179 行将 Closes `#90` 改为仅在该 PR 应关闭对应 issue 时使用的条件性示例或占位符。
In `@CONTRIBUTING.md`:
- Around line 142-144: Update the Markdown validation command in CONTRIBUTING.md
to include .github/copilot-instructions.md alongside CONTRIBUTING.md and
AGENTS.md, ensuring Prettier checks all three modified files.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: b5f94d79-954f-48cb-a5a4-493b0620fbc0
📒 Files selected for processing (3)
.github/copilot-instructions.mdAGENTS.mdCONTRIBUTING.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 81-85: Remove the `git push origin main` command from the workflow
before creating the feature branch. Keep fetching and fast-forwarding local
`main`, then create `feat/short-description` directly from the updated
`upstream/main` without modifying the remote `origin/main`.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 0339f91e-4cdc-482b-ba87-c496dfb2650c
📒 Files selected for processing (3)
.github/copilot-instructions.mdAGENTS.mdCONTRIBUTING.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/copilot-instructions.md
Summary
Add repository-specific contribution guidance for humans and AI coding agents, and replace the stale GitHub Copilot instructions with rules derived from the current executable configuration.
Changes
CONTRIBUTING.mdwith the real repository layout, coding rules, validation workflow, security boundaries, and bounty processAGENTS.mdfor deterministic agent pre-flight and handoff.github/copilot-instructions.mdfrom obsolete Next.js 15 assumptions to the current Next.js 16 / React 19 / TypeScript 5 repositoryupstream/mainpnpm lint,babel.config.js, and/policyguidancepnpm test, external-fork CI limitations, tracked.envsafety, and the difference between reward metadata and actual paymentValidation
corepack pnpm install --frozen-lockfilecorepack pnpm exec prettier --check CONTRIBUTING.md AGENTS.md .github/copilot-instructions.mdcorepack pnpm exec tsc --noEmitcorepack pnpm build— 93 static pages generatedgit diff --checkScope / Risks
pnpm testwas intentionally not used because the current script runsgit add .; the relevant formatter and TypeScript checks were run directly.Repository checklist
Closes #90
本 PR 新增与当前仓库配置一致的
CONTRIBUTING.md和AGENTS.md,并同步修正自动提供给 GitHub Copilot 的旧说明。更新内容覆盖真实版本、Corepack、上游同步、有效命令、CI 限制、环境文件安全和奖励元数据边界。Summary by CodeRabbit