Sitelet https://github.com/runcycles/.github/pull/1
Skip to content

Add CONTRIBUTING.md with repo guidance and test instructions - #1

Merged
amavashev merged 4 commits into
mainfrom
claude/create-contributing-guide-3t9m5
Mar 14, 2026
Merged

amavashev merged 4 commits into
mainfrom
claude/create-contributing-guide-3t9m5

Conversation

@amavashev

Copy link
Copy Markdown
Contributor

Summary

This PR adds a comprehensive CONTRIBUTING.md file to establish clear guidelines for contributors across the RunCycles monorepo. The document provides guidance on where different types of changes belong, how to run tests for each component, and expectations for pull requests.

Key Changes

  • Repository organization guide: Clarifies which repository each type of change belongs to (protocol specs, server implementations, client SDKs, documentation, and demos)
  • Test running instructions: Provides specific commands and CI requirements for each component:
    • Protocol spec validation with Spectral
    • Python linting, type checking, and pytest with coverage thresholds
    • TypeScript type checking, linting, and vitest with coverage requirements
    • Java/Maven test suites with Docker/TestContainers for integration tests
    • Documentation build process
    • Demo execution
  • Protocol authority statement: Establishes that cycles-protocol-v0.yaml is the source of truth and that implementations must conform to the spec
  • PR expectations: Sets standards for unit tests, AUDIT.md updates, README.md updates, and pre-submission test runs

Notable Details

  • Specifies CI environments (Python 3.10/3.12, Node 20/22)
  • Documents coverage thresholds for each language (85% Python, 95% TypeScript lines/85% branches, 85% Java)
  • Clarifies which tests require Docker/TestContainers and which are mock-based
  • Provides both quick-start and full integration test commands where applicable

https://claude.ai/code/session_01ERtvZVdXvpELAKdknquqD4

claude added 4 commits March 14, 2026 19:14
Covers where changes belong across all repos, test commands,
protocol authority rules, and PR expectations.

https://claude.ai/code/session_01ERtvZVdXvpELAKdknquqD4
- Remove false Spring AI integration claim from spring-boot-starter
  description (no Spring AI dependency exists in that repo)
- Soften AUDIT.md language to "where present" since not all client
  repos have one yet (TypeScript client lacks it)

https://claude.ai/code/session_01ERtvZVdXvpELAKdknquqD4
- Add cycles-server-admin to "Where Changes Belong"
- Add protocol spec validation (Spectral linting via make validate)
- Add cycles-server-admin test command (mvn verify with integration-tests profile)
- Add docs build/dev commands (VitePress)

https://claude.ai/code/session_01ERtvZVdXvpELAKdknquqD4
- Python: add ruff and mypy steps (CI runs all three on 3.10/3.12)
- TypeScript: add typecheck and lint steps, document coverage thresholds
  (95% lines, 85% branches) and CI matrix (Node 20/22)
- Java server: note Docker/TestContainers requirement for tests
- Admin server: show unit tests (no Docker) separately from integration
  tests (Docker required)
- Spring starter: note mock-based tests, 85% JaCoCo threshold
- PR expectations: add reminder to run full lint+test suite locally

https://claude.ai/code/session_01ERtvZVdXvpELAKdknquqD4
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.

2 participants