Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions claude-code-rust/.cargo/audit.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[advisories]
ignore = [
# bincode unmaintained -- transitive dep via tui-markdown -> syntect v5.x
# Upstream fix planned for syntect v6.0.0 (no release date yet)
# Tracked: https://github.com/trishume/syntect/issues/606
"RUSTSEC-2025-0141",

# yaml-rust unmaintained -- transitive dep via tui-markdown -> syntect v5.x
# Upstream fix merged in syntect main (PR #608, Feb 2026), waiting on release
# Tracked: https://github.com/trishume/syntect/pull/608
"RUSTSEC-2024-0320",
]
12 changes: 12 additions & 0 deletions claude-code-rust/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
* text=auto

*.rs text eol=lf
*.toml text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
Cargo.lock text eol=lf

*.bat text eol=crlf
*.cmd text eol=crlf
18 changes: 18 additions & 0 deletions claude-code-rust/.github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Default owner for everything
* @srothgan

# ACP protocol layer
/src/acp/ @srothgan

# TUI / interface
/src/ui/ @srothgan

# Terminal management
/src/terminal/ @srothgan

# CI/CD configuration
/.github/ @srothgan

# Documentation
/*.md @srothgan
/docs/ @srothgan
102 changes: 102 additions & 0 deletions claude-code-rust/.github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Bug Report
description: Report a bug or unexpected behavior
title: "[Bug]: "
labels: ["type: bug", "status: triage"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug! Please fill out the sections below.

- type: textarea
id: description
attributes:
label: Description
description: A clear description of the bug
placeholder: What happened?
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Minimal steps to reproduce the behavior
placeholder: |
1. Run `claude-rs` with `--flag`
2. Type "..."
3. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened (include error messages, screenshots)
validations:
required: true

- type: input
id: version
attributes:
label: Version
description: Output of `claude-rs --version`
placeholder: "claude-rs 0.3.0"
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating System
options:
- Linux (x86_64)
- Linux (aarch64)
- macOS (Intel)
- macOS (Apple Silicon)
- Windows (x86_64)
- Windows (ARM64)
- Other
validations:
required: true

- type: input
id: rust-version
attributes:
label: Rust Version
description: Output of `rustc --version`
placeholder: "rustc 1.86.0 (a1b2c3d4 2025-03-01)"

- type: textarea
id: logs
attributes:
label: Relevant Log Output
description: Paste any relevant log output (run with `RUST_LOG=debug`)
render: shell

- type: textarea
id: implementation-notes
attributes:
label: Implementation Notes (optional)
description: Maintainer notes, suspected root cause, or technical pointers
placeholder: |
- Suspected module/path:
- Possible root cause:
- Constraints:

- type: checkboxes
id: terms
attributes:
label: Checklist
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
8 changes: 8 additions & 0 deletions claude-code-rust/.github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Questions & Discussion
url: https://github.com/srothgan/claude-code-rust/discussions
about: Use GitHub Discussions for questions, help, and general conversation
- name: Security Vulnerability
url: https://github.com/srothgan/claude-code-rust/security/advisories/new
about: Report security vulnerabilities privately via GitHub Security Advisories
56 changes: 56 additions & 0 deletions claude-code-rust/.github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Feature Request
description: Suggest a new feature or improvement
title: "[Feature]: "
labels: ["type: enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting an improvement! Please describe your idea.

- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this feature solve? Is it related to a frustration?
placeholder: "I'm always frustrated when..."
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Any alternative solutions or features you've considered

- type: textarea
id: implementation-notes
attributes:
label: Implementation Notes (optional)
description: Maintainer notes, technical direction, constraints, or rollout plan

- type: textarea
id: dependencies
attributes:
label: Dependencies / Blockers (optional)
description: Related issues, upstream blockers, or required sequencing
placeholder: |
- Blocked by #...
- Depends on #...
- Must ship after #...

- type: checkboxes
id: terms
attributes:
label: Checklist
options:
- label: I have searched existing issues and discussions to ensure this is not a duplicate
required: true
27 changes: 27 additions & 0 deletions claude-code-rust/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2
updates:
# Rust dependencies
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 10
labels:
- "type: dependencies"
commit-message:
prefix: "chore"
include: "scope"

# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
labels:
- "type: dependencies"
- "area: ci"
commit-message:
prefix: "ci"
26 changes: 26 additions & 0 deletions claude-code-rust/.github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Summary

<!-- What changed and why -->

Closes #

## Changes

-

## Checklist

- [ ] `cargo fmt --all -- --check` passes
- [ ] `cargo clippy --all-targets --all-features -- -D warnings` passes
- [ ] `cargo test --all-features` passes
- [ ] `cargo check --all-features` passes (MSRV 1.88.0)
- [ ] `cargo fetch --locked` passes (lockfile up to date)
- [ ] Tests added/updated for behavior changes (or N/A)
- [ ] Docs updated for user-facing/config/CLI changes (or N/A)
- [ ] Breaking changes are clearly documented (or N/A)
- [ ] UI/TUI changes include screenshot/recording (or N/A)
- [ ] Manual validation performed for changed flows (brief notes below)

## Validation Notes

<!-- Briefly list manual checks run and their outcomes -->
15 changes: 15 additions & 0 deletions claude-code-rust/.github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Security Audit

on:
schedule:
- cron: '0 0 * * 1'
workflow_dispatch:

jobs:
audit:
name: Cargo Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/audit@v1
name: Audit Rust dependencies
70 changes: 70 additions & 0 deletions claude-code-rust/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-Dwarnings"

jobs:
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --all-features

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Run Clippy
run: cargo clippy --all-targets --all-features -- -D warnings

fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --all -- --check

msrv:
name: MSRV Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.88.0"
- uses: Swatinem/rust-cache@v2
- name: Check MSRV
run: cargo check --all-features

lockfile:
name: Lockfile
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Check lockfile
run: cargo fetch --locked
27 changes: 27 additions & 0 deletions claude-code-rust/.github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Commit Lint

on:
pull_request:
types: [opened, edited, synchronize, reopened]

jobs:
lint:
name: Lint PR Title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: |
feat
fix
docs
style
refactor
perf
test
chore
ci
revert
requireScope: false
Loading