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.