huntedbytheirs ee9f280346 feat: dependency resolver (Phase 1) + formatter + doctor + assertion evaluation
Resolver (Phase 1):
- resolve::resolve() takes SystemConfig + Registry → BuildPlan
- Three-layer feature/config merge (uses config::resolve_package)
- Feature-gated dependencies: deps with feature=X skipped if feature disabled
- Topological sort via Kahn's algorithm (BFS on in-degree)
- Cycle detection, missing package warnings
- CLI: kappa resolve <config> [<package>]

Formatter:
- format_package() + format_config() → canonical output
- Consistent 4-space indent, canonical declaration order

Doctor:
- check_package() + check_config() → warnings for common issues
- Missing fields, empty configs, root shell, feature warnings

Assertion evaluation:
- evaluate_assertions() resolves dotted field paths
- Supports == and != operators for config validation
- kappa validate now runs assertion checks

Review fixes:
- plan.steps.empty() exit code corrected to 0
- Removed unused <unordered_set> include
- Eliminated duplicate merge logic (uses config::resolve_package)
2026-07-30 00:36:38 -04:00
2026-07-29 19:59:49 -04:00
2026-07-29 19:59:49 -04:00

kappa

A alternative implementation of Iota for the ZereneOS project.

S
Description
A egotistical competitor to the package manager from the ZereneOS project that is better and smarter than Iota. TLDR; The package manager from the NixOS Maintainer's nightmares, or in other words, the package manager from hell. Are we rubbing it in? Yeah? Why wouldn't we?
Readme BSD-3-Clause
462 KiB
Languages
C++ 83.4%
Shell 15.2%
Makefile 0.7%
CMake 0.5%
Dockerfile 0.2%