Skip to content

Add contributor docs and CI#6

Open
Zavianx wants to merge 1 commit into
iii-experimental:mainfrom
Zavianx:docs-ci-contributor-start
Open

Add contributor docs and CI#6
Zavianx wants to merge 1 commit into
iii-experimental:mainfrom
Zavianx:docs-ci-contributor-start

Conversation

@Zavianx
Copy link
Copy Markdown

@Zavianx Zavianx commented May 13, 2026

Summary

  • add a focused CONTRIBUTING guide for local setup, PR expectations, and good first changes
  • add a GitHub Actions CI workflow for fmt, clippy, and tests
  • document a quickstart path and common troubleshooting cases in the README

Validation

  • cargo fmt --all -- --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test

Ignored smoke tests were not run because they require a running iii engine, installed workers, and provider credentials.

Summary by CodeRabbit

  • Documentation

    • Added Quickstart guide for local setup and initial commands
    • Added Troubleshooting section with common issues and solutions
    • Added Contributing guidelines for developers
  • Chores

    • Established CI pipeline with automated formatting checks, linting, and test execution

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

📝 Walkthrough

Walkthrough

This PR establishes project infrastructure by introducing a GitHub Actions CI pipeline, contribution guidelines, and expanded README documentation. It automates code quality checks (formatting, linting, tests) and provides comprehensive guidance for local development, getting started, troubleshooting, and contributing to the iii-code CLI.

Changes

Project Setup and Contribution Infrastructure

Layer / File(s) Summary
GitHub Actions CI pipeline and development validation
.github/workflows/ci.yml, README.md (Development section)
GitHub Actions workflow enforces cargo fmt --check, cargo clippy --all-targets with warnings-as-errors, and cargo test on push to main and all pull requests. Development section in README documents the equivalent local validation commands developers should run before submitting changes.
Contribution guidelines
CONTRIBUTING.md
New documentation covering the project's contribution boundary (thin Rust CLI over installed iii binary and public worker stack), development setup commands, test expectations, and pull request content requirements.
README quickstart and troubleshooting
README.md (Quickstart and Troubleshooting sections)
Quickstart section provides step-by-step instructions for local setup including cloning, config creation, provider credential setup, harness worker installation, and running basic workflows. Troubleshooting section addresses common operational issues: worker status checks, shell filesystem config path concerns, harness SHA256 fallback behavior, and missing provider authentication resolution.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • rohitg00/iii-code#2: Both PRs update README.md with overlapping guidance around local setup/run (including sandbox-related troubleshooting/setup expectations), so the documentation changes are directly related.

Poem

A rabbit hops through CI gates,
With docs and guidelines—no debates,
Quickstart, troubleshoot, rules run clean,
The finest code-contrib machine! 🐰✨

🚥 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 accurately and concisely summarizes the main changes: adding contributor documentation (CONTRIBUTING.md) and setting up CI infrastructure (.github/workflows/ci.yml), which are the primary additions in this changeset.
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

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.

❤️ Share

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

🤖 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/workflows/ci.yml:
- Around line 3-16: Add a top-level permissions block to the workflow (at the
same level as on, env, jobs) to restrict the token to least privilege — e.g.,
add permissions: contents: read — so the job (jobs -> rust) only receives read
access; ensure no job-level overrides grant broader rights.
🪄 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: cb3f1275-d92b-4698-a599-1ef3d04961fd

📥 Commits

Reviewing files that changed from the base of the PR and between 8dbd4b1 and cbcd696.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • CONTRIBUTING.md
  • README.md

Comment thread .github/workflows/ci.yml
Comment on lines +3 to +16
on:
push:
branches:
- main
pull_request:

env:
CARGO_TERM_COLOR: always

jobs:
rust:
name: Rust
runs-on: ubuntu-latest

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 | 🟠 Major | ⚡ Quick win

Set explicit workflow token permissions (least privilege).

Add top-level permissions so this job only gets read access it needs; this reduces CI token blast radius if an action/step is compromised.

Suggested change
 name: CI
 
 on:
   push:
     branches:
       - main
   pull_request:
 
+permissions:
+  contents: read
+
 env:
   CARGO_TERM_COLOR: always
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
on:
push:
branches:
- main
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
rust:
name: Rust
runs-on: ubuntu-latest
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
jobs:
rust:
name: Rust
runs-on: ubuntu-latest
🤖 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 @.github/workflows/ci.yml around lines 3 - 16, Add a top-level permissions
block to the workflow (at the same level as on, env, jobs) to restrict the token
to least privilege — e.g., add permissions: contents: read — so the job (jobs ->
rust) only receives read access; ensure no job-level overrides grant broader
rights.

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