A collection of spaex atoms
published from a single repository. Every atom lives in its own top-level
directory and is registered in the publisher manifest at
manifest.json.
A constitution-contributing atom that enforces a graphify-first authoring workflow: after every commit and every checkout onto a tracked branch, a per-repo hook regenerates the graphify snapshot so the constitution's "read graphify before authoring" clause stays enforceable.
- Atom id:
com.github.haexmas.atoms.graphify-first-authoring - Kind:
constitution+ git hooks (v4atoms.constitution, plus repo-sideinstall.pythat materializes hooks into.git/hooks/). - Path:
graphify-first-authoring/
The molecule also delivers a context-map behavior fragment. It standardizes
task-scoped, token-bounded context retrieval through graphify query --budget
without introducing a second index or automatically dumping the repository.
An optional behavior molecule for syntax-aware search and rewrites with
ast-grep. It complements graphify:
graphify locates relevant domain artifacts, while ast-grep finds structurally
matching code. The molecule does not install the external binary; when it is
unavailable, agents fall back to a scoped rg search.
- Molecule id:
com.github.haexmas.atoms.ast-grep - Kind: optional behavior fragment (
atoms.behavior) - Path:
ast-grep/
Adopting
Add the atom to the consumer's .spaex.json and run spaex install.
See graphify-first-authoring/README.md
and graphify-first-authoring/specs/quickstart.md
for the full adoption walkthrough. Publisher-side history and design
context are preserved verbatim under graphify-first-authoring/specs/ and
graphify-first-authoring/design.md; those documents retain historical
source references.
A Spec Kit integration molecule that provisions the pinned official
specify-cli and delegates project-local agent integration installation to
the official CLI. It includes Codex, Claude, Gemini, and the other integration
keys supported by specify-cli 1.0.6; it does not copy agent skill files into
the molecule.
- Atom id:
com.github.haexmas.atoms.speckit - Kind: Spec Kit integration declaration (
speckit) - Path:
speckit/
Adopt it with spaex add without a --speckit-agents flag. spaex will show
the declared integrations and ask the operator which ones to install. For
automation, pass an explicit comma-separated subset such as
--speckit-agents claude,codex; never use --speckit-agents all as an
unattended shortcut. See speckit/README.md.
The spaex project's own constitution: the authoritative constitution.md
text plus a Spec 023 behavior fragment per directive, relocated here from
the spaex repo's former self-published molecule.
- Atom id:
com.github.haexmas.atoms.spaex-constitution - Kind: constitution fragments (v4
atoms.behavior, one file per directive) - Path:
spaex-constitution/
Adopting
Add the atom to the consumer's .spaex.json and run spaex install.
See spaex-constitution/README.md for
this molecule's history and governance notes.
The portable behavior part of
DietrichGebert/ponytail: prefer
YAGNI, existing code, standard-library and native platform features, and the
smallest correct implementation. It is published as one atoms.behavior
fragment so it can be composed with other spaex behavior atoms.
- Atom id:
com.github.haexmas.atoms.ponytail - Kind: behavior fragment (
atoms.behavior) - Path:
ponytail/
The upstream repository's host-specific plugin files, hooks, and skills are
not mirrored; use Ponytail's native plugin or skill installation for those
surfaces. See ponytail/README.md for provenance and
adoption details.
The publisher also contains language-specific behavior molecules. Each one is deliberately small and can be adopted independently:
com.github.haexmas.atoms.coding-guideline-rust— ownership, types, error handling, async code, unsafe code, and Cargo verification; includes Rust testing guidance.com.github.haexmas.atoms.coding-guideline-javascript-typescript— strict typing, trust boundaries, async control flow, module design, and verification; includes JavaScript/TypeScript testing guidance.com.github.haexmas.atoms.coding-guideline-python— typing, explicit data models, validation, exceptions, resource management, async code, and verification; includes Python testing guidance.com.github.haexmas.atoms.coding-guideline-go— error handling, contexts, interfaces, concurrency, resource handling, process execution, and Go testing practices.
All four are behavior molecules delivered through atoms.behavior only.
They are baseline guidance: a consuming project's explicit conventions and
supported runtime versions remain authoritative. None of them provision a
toolchain — see "Nix devShells" below for the separate, dedicated
nix-rust/nix-nodejs package molecules.
Language-agnostic coding guidance covering repository-local worktrees, practical LoC heuristics, function and file boundaries, module structure, dependency direction, abstractions, tests, and reviewable change size.
- Atom id:
com.github.haexmas.atoms.general-coding - Kind: behavior fragment (
atoms.behavior) - Path:
general-coding/
com.github.haexmas.atoms.nix-devshell-base delivers
a reproducible nix develop/direnv devShell skeleton (flake.nix,
.envrc) to a consumer's repo root via spaex Spec 027's exclusive
atoms.dev_environment category. It ships no packages itself; adopt it
alongside whichever dedicated package molecules a project needs, each
contributing a fragment via the composable atoms.nix_packages category:
com.github.haexmas.atoms.nix-rust—rustc,cargo,clippy,rustfmt.com.github.haexmas.atoms.nix-nodejs—nodejs_22,corepack_22,pnpm.com.github.haexmas.atoms.holzi— holzi's own Tauri-app-specific Linux system libraries, end-to-end test tooling (tauri-driver, the WebKit driver,xvfb-run) and the Android build environment (SDK, NDK, JDK, and Rust with the Android targets through.devshell/rust-toolchain.toml, whichnix-devshell-basebuilds with rust-overlay), plus two agent rules for holzi: run the tooling inside the devShell, and give UI feedback without inline status lines (errors as toasts, no success messages inside components).
These are deliberately separate from the coding-guideline-rust/
coding-guideline-javascript-typescript behavior molecules above: adopting
coding guidance and adopting a Nix
devShell package are independent decisions.
- Atom id:
com.github.haexmas.atoms.nix-devshell-base - Kind: exclusive generic atom (
atoms.dev_environment) - Path:
nix-devshell-base/
TBD.