Skip to main content
Configure Windsurf once β€” and Cascade writes accurate, on-brand Cerulion documentation without needing the product context re-explained on every prompt. Add the workspace rule below so Cascade understands Cerulion’s product context, CLI patterns, and documentation standards from the first prompt.

Prerequisites

  • Windsurf editor installed
  • Access to the cerulion-docs repository

Workspace rules

Create .windsurf/rules.md in the repository root:
# Cerulion documentation β€” Windsurf rules

## Product context

Cerulion is a high-performance middleware for robotics and real-time systems (closed alpha).

- **Stack**: Rust binary via Homebrew / install script
- **Core**: Zero-copy pub/sub (iceoryx2 shared memory), network transport (Zenoh), ROS2-compatible messages
- **Target users**: Robotics engineers, embedded developers
- **Key fact**: ~60 ns local latency via shared memory β€” serialization only when crossing a network boundary

## CLI commands (use exact forms in examples)

```bash
cerulion workspace create <name>
cerulion node create <type> [--period-ms N] [--ext-trigger]
cerulion node build <type>
cerulion graph create <name>
cerulion graph run <name>
cerulion topic list|info|echo|hz <topic>
cerulion tui         # interactive monitor
```

## Platform

- **Docs platform**: Mintlify (theme: maple), MDX + YAML frontmatter, `docs.json` for nav
- **Dev server**: `mint dev` β†’ localhost:3000

## Component rules

- `<Tree>` for all file structures β€” never ASCII art (`β”œβ”€β”€`)
- `<Card>` always uses `color="#0080FF"` β€” no exceptions
- `<Badge>` named colors only: `blue green orange yellow purple red`
- `<Frame>` wraps `<img>` only β€” never mermaid or code blocks
- `fetchpriority="high"` on all above-the-fold hero `<img>` tags
- Every page ends with the standard `<Tip>` CTA linking to quickstart + founders email

## Writing standards

- Second person ("you"), active voice, present tense
- Language tags on every code block: `rust`, `bash`, `yaml`, `toml`, `text`
- Use `text` for terminal output and scaffold trees
- Relative paths for internal links β€” never absolute URLs to own docs
- Realistic placeholders: `camera_pub`, `display_sub`, `perception` β€” never `foo` or `example`
- No H1 in body β€” title comes from frontmatter

## Quality checklist before suggesting any edit

- [ ] Language tag on every code block
- [ ] Alt text on every image
- [ ] `<Tree>` used (not ASCII art) for any file structure
- [ ] Card uses `color="#0080FF"`
- [ ] Badge uses named color (not hex)
- [ ] Page ends with `<Tip>` CTA
Ready to try Cerulion? Start with the quickstart and have a working camera-to-display pipeline in 5 minutes β€” or schedule a 15-min call with the team.