Will Anderson
b62df85969
Add readline, color, http_post_auth builtins; fix import resolution in build
...
Engram can now power the Neuron CLI:
- readline(prompt) -> String: interactive terminal input via stdin
- http_post_auth(url, token, body) -> String: authenticated POST for daemon API
- color_cyan/green/red/yellow/bold/dim(s) -> String: ANSI color output
All registered in el-types type checker
- el build now resolves import "file.el" directives recursively (was only
done for el run-file and el check; project builds failed silently)
- Add .gitignore (target/, *.elc, *.sealed, *.map.json)
2026-04-28 13:46:22 -05:00
Will Anderson
48b72843e1
feat: package manager, build system, native cross-compilation, plugin system
...
Add three new crates and extend the compiler and CLI toolchain:
- el-manifest: el.toml manifest parser using serde + toml crate; supports
package info, registry/path/version deps, build config with seal key
sources, cross targets, and plugins; Manifest::find_manifest() walks up
the directory tree
- el-registry: HTTP registry client (reqwest + tokio) for
packages.neurontechnologies.ai; PackageMetadata, fetch/download/publish/
search, BLAKE3 checksum verification, local cache at ~/.engram/packages/
- el-build: build orchestrator with incremental builds (BLAKE3 file hashes
in .el/build-cache.json), cross-compilation target tagging, dep resolution,
plugin registry with on_ast/on_typed_ast/on_bytecode hooks, test runner,
fmt/check/clean commands
- CrossTarget and NativeTarget enums with triple() and artifact_extension()
methods; NativeTarget::Host detects compile-time platform via cfg! macros
- Plugin system: CompilerPlugin trait + PluginRegistry; dynamic loading is
a marked TODO with clear extension point for libloading
- CLI extended with: new, add, remove, update, build --cross, run, test,
check, fmt, clean, publish, search, plugin add/remove/list; old
single-file commands moved to build-file/seal/unseal subcommands
- Fix pre-existing debugger.rs borrow error (unwrap_or temporary lifetime)
- Fix checker.rs and codegen.rs to handle TestDef/Seed/Assert Stmt variants
- Add spec/language.md sections 12-14: package system, build system,
plugin system, cross-compilation targets table
130 tests passing, zero warnings
2026-04-27 19:08:25 -05:00