add epm — El Package Manager
Introduces epm/, a new component written entirely in native El.
epm manages vessels (El's deployable package format): publish to Engram,
install with full dependency resolution, list registry contents, and
inspect vessel metadata.
- epm/manifest.el — package manifest
- epm/src/manifest.el — vessel/package manifest parser (line-by-line,
same approach as elb.el)
- epm/src/registry.el — Engram-backed vessel registry (POST /api/nodes,
GET /api/search); vessels stored as Entity nodes
with label "vessel:<name>:<version>"
- epm/src/install.el — topological dependency resolver with cycle
detection; installs to .epm/vessels/<name>/
- epm/src/epm.el — main entry point: publish / install / list / info
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
// epm — El Package Manager
|
||||
//
|
||||
// Manages vessels: publish, install, resolve dependencies.
|
||||
// Vessels are stored in Engram as nodes. epm reads the local manifest.el,
|
||||
// talks to Engram over HTTP, and writes installed vessels to .epm/vessels/.
|
||||
|
||||
package "epm" {
|
||||
version "0.1.0"
|
||||
description "El Package Manager — vessel registry, publish, install, resolve"
|
||||
authors ["Will Anderson <will@neurontechnologies.ai>"]
|
||||
edition "2026"
|
||||
}
|
||||
|
||||
build {
|
||||
entry "src/epm.el"
|
||||
output "dist/"
|
||||
}
|
||||
Reference in New Issue
Block a user