day-cli 0.0.7

Declarative app development API using native UI toolkits
[package]
name = "day-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description.workspace = true
repository.workspace = true
license.workspace = true

[[bin]]
name = "day"
path = "src/main.rs"

[dependencies]
clap = { version = "4.6", features = ["derive"] }
# `day new app` templates (templates/app/, embedded so a fresh `cargo install day-cli` scaffolds
# offline): handlebars renders {{name}}/{{id}}/… in file contents AND paths; include_dir bakes
# the template tree into the binary.
handlebars = "6"
include_dir = "0.7"
# Day.toml (the project manifest) — `toml` parses it via serde; `toml_edit` (the library under
# cargo-edit/cargo itself) performs format- and comment-preserving edits (`day app add-toolkit`).
toml = "0.8"
toml_edit = "0.22"
serde = { version = "1", features = ["derive"] }
serde_norway = "0.9"
serde_json = "1"
sha2 = "0.10"
# Background "is a newer day-cli on crates.io?" check (update.rs). ureq is a small synchronous HTTP
# client with bundled roots — no OS cert-store dependency, works on a fresh machine.
ureq = "2"
# Shared host-toolchain/SDK discovery (docs/environment.md) — same code the build scripts use.
day-toolchain = { workspace = true }
# Font name-table parsing + family→ident rules (§18.4) — the SAME leaf crate the runtimes use (via
# `day_spec::fonts`), so the names the stagers derive always match what the backends look up. These
# two leaves are the CLI's only day deps; base64 for dayscript replies is inlined in `script.rs`,
# and everything else labelled `day_*` in `new.rs` is scaffold template text, not a real dependency.
day-fonts = { workspace = true }

# Ctrl-C child cleanup uses POSIX signals only (Windows relies on console propagation).
[target.'cfg(unix)'.dependencies]
libc = "0.2"