AGENTS.md

rtw - Adventure Motorcycle Trip Planner

A Rescript frontend application for planning adventure motorcycle trips with interactive maps and collaborative editing.

Required Skills (MUST INVOKE)

CRITICAL: Before writing or debugging Rescript code, you MUST invoke: - superpowers:working-in-rescript

This skill provides essential documentation and compiler guidance for Rescript development.

Technology Stack

Category Technology
Language Rescript (compiles to JavaScript)
UI Framework Preact (JSX v4)
Build Tool Vite
Styling Tailwind CSS v4
Maps Maplibre GL JS (@vis.gl/react-maplibre)
UI Components react-modal-sheet
Testing vitest + rescript-vitest
Future TipTap editor, Yjs CRDT

Project Structure

src/
├── App.res              # Main app component
├── Main.res             # Entry point
├── Sheet.res            # Bottom sheet bindings
├── Maplibre.res         # Maplibre FFI bindings
└── ffi/
    ├── Preact.res       # Preact hooks/JSX
    ├── PreactDOM.res    # DOM bindings
    └── Doc.res          # Document API
test/                    # Test files (rescript-vitest)

Build Commands

pnpm exec rescript build    # Compile Rescript
pnpm run dev                # Dev server
pnpm run build              # Production build
pnpm vitest                 # Run tests

Coding Guidelines

Language Choice

Rescript Patterns

FFI Example (from Maplibre.res)

@module("@vis.gl/react-maplibre") @jsx.component
external make: (~id: string=?, ~mapStyle: string=?) => Jsx.element = "Map"

Testing Requirements

Unit Tests (Required)

Visual Verification (Optional)

Future Integrations

TipTap Editor

Yjs CRDT

Important Notes