Skip to content

Latest commit

 

History

275 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code-review-server

code-review-server is a service which runs highly configurable workflows to load code reviews which you are interested into easily managed customizable interfaces.

It also supports doing local code reviews via your preferred client, allowing you to customize your experience such as doing them in your editor, using plugins, defining hotkeys, whatever you'd like.

It is designed to be client-agnostic, communicating via JSON-RPC. It ships with a web client (bun/react) and an emacs client.

web client review list Bun Client

Emacs client review list Emacs Client

Documentation

Full documentation is available at https://code-review-server.readthedocs.io/en/latest/

Quickstart

  1. Clone the repository

Repo

  1. Configure environment

    export CRS_GITHUB_TOKEN="Github Token"  # Required.
    export GEMINI_API_KEY="Gemini Token"  # Only for plugins, the experimental LLM features, and AI features on the gemini provider.

    That token is the only required setup. With no config file, the server runs a built-in default configuration — a Waiting On Me section and a Review Requested section, found through GitHub search and identified by whoever the token belongs to. No repo list, no username.

    To customize, start from those defaults and edit (see Configuration):

    codereviewserver -print-default-config > ~/.config/codereviewserver.toml

    A fuller ~/.config/codereviewserver.toml, once you know which repos you care about:

    Repos = ["owner/repo"]
    GithubUsername = "your-username"
    AutoWorktree = true
    
    [[Workflows]]
    WorkflowType = "SyncReviewRequestsWorkflow"
    Name = "My PRs"
    Filters = ["FilterMyPRs"]
    SectionTitle = "PRs to Review"
    
    [[Workflows]]
    WorkflowType = "SyncReviewRequestsWorkflow"
    Name = "PRs to Review"
    Filters = ["FilterNotDraft", "FilterMyReviewRequested"]
    SectionTitle = "PRs to Review"
    
    [[Plugins]]
    Name = "Summarize Diff"
    Command = "summarize_diff"
    IncludeDiff = true
    IncludeHeaders = true
    IncludeComments = true
  2. Install Server

    Alternatively, use Docker Compose to run steps 3 and 4 containerized with docker compose up.

    go install ./...

    This installs the server binary and included plugins to your $GOPATH/bin.

  3. Run a Client

    See Clients for detailed instructions on running the Web or Emacs clients.

    Web Client (Brief):

    cd bun_client
    bun install && bun run build
    bun start

    Emacs Client (Brief): Evaluate client.el/crs-client.el and run (crs-start-server).

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages