1.5 KiB
1.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Build & Test Commands
nix develop # Enter dev shell with Rust toolchain
nix build # Build the package
nix flake check # Run all checks (clippy, fmt, tests, pre-commit)
# Inside nix develop:
cargo test # Run all tests
cargo test test_name # Run a specific test
cargo clippy # Lint
cargo fmt # Format
After finishing tests, always check the package with nix flake check.
Architecture
Streamd parses markdown files into hierarchical Shards, then localizes them by assigning temporal moments and dimensional placements based on @Tag markers.
Data flow: Markdown → extract::parser → Shard tree → localize::shard → LocalizedShard tree
Key modules:
models/— Core types:Shard,LocalizedShard,Dimension,Marker,Timecardextract/— Tag extraction (tag_extraction.rs) and markdown parsing (parser.rs)localize/— DateTime extraction, configuration merging, shard localizationtimesheet/— State machine that converts localized shards into timecardsquery/— Recursive search functions for finding shards by predicatecli/— Clap-based CLI commands
Requirements
REQUIREMENTS.md contains the formal specification. Update it along with the README.md whenever implementing or changing features.