agentsclimarketplace

Oats architecture

Skill ariso-ai/oats/.agents/skills/oats-architecture

Use to orient in the oats codebase or plan cross-cutting features — the cloud-vs-offline backend split, the speech-to-text pipeline, window topology, and where specs live.From its SKILL.md

Install
npx -y skills add ariso-ai/oats --skill oats-architecture

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.4 KB, as published. Nobody here has run it

oats Architecture Map

oats is a macOS menu-bar meeting recorder/notetaker: hit record, get a transcript and notes. Tauri v2 (Rust) + Vue 3 (TypeScript). Apple Silicon only.

Two backends, one app

The defining design choice is a backend abstraction (src/composables/useBackend.ts on the frontend; STT/storage modules on the Rust side):

  • ☁️ Cloud (Ariso) — sign in; transcription and notes run on Ariso's servers.
  • 🔒 Offline (local) — flip a switch; recording, transcription, speaker labels, and notes all run on-device, nothing leaves the Mac.

When designing a feature, ask which backend(s) it touches and keep the abstraction intact — don't hardcode cloud-only or local-only paths into shared code.

Speech-to-text pipeline

Local transcription uses ariso-stt, a Swift/MLX speech engine shipped as a sidecar binary (src-tauri/binaries/ariso-stt-aarch64-apple-darwin, plus mlx-swift_Cmlx.bundle). Rust side: audio_capture.rs (Core Audio process taps for system audio + mic), transcribe.rs, model_manager.rs (model download/management), storage.rs (recordings

  • meeting data on disk under ~/.ariso).

Window topology

All windows load one Vue bundle and render a hash route (src/main.ts):

  • main (/) — headless BootstrapView; runs sync/startup logic, intentionally blank.
  • settings (/settings) — the settings window (pre-created hidden at startup).
  • library (/library) — titled "Meetings"; the main user-facing window (created on demand, destroyed on close).
  • plus waveform, update, meeting-picker, onboarding, and the borderless prompt windows meeting-prompt, silence-prompt, meeting-end-prompt.

The tray (tray.rs, tray_meeting.rs) and recorder pill (recorder_pill.rs) are the menu-bar surface.

Where things live

  • Frontend: src/ (views/, composables/, tauri.ts) — see oats-vue.
  • Backend: src-tauri/src/ — see oats-tauri.
  • Design specs: docs/superpowers/specs/ (YYYY-MM-DD-<topic>-design.md). Read recent specs before a related feature; write a new one (via the brainstorming workflow) before non-trivial work.

For runtime inspection of any window, use oats-debugging.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.