learn and share notes on atproto (wip) 🦉 malfestio.stormlightlabs.org/
readability solid axum atproto srs

AGENTS.md#

This file is the canonical source of truth for AI agents working on this project. It also serves as a reference for contributors to the project.

Project Overview#

Malfestio is a learning OS combining flashcards, notes, lectures, and articles for daily study built on top of the AT Protocol. It implements a local-first approach with social features for publishing, sharing, and remixing learning artifacts.

Development Commands#

Rust Backend#

# Build the workspace
cargo build

# Run the server via CLI
cargo run --bin malfestio-cli start

# Run tests
cargo test

# Run tests for specific crate
cargo test -p malfestio-server
cargo test -p malfestio-core

# Check without building
cargo check

# Run clippy lints
cargo clippy

Frontend (SolidJS)#

# Install dependencies
cd web && pnpm install

# Run development server
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

# Type check without building
pnpm check

# Lint
pnpm lint

Project Structure#

# tree
.
├── crates
│   ├── core
│   ├── server
│   └── cli
└── web

Rules & Workflows#

In general, before working on features locally, specs should have already been drafted by the developer.

Specs#

When drafting specs, let's use the .sandbox directory and format filenames with the following format:

.sandbox/spec_<feature>-<description>_YYYY-MM-DD.md

Each section should have an overview and - [ ] items for tasks.