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

Install from RubyGems

gem install rosett-ai

Or install from .deb (Debian/Ubuntu)

sudo dpkg -i rosett-ai_1.2.0-1_amd64.deb

Initialize

raictl init --global

Write your first behaviour rule

raictl behaviour manage add my_rules

Compile to Claude Code

raictl compile --verbose

Verify

ls ~/.claude/rules/

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
raictl compile                        # Compile rules (default engine)
raictl compile --engine agents_md     # Compile to AGENTS.md format
raictl compile --engine ollama        # Compile for Ollama
raictl compile --strict               # Treat warnings as errors
raictl compile --simulate --verbose   # Dry run with diffs

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

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

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

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

# Backup
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

Building from source

git clone https://gitlab.com/neatnerds/foss/rosett-ai.git
cd rosett-ai
rbenv install 3.3.10
bundle install
overcommit --install
bin/raictl version

Quality checks

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

See CONTRIBUTING.md for the full developer guide.

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