Files
storybook/Cargo.toml
Sienna Meridian Satterwhite 9c20dd4092 feat: implement storybook DSL with template composition and validation
Add complete domain-specific language for authoring narrative content for
agent simulations.

Features:
- Complete parser using LALRPOP + logos lexer
- Template composition (includes + multiple inheritance)
- Strict mode validation for templates
- Reserved keyword protection
- Semantic validators (trait ranges, schedule overlaps, life arcs, behaviors)
- Name resolution and cross-reference tracking
- CLI tool (validate, inspect, query commands)
- Query API with filtering
- 260 comprehensive tests (unit, integration, property-based)

Implementation phases:
- Phase 1 (Parser): Complete
- Phase 2 (Resolution + Validation): Complete
- Phase 3 (Public API + CLI): Complete

BREAKING CHANGE: Initial implementation
2026-02-08 13:24:35 +00:00

37 lines
884 B
TOML

[package]
name = "storybook"
version = "0.1.0"
edition = "2021"
[lib]
name = "storybook"
path = "src/lib.rs"
[[bin]]
name = "sb"
path = "src/bin/sb.rs"
[dependencies]
logos = "0.14"
lalrpop-util = "0.21"
miette = { version = "7.0", features = ["fancy"] }
thiserror = "1.0"
strsim = "0.11" # Fuzzy matching for "did you mean?" suggestions
indexmap = "2.0" # Order-preserving maps
petgraph = "0.6" # Cycle detection
# Phase 3: Public API + CLI
anyhow = "1.0" # Error handling
clap = { version = "4.5", features = ["derive"] }
notify = "6.0" # Filesystem watching
toml = "0.8" # storybook.toml parsing
walkdir = "2.4" # Directory traversal
serde = { version = "1.0", features = ["derive"] }
[build-dependencies]
lalrpop = "0.21"
[dev-dependencies]
proptest = "1.4"
insta = "1.34"
tempfile = "3.8" # Temporary directories for integration tests