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
37 lines
884 B
TOML
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
|