Commit graph

299 commits

Author SHA1 Message Date
kite
45ee52f5b8 feat(cli): add --max-tools flag to control max tool call rounds per file 2026-06-01 20:04:24 +08:00
kite
290ff33a9c docs(readme): update integration examples 2026-06-01 18:31:40 +08:00
Lei Zhang
128787b627
Add CI/CD integration section and examples to documentation (#11)
* docs: add CI/CD integration section and examples

- Add CI/CD Integration section to README.md and README.zh-CN.md
- Add GitHub Actions workflow example (examples/github_actions/)
- Add GitLab CI pipeline example (examples/gitlab_ci/)
- Add examples README with overview of integration options

* feat(examples): enhance GitHub Actions demo with comment trigger and improved error handling

- Add issue_comment event trigger with /open-code-review and @open-code-review keywords
- Add PR context resolution for comment-triggered events via GitHub API
- Improve ref handling to support both PR events and comment events
- Add individual comment fallback with retry when batch review fails
- Add posting statistics (success/failed counts) to summary comment
- Update README with comment trigger flow and customization guide

* docs(examples): add --background flag usage guide for GitHub Actions and GitLab CI

Explain how to pass PR/MR title as background context to help OCR
provide more relevant and context-aware review comments.

* feat(examples): simplify PR trigger and add skip-existing-review guide for GitLab CI

- Reduce GitHub Actions PR trigger to 'opened' only (avoid redundant
  reviews on synchronize/reopened events)
- Add GitLab CI documentation for checking existing OCR comments before
  running review to save LLM tokens
2026-06-01 16:44:24 +08:00
kite
ed2302c164 chore: remove unused NPM-README.md and related script references 2026-05-31 19:11:41 +08:00
kite
f363702a15 feat(agent): integrate session recording and token tracking for re-location task
Re-location LLM calls were invisible in session history and their token
  consumption was unaccounted for. Refactor the code_comment handling path
  to record re-location requests/responses into session JSONL, accumulate
  token usage into global counters, and display them in the viewer.

  Also fixes: async context cancellation risk (WithoutCancel), duplicate
  telemetry recording, missing timeout enforcement, missing {existing_code}
  placeholder in the re-location prompt, and renames Parse to ParseComments
  for clarity.
2026-05-30 23:25:12 +08:00
kite
4fe9f0ef84 docs(README): update 2026-05-30 19:17:53 +08:00
kite
103a213d77 docs(README): rewrite README with product positioning, design philosophy, and agent integration guide 2026-05-30 19:04:45 +08:00
Lei Zhang
d0a24c4de3
Add issue and PR templates with bilingual contributing guide (#9)
* docs: add GitHub issue and PR templates

Add structured issue templates for bug reports, feature requests, and docs reports with YAML forms. Include a pull request template with checklist for contribution quality.

* docs: add bilingual contributing guide (EN & zh-CN)

Provide detailed contribution guidelines covering development setup, coding standards, commit conventions, PR workflow, and community conduct in both English and Chinese.
2026-05-30 14:22:50 +08:00
Lei Zhang
2d7697a7fe
Feat: add support for plugins and skills installation (#5)
* feat: add open-code-review skill for agent integration

Add skills/open-code-review/SKILL.md that teaches coding agents
how to invoke ocr for code review, classify issues by priority,
and optionally apply fixes.

* feat: add Claude Code plugin for open-code-review

Add .claude-plugin/marketplace.json and plugins/open-code-review/
with plugin configuration and review command, enabling installation
as a Claude Code slash command plugin.

* docs: add agent integration section to README (EN/ZH)

Add 'Integration into Coding Agents' section covering three methods:
skill installation, Claude Code plugin, and direct command file copy.
Bilingual update for both README.md and README.zh-CN.md.

* docs: update manual setup curl URLs to new plugin path
2026-05-29 10:19:25 +08:00
kite
e6bac87344 fix(pages): Update title capitalization for consistency 2026-05-29 08:48:43 +08:00
kite
8b87a4534d fix: Update favicon path in index.html 2026-05-29 00:05:12 +08:00
kite
5f4e5a2b40 feat(llm): auto-append /chat/completions to OpenAI-compatible base URLs
Allow users to configure either a base URL (e.g. https://api.example.com/v1)
or a full endpoint URL for OpenAI-compatible services. The client now
normalizes the URL on initialization, matching the existing behavior of
the Anthropic client.
2026-05-29 00:04:30 +08:00
kite
9a6a87b397 feat(i18n): add highlights section translations 2026-05-28 16:26:51 +08:00
kite
a91fec38ef fix(bin): Update OCR update interval default value 2026-05-28 15:00:52 +08:00
kite
95b77e2b48 fix: Update project branding and improve documentation links 2026-05-28 14:47:53 +08:00
kite
2305d4b923 fix(README): Remove branch parameter from GitHub Actions badge link 2026-05-28 14:05:08 +08:00
kite
58b6df3fef fix(README): Update GitHub Actions workflow links and improve language navigation formatting 2026-05-28 14:02:29 +08:00
kite
0e1b6438de docs(README): Update logo size and remove bold title tag 2026-05-28 13:57:17 +08:00
kite
3407739c75 docs(README): Update README files with new layout and badges 2026-05-28 13:43:13 +08:00
kite
f003004fae docs: add preview option documentation for ocr review command 2026-05-26 23:13:09 +08:00
kite
f611301372 chore: add claude code /tag slash command for creating annotated git tags 2026-05-26 23:09:05 +08:00
kite
e71fa597d8 feat(review): add --preview flag to show files before running LLM review 2026-05-26 23:06:47 +08:00
kite
834a4e7e3f feat(rules): add ocr rules check command to preview effective rule for a file path 2026-05-26 22:11:39 +08:00
kite
971ab0a626 feat(rules): extract inline rule content into separate markdown files
Move verbose rule definitions from system_rules.json into individual
  markdown files under rule_docs/, loaded at runtime via embed.FS.
  This improves maintainability by separating rule content from config
  structure and merges duplicate mapper/dao XML patterns into one entry.
2026-05-26 21:39:32 +08:00
kite
ce73f388d1 feat(resolver): strip model name suffix and prioritize config file over env vars 2026-05-26 17:58:03 +08:00
kite
5053e6dca8 refactor(config): rename config directory from .open-code-review to .opencodereview
Unify the config folder name to `.opencodereview` across all runtime paths,
  tests, docs, and i18n strings. Also make defaultConfigPath() return an error
  instead of silently falling back to a current-directory file when $HOME is
  unresolvable.
2026-05-25 23:07:36 +08:00
kite
bbf673d4d1 chore(workflow): Add environment variables for npm publish step 2026-05-25 22:52:21 +08:00
kite
db5bc4b8a9 feat(rules): add include/exclude file filter support in rule.json
Allow users to configure include/exclude glob patterns in
  .open-code-review/rule.json (global or project-level) to control
  which files are reviewed. Exclude has highest priority, include
  penetrates default path exclusions but not the extension allowlist.
  Only one layer takes effect following --rule > project > global priority.
2026-05-25 20:19:02 +08:00
kite
d44fd31989 feat(rules): unify rule resolution behind Resolver interface with four-layer priority
Consolidate review rules into a composedResolver that supports four layers
  (--rule flag > project .open-code-review/rule.json > global ~/rule.json >
  embedded system default), each with first-match-wins fall-through semantics.
2026-05-25 17:45:53 +08:00
kite
58defe6c03 docs(readme): adds new installation instructions via GitHub releases 2026-05-23 09:32:00 +08:00
kite
994db24ca5 docs(README): Add language switcher link to README 2026-05-23 09:08:08 +08:00
kite
29564a891b refactor(diff): Simplify hunk resolution logic with helper functions
This change refactors the `resolveFromHunk` function by introducing several helper functions (`extractSideLines`, `matchConsecutive`) to improve readability and maintainability. The new implementation attempts to match against both new and old sides of the diff hunk, making comment resolution more robust.
2026-05-23 00:36:51 +08:00
kite
35424d18bf feat(config): add path exclusion patterns for file filtering
This change introduces a new configuration mechanism for excluding specific file paths during code reviews. It adds support for glob patterns including recursive directory matching (**), single-segment wildcards (*), and brace expansion ({a,b}), allowing more flexible control over which files should be reviewed or skipped based on their location within the repository.
2026-05-23 00:11:35 +08:00
kite
8ceceaf3e7 build: Remove version from binary names and update related scripts 2026-05-22 23:11:37 +08:00
kite
2ca532521b fix(ocrConfig): Update URL pattern for OCR config 2026-05-22 22:40:48 +08:00
kite
63d6108db0 fix(agent): Update file counting logic for accurate review metrics
This change refines how file counts are tracked during the agent's review process. It now correctly excludes deleted files when calculating the number of files being reviewed, ensuring telemetry and error reporting reflect actual processing rather than total diffs. This improves accuracy in monitoring and debugging scenarios.
2026-05-22 22:28:52 +08:00
kite
fe058451cc chore(scripts): Update version check 2026-05-22 22:06:07 +08:00
kite
d345ef9707 feat: add llm.extra_body config support to disable thinking mode 2026-05-22 21:28:32 +08:00
kite
44120e28b6 fix: fix some bug 2026-05-22 21:27:39 +08:00
kite
f054bb799e fix: propagate LLM API errors instead of showing misleading "Looks good to me"
When all subtask LLM calls fail (e.g. invalid API key), dispatchSubtasks
now returns an error instead of empty comments with nil error. Partial
failures are recorded as subtask_error warnings so output functions can
distinguish "no issues found" from "review failed".
2026-05-22 15:28:26 +08:00
kite
6c213909d4 docs(README): Add Open Benchmark image link 2026-05-22 10:16:18 +08:00
kite
3940e1af3f fix(ci): remove registry-url to allow npm OIDC authentication
setup-node's registry-url generates .npmrc with a token placeholder
that overrides npm's OIDC flow, causing 404 on publish.
2026-05-21 21:50:33 +08:00
kite
80d5121d88 ci: inject version from git tag before npm publish
Use git tag as the single source of truth for version number.
Eliminates the need to keep package.json version in sync manually.
2026-05-21 21:20:48 +08:00
kite
bb3426d0c5 fix(docs): Update npm package name in installation instructions
The commit updates the npm package name from `open-code-review` to `@alibaba-group/open-code-review` in both QuickStartSection and DocsPage components to reflect the correct package identifier.
2026-05-21 19:38:40 +08:00
kite
365c9ee9a4 ci: switch npm publish to OIDC trusted publishing
Remove NPM_TOKEN secret dependency and use GitHub Actions OIDC
id-token for npm authentication with provenance attestation.
2026-05-21 19:28:53 +08:00
kite
ce9511eed6 feat: add environment-driven publish scripts for single-branch workflow
Add generic publish pipeline that supports both internal and external
publishing via environment variables, without leaking any internal URLs
or tool references into the public repository.
2026-05-21 17:33:46 +08:00
kite
9a4c966b6d chore(release): rename npm package to @alibaba-group/open-code-review 2026-05-21 14:53:39 +08:00
kite
4051c12ad1 chore(release): bump version to v1.0.0 and fix asset naming consistency
- Update package.json version to 1.0.0 for first public release
- Fix urlPattern to include version in binary filename, matching Makefile output
- Fix Makefile sha256sum target to output sha256sum.txt without version suffix
2026-05-21 10:57:13 +08:00
kite
7c8b8562aa feat: init 2026-05-20 22:03:52 +08:00