primate 0.3.1

A small DSL for cross-language constants. Write once, generate typed Rust, TypeScript, and Python.
Documentation
# Changelog

All notable changes to **primate** will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.3.1]https://github.com/valtyr/primate/compare/v0.3.0...v0.3.1 - 2026-05-04

### Added

- *(zed)* cross-target navigation via sourcemap

### Other

- Bake text into logo

## [0.3.0]https://github.com/valtyr/primate/compare/v0.2.0...v0.3.0 - 2026-05-04

### Added

- derive primate.toml JSON schema from Config + ship it
- *(init)* drop hardcoded path defaults
- *(init)* drop redundant style prompts, theme prompts, hint missing paths, show logo
- *(init)* rebuild around proper UX
- *(cli)* add `primate init`

### Fixed

- gate gen_schema bin behind `schema-gen` feature

### Other

- roll gen-schema into the main CLI as a hidden subcommand
- reference `primate init` from README and the book

## [0.2.0]https://github.com/valtyr/primate/compare/v0.1.4...v0.2.0 - 2026-05-04

### Added

- *(tui)* quit on Ctrl-C and Ctrl-D
- *(tui)* float the logo top-right, hide on narrow terminals
- *(tui)* source-first layout with inline diagnostics
- *(skill)* default to AGENTS.md, add Claude target with frontmatter
- `primate skill` command + watch-mode TUI

### Fixed

- *(tui)* use ANSI Magenta for the header so it works on both themes

### Other

- cargo fmt
- Bake font into logo
- pass over the book — install instructions, generator outputs, tone

## [0.1.4]https://github.com/valtyr/primate/compare/v0.1.3...v0.1.4 - 2026-04-30

### Added

- *(lsp)* pin bare-number completion above unit suffixes

### Other

- link editor list to marketplaces; rewrite vscode install guide
- add vertical space between logo and heading in READMEs

## [0.1.3]https://github.com/valtyr/primate/compare/v0.1.2...v0.1.3 - 2026-04-30

### Added

- use PNG logo for extension READMEs
- add project logo to READMEs

## [0.1.2]https://github.com/valtyr/primate/compare/v0.1.1...v0.1.2 - 2026-04-30

### Other

- reuse COMMITTER_TOKEN for release-plz
- use a PAT for release-plz, sequence release before release-pr

## [0.1.1]https://github.com/valtyr/primate/compare/v0.1.0...v0.1.1 - 2026-04-29

### Other

- drop Open VSX from the release-flow blurb
- drop Open VSX publish for now
- auto-sync editor manifest versions on release PRs
- wire release automation (release-plz + extension publishes)
- Document type fidelity across generators
- rustfmt

## [0.1.0] — 2026-04-29

Initial public release.

### Added

- **Language**: type-first declarations, primitive types (`i8``i64`,
  `u8``u64`, `f32`/`f64`, `bool`, `string`, `duration`, `regex`, `url`),
  containers (`array<T>`, `array<T, N>`, `optional<T>`, `tuple<...>`,
  `map<K, V>`), `type` aliases, integer- and string-tagged `enum`s.
- **Unit suffixes** on numeric literals: durations (`ns`, `us`, `ms`, `s`,
  `min`/`m`, `h`, `d`, `w`), byte sizes on integers (`B`, `KB`/`MB`/`GB`/`TB`,
  `KiB`/`MiB`/`GiB`/`TiB`), and percentage on floats (`%`). Bounds-checked
  against the declared type.
- **Cross-namespace types.** `use` imports, qualified paths
  (`logging::LogLevel`), and namespace overrides.
- **Generators** for Rust (`pub mod` per namespace), TypeScript (per-
  namespace `.ts` files + `index.ts`), and Python (per-namespace `.py` files
  + `__init__.py`). Cross-namespace references emit the right idiomatic
  import or path qualifier in each target.
- **`primate fmt`** — single canonical formatter; no flags.
- **`primate lsp`** — LSP server with diagnostics, hover, go-to-definition,
  find-references, and contextual completion (enum variants, unit suffixes).
- **Plugin protocol** — JSON over stdin/stdout for third-party generators.
- **Editor integrations** — Zed and VS Code; vim syntax/ftdetect files.
- **Documentation** — mdBook in `docs/`.