Rosett-AI

Author rules once, compile to Claude Code, AGENTS.md, and more engines coming soon.

raictl is an engine-agnostic configuration management tool for AI-assisted development workflows. Define operational rules in generic YAML, then compile them to any supported AI tool's native format. v1.2.0 ships with Claude Code and AGENTS.md engines. Additional engines (Cursor, Copilot, Windsurf, Goose, Aider, Ollama, GPT-NeoX, Generic) are in development.

graph LR
    subgraph Input["Human Intent (YAML)"]
        B[conf/behaviour/*.yml]
        D[conf/design/*.yml]
    end

    subgraph rosett-ai["Rosett-AI Compiler"]
        P[Compilation Pipeline]
    end

    subgraph Engines["Engine Backends"]
        C[Claude Code]:::available
        A[AGENTS.md]:::available
        CU[Cursor]:::planned
        CP[Copilot]:::planned
        WS[Windsurf]:::planned
        GO[Goose]:::planned
        AI[Aider]:::planned
        O[Ollama]:::planned
        G[GPT-NeoX]:::planned
        X[Generic]:::planned
    end

    B --> P
    D --> P
    P --> C
    P --> A
    P --> CU
    P --> CP
    P --> WS
    P --> GO
    P --> AI
    P --> O
    P --> G
    P --> X

    classDef available stroke:#22c55e,stroke-width:2px
    classDef planned stroke:#94a3b8,stroke-width:1px,stroke-dasharray:5 5,fill:#f8fafc,color:#64748b
Field Value
Version <!-- rai:version -->1.2.0<!-- /rai:version -->
License GPL-3.0-only
Ruby 3.3.10 (rbenv)
Tests <!-- rai:tests -->4672 RSpec specs<!-- /rai:tests -->
Author Hugo Antonio Sepulveda Manriquez

Quick Start

rbenv install 3.3.10
bundle install
overcommit --install
bin/raictl version

Features

mindmap
  root((raictl))
    Engine Backends
      Claude Code ✓
      AGENTS.md ✓
      Cursor ○
      Copilot ○
      Windsurf ○
      Goose ○
      Aider ○
      Ollama ○
      GPT-NeoX ○
      Generic ○
    Desktop Integration
      D-Bus IPC Service
      GTK4/Adwaita App
      Focus Monitoring
      5 Compositor Adapters
    Configuration
      Behaviour Rules
      Design Documents
      JSON Schema Validation
      Configuration Hierarchy
    Security
      Ed25519 JWT Licensing
      YAML DoS Prevention
      Path Whitelisting
      Custom RuboCop Cops
    CLI
      Compile / Validate / Adopt
      Backup / Migrate / Doctor
      Engine Detection
    Accessibility
      EN 301 549 Compliance
      Accessible TUI
      i18n (en, fr, ar)

Core Capabilities

  • Engine-Agnostic Compilation -- Write rules in generic YAML, compile to any AI tool
  • <!-- rai:engines -->2<!-- /rai:engines --> Available Engine Backends -- Claude Code, AGENTS.md (8 more planned: Cursor, Copilot, Windsurf, Goose, Aider, Ollama, GPT-NeoX, Generic)
  • D-Bus Desktop Service -- be.neatnerds.rosettai session bus with Manager and FocusMonitor interfaces
  • GTK4/Adwaita Application -- Crash-proof GUI with safe_action() wrapper pattern
  • Behaviour Management -- Priority-sorted rules (1-100 scale) with sensitivity filtering
  • Adopt Analysis -- Local structural checks with optional API-powered analysis
  • Content Packs -- Premium content delivery via Ed25519-signed JWT licensing
  • Debian Packaging -- .deb packages via fpm for core, gtk4, and qt6 variants
  • i18n -- Internationalisation with gettext/Qt locale compilation

Architecture Overview

graph TB
    subgraph CLI["CLI Layer (Thor)"]
        BIN[bin/raictl]
        THOR[RosettAi::Thor::CLI]
    end

    subgraph LIB["Library Layer"]
        COMP[Compiler::Pipeline]
        VALID[Validators]
        CONFIG[Configuration]
        PATH[PathResolver]
        ADOPT[Adopter]
        YAML[YamlLoader]
    end

    subgraph ENGINES["Engine Layer"]
        CLAUDE[engines/claude/]:::available
        AGENTS[engines/agents_md/]:::available
        CURSOR[engines/cursor/]:::planned
        COPILOT[engines/copilot/]:::planned
        WINDSURF[engines/windsurf/]:::planned
        GOOSE[engines/goose/]:::planned
        AIDER[engines/aider/]:::planned
        OLLAMA[engines/ollama/]:::planned
        NEOX[engines/gpt_neox/]:::planned
        GENERIC[engines/generic/]:::planned
    end

    subgraph DESKTOP["Desktop Layer"]
        DBUS_SVC[D-Bus Service]
        GTK4[GTK4 App]
        FOCUS[Focus Monitor]
    end

    BIN --> THOR
    THOR --> COMP
    THOR --> VALID
    THOR --> CONFIG
    THOR --> ADOPT
    COMP --> ENGINES
    COMP --> YAML
    VALID --> YAML
    CONFIG --> PATH
    DBUS_SVC --> COMP
    GTK4 -->|D-Bus IPC| DBUS_SVC
    FOCUS --> DBUS_SVC

    classDef available stroke:#22c55e,stroke-width:2px
    classDef planned stroke:#94a3b8,stroke-width:1px,stroke-dasharray:5 5,fill:#f8fafc,color:#64748b

Legend: Solid border = Available | Dashed border = Planned

CLI Commands

# Compilation
bin/raictl compile                        # Compile rules (default engine)
bin/raictl compile --engine agents_md     # Compile to AGENTS.md format
bin/raictl compile --engine ollama        # Compile for Ollama
bin/raictl compile --strict               # Treat warnings as errors
bin/raictl compile --simulate --verbose   # Dry run with diffs

# Engine management
bin/raictl engines list                   # List all known engines
bin/raictl engines detect                 # Detect installed engines
bin/raictl engines status                 # Show default engine + detection

# Validation & analysis
bin/raictl validate                       # Validate all config files
bin/raictl adopt                          # Local-only structural checks
bin/raictl adopt --api --verbose          # Remote API analysis

# Configuration
bin/raictl behaviour display              # Show behaviour configuration
bin/raictl config compile                 # Compile YAML scopes to JSON
bin/raictl design list                    # List design documents

# Desktop
bin/raictl dbus start                     # Start D-Bus service
bin/raictl desktop gtk4                   # Launch GTK4 application

# Backup
bin/raictl backup --global --local        # Back up all configurations

See USAGE.md for the full command reference.

Documentation

Document Description
ARCHITECTURE.md System architecture with Mermaid diagrams
ENGINES.md Engine backends and compilation targets
DESKTOP.md D-Bus service and GTK4 desktop app
SETUP.md Installation and setup guide
USAGE.md CLI usage and examples
CONFIGURATION.md Configuration reference
BEHAVIOUR.md Behaviour system documentation
ADOPT.md Adopt analysis documentation
PACKAGING.md Debian packaging
REFERENCES.md External references and bibliography
IMPLEMENTATION_PLAN.md Phased roadmap
CONTRIBUTING.md Developer guide

Architecture Decision Records

ADR Status Decision
001 Accepted Defer Flog (covered by RuboCop)
002 Accepted Centralised PathResolver
003 Accepted 5-level UI cascade
004 Accepted Generic SchemaValidator
005 Accepted Plugin gems in mono-repo
006 Superseded Multi-engine (see ADR-007)
007 Accepted Engine-agnostic pivot

Project Structure

rosett-ai/
├── bin/raictl                        # CLI executable
├── lib/rosett_ai/                       # Ruby library (4800+ LOC)
│   ├── engines/                    # Engine backends
│   │   ├── claude/                 # Claude Code engine (7 components)
│   │   ├── cursor/                # Cursor (Anysphere) engine
│   │   ├── copilot/               # GitHub Copilot engine
│   │   ├── windsurf/              # Windsurf (Codeium) engine
│   │   ├── agents_md/             # AGENTS.md engine
│   │   ├── goose/                 # Goose (Block) engine
│   │   ├── aider/                 # Aider engine
│   │   ├── generic/               # Generic markdown engine
│   │   ├── ollama/                # Ollama engine
│   │   └── gpt_neox/             # GPT-NeoX engine
│   ├── compiler/                   # Compilation pipeline
│   ├── desktop/                    # GTK4 app + GUI logger
│   ├── dbus/                       # D-Bus service + focus adapters
│   ├── validators/                 # Schema-based validators
│   ├── licensing/                  # Ed25519 JWT license keys
│   ├── content/                    # Content pack system
│   ├── backup/                     # Backup with compression
│   ├── thor/tasks/                 # 16 CLI subcommands
│   └── ui/                         # UI adapter registry
├── conf/                           # Configuration
│   ├── behaviour/                  # Behaviour YAML files
│   ├── design/                     # Design documents (21 files)
│   ├── schemas/                    # JSON Schemas (10 files)
│   ├── engines/                    # Per-engine config
│   └── packaging/                  # Package variant configs
├── spec/                           # RSpec tests (119 files)
├── doc/                            # Documentation
│   ├── decisions/                  # ADRs (001-007)
│   └── changes/                    # Implementation notes
├── locales/                        # i18n (en, fr, ar)
├── packaging/                      # Debian scripts
└── CLAUDE.md                       # Project instructions

Development

bundle exec rspec                   # Run tests
bundle exec rubocop                 # Lint
bundle exec reek                    # Code smell detection
bundle exec bundler-audit check     # Security audit

Roadmap

gantt
    title Rosett-AI Development Roadmap
    dateFormat YYYY-MM-DD
    axisFormat %b %d

    section Engine Phases
    Phase 0a - Rename                :done, e0a, 2026-02-26, 1d
    Phase 0b - Engine dirs           :done, e0b, after e0a, 1d
    Phase 0c - XDG + detection       :done, e0c, after e0b, 1d
    Engine 1 - AGENTS.md             :done, e1, after e0c, 1d
    Engine 2 - Ollama + GPT-NeoX     :done, e2, after e1, 1d
    Engine 3 - Goose + Aider         :done, e3, after e2, 1d
    Engine 4 - Cursor + Copilot      :done, e4, after e3, 1d

    section Desktop Phases
    Desktop 1 - D-Bus service        :done, d1, after e0c, 1d
    Desktop 2 - GTK4 app             :done, d2, after d1, 1d
    GTK4 hardening                   :done, d2h, after d2, 1d
    Desktop 3 - KDE KCM              :d3, after d2h, 5d

License

GPL-3.0-only

Contact