nova-cli 0.3.1

The Nova programming language: compiler, formatter, language server, package manager and documentation generator
[package]
name = "nova-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "The Nova programming language: compiler, formatter, language server, package manager and documentation generator"
readme = "README.md"
keywords = ["nova", "programming-language", "compiler", "lsp", "formatter"]
categories = ["compilers", "command-line-utilities", "development-tools"]

[[bin]]
name = "nova"
path = "src/main.rs"
# Not a benchmark target: `cargo bench` would otherwise build this under
# libtest's harness, which rejects criterion's `--output-format`. The
# workspace's only benchmark is `nova-lexer/benches/lex.rs`.
bench = false

[dependencies]
nova-diagnostics = { workspace = true }
nova-lexer = { workspace = true }
nova-ast = { workspace = true }
nova-parser = { workspace = true }
nova-driver = { workspace = true }
nova-pm = { workspace = true }
nova-fmt = { workspace = true }
nova-lsp = { workspace = true }
# `nova doc` (spec
# docs/superpowers/specs/2026-10-11-phase-3-5a-the-documentation-site-design.md
# §4).
nova-doc = { workspace = true }
# The package index: syncing, packing and publishing (spec
# docs/superpowers/specs/2026-10-09-phase-3-3b-index-and-publishing-design.md
# §9).
nova-index = { workspace = true }
# `nova add json@1.4` checks its requirement.
semver = { workspace = true }
# `nova add` and `nova remove` edit nova.toml, keeping its comments and
# layout (spec docs/superpowers/specs/2026-10-08-phase-3-3a-local-packages-design.md §5.3).
toml_edit = { workspace = true }
clap = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
# Its `links` metadata hands build.rs the runtime's source directory (spec
# docs/superpowers/specs/2026-10-07-phase-3-0-foundations-design.md §4.1).
# The runtime is already linked into `nova` through nova-codegen-cranelift,
# so this adds no code; only a direct dependent receives the metadata.
nova-runtime = { workspace = true }

[build-dependencies]
flate2 = { workspace = true }
crc32fast = { workspace = true }

[dev-dependencies]
assert_cmd = { workspace = true }
insta = { workspace = true }
serde_json = { workspace = true }
# The stand-in GitHub API the registry tests share with nova-index's.
base64 = { workspace = true }