1.4 KiB
1.4 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
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.