day-cli 0.0.11

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"] }
# Terminal styling for the CLI's own human output (src/term.rs). `anstyle` is the styling
# vocabulary clap already uses (so our output shares its color system); `anstream`'s print macros
# strip the escapes when stdout/stderr isn't a color terminal (NO_COLOR, pipes, files, dumb/legacy
# consoles). Both are already in the tree via clap, so naming them adds no new compiled crates.
anstyle = "1"
anstream = "1"
# `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"
# Interactive `day new` prompts (src/interactive.rs): text input, single-select, and checkbox
# multi-select (arrow keys / space to toggle / type-to-filter). inquire renders to stderr, so
# stdout stays clean for `--format json` result events.
inquire = "0.9"
# 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 = "1.1"
toml_edit = "0.25"
serde = { version = "1", features = ["derive"] }
serde_norway = "0.9"
serde_json = "1"
sha2 = "0.11"
# 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 = "3"
# 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.
day-fonts = { workspace = true }
# Resource name → identifier rules (§18.5) — the SAME leaf crate an app's `build.rs` uses to generate
# the typed `res::…` constants, so the name a stager writes into a backend's native store is exactly
# the string baked into the constant. `sanitize_ident` re-exported from here.
day-build = { workspace = true }

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