> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Roboticks - Audit-Grade Test CI for ROS2

> Roboticks runs the V&V loop EU Machinery Regulation 2027 requires. Map every safety requirement to a passing test, on every PR, every release, every regulation update.

# What is Roboticks?

Roboticks is **audit-grade test CI for ROS2**. It links every safety, functional, and performance requirement to a passing test — continuously, from first commit through the ten-year liability tail.

<Info>
  **Built for the V-model.** Roboticks owns the diagonals: the traceability and evidence threads that connect every requirement to every test result and back, on every PR, every release, every regulation update.
</Info>

## What you get

<CardGroup cols={2}>
  <Card title="Requirements Traceability" icon="diagram-project">
    Ingest ReqIF, PDF, or Markdown. Map each requirement to confirming tests. See gaps the moment they open.
  </Card>

  <Card title="GitHub-Native Test CI" icon="github">
    Install the GitHub App. Every PR runs your tests and posts a Check Run with the coverage delta.
  </Card>

  <Card title="Audit-Ready Evidence" icon="file-shield">
    Tamper-evident evidence packs (PDF + ReqIF + ZIP) signed with a hash chain. Retained 10+ years for product liability.
  </Card>

  <Card title="Hosted & Self-Hosted Runners" icon="server">
    Bring your own GPU farm, or rent Gazebo Harmonic and Webots minutes from us. Air-gapped mode for regulated customers.
  </Card>

  <Card title="LLM Triage" icon="wand-magic-sparkles">
    "Why did this fail?" answered from logs, MCAPs, and requirement context. Suggested tests for unfulfilled requirements.
  </Card>

  <Card title="Standards Feed" icon="bell">
    Pin the standards you certify against (ISO 10218, IEC 61508, EU MR 2023/1230). We surface the requirements impacted by every amendment.
  </Card>
</CardGroup>

## How Roboticks fits in

```mermaid theme={null}
%%{init: {"theme": "neutral", "themeVariables": {"primaryColor": "#4040ff"}} }%%
flowchart LR
    Req["Requirements<br/>(ReqIF / PDF / inline)"] --> Plat
    PR["Pull Request"] --> GH["GitHub App"] --> Plat["Roboticks Platform"]
    Plat --> Run["Runner Pool<br/>(hosted or self-hosted)"]
    Run --> Res["JUnit + MCAP + logs"] --> Plat
    Plat --> Mat["Traceability Matrix"]
    Plat --> Ev["Evidence Pack<br/>(PDF / ReqIF / ZIP)"]
    Plat --> Check["GitHub Check Run<br/>(coverage delta)"]
```

1. **Connect a GitHub repo** via the Roboticks GitHub App.
2. **Upload requirements** — a ReqIF export from Polarion/Jama, a PDF of ISO 10218 you derive from, or inline YAML.
3. **Annotate tests** with `@confirms("REQ-014")` from the [`roboticks`](https://pypi.org/project/roboticks/) SDK.
4. **Every PR** runs your tests on a hosted or self-hosted runner; results post back to GitHub as a Check Run.
5. **Every release** produces an evidence pack the auditor ingests.

## Why now

EU Machinery Regulation **2023/1230 applies January 20, 2027**. New editions of ISO 10218 (2025) and EN ISO 13849 demand traceable verification evidence for every machinery placed on the EU market. Roboticks is built around that loop.

## Get started

<CardGroup cols={2}>
  <Card title="10-minute quickstart" icon="rocket" href="/quickstart">
    Install the GitHub App, upload requirements, ship your first traced PR.
  </Card>

  <Card title="Install the SDK" icon="code" href="/sdk/installation">
    `pip install roboticks` — the pytest plugin and rclpy/rclcpp assertion helpers.
  </Card>

  <Card title="Self-host a runner" icon="microchip" href="/runners/overview">
    Bring your own GPUs. Free for self-hosted; no minute metering.
  </Card>

  <Card title="Standards coverage" icon="scale-balanced" href="/standards/overview">
    See what ISO 10218, IEC 61508, and EU MR 2023/1230 look like in Roboticks.
  </Card>
</CardGroup>

## What Roboticks is not

* **Not a certified toolchain.** We assemble the evidence your auditor ingests; we don't replace the notified body.
* **Not a requirements management system.** Jama, Polarion, codeBeamer, and DOORS keep their lane — we integrate via ReqIF.
* **Not a field observability platform.** Foxglove and Formant own runtime; we own pre-ship and re-verification.

## Platform at a glance

| Layer                   | What it does                                                                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **GitHub App**          | Webhook receiver, OAuth install flow, Check Runs API                                                                                         |
| **Requirements Engine** | ReqIF round-trip, PDF→LLM extraction, version snapshotting per release                                                                       |
| **Traceability Engine** | Coverage calc, gap detection, change-impact analysis, matrix UI                                                                              |
| **Runner Pools**        | Hosted ROS2/Gazebo/Webots; self-hosted via [`roboticks-runner`](https://github.com/roboticks-io/roboticks-runner) Go binary; air-gapped mode |
| **Evidence Pack**       | PDF + ReqIF + ZIP with tamper-evident hash chain; 10-year Glacier archive                                                                    |
| **SDK**                 | [`roboticks`](https://pypi.org/project/roboticks/) (Python) + `roboticks_cpp` (ament\_cmake); `@confirms`, fault injection, MCAP capture     |

## Requirements

* **Source code on GitHub** (GitLab support post-MVP).
* **A test framework that emits JUnit XML** — pytest, gtest, launch\_testing, or anything that can emit JUnit.
* **A ROS2 distribution** if you use the rclpy/rclcpp helpers — Humble, Iron, or Rolling. The platform itself is ROS-version-agnostic.
