@exellix/narrix-catalox
v2.0.0
Published
Narrix pack → Catalox native catalogs (bundle + seed helpers)
Readme
@exellix/narrix-catalox
Builds a Narrix PackManifest into a CataloxSeedBundle, and can optionally upsert that bundle into Catalox native catalogs (ensureCatalog, ensureBinding, descriptor upserts, batchUpsertNativeCatalogItems).
This package is Catalox-native. It does not provide pack registries or legacy “pack library” compatibility APIs.
Requirements
.envwithCATALOX_APP_ID,FIREBASE_PROJECT_ID, and credentials (supported by@x12i/catalox/firebase:FIREBASE_SERVICE_ACCOUNT_PATH,GOOGLE_SERVICE_ACCOUNT_BASE64, or ADC viaGOOGLE_APPLICATION_CREDENTIALS/ workload identity).
Commands
| Command | Purpose |
|--------|---------|
| npm run build | Emit dist/ (library src/ only). |
| npm test | Unit tests. Read-only live Firestore: set any of FIRESTORE_LIVE_TESTS=1, CATALOX_LIVE_TESTS=1, or LIVE_TESTS=1. Optional: CATALOX_LIVE_CHECK_APP=1 asserts apps/${CATALOX_APP_ID} exists. |
| npm run seed:dry | Print bundle summary, no Firestore writes. |
| npm run seed | Live seed from narrixArchiveManifest(). |
| npm run audit | Compare archive bundle vs Firestore; writes reports/narrix-catalox-audit.md. |
Library surface
Import getSeedBundle, runCataloxSeed, CATALOG_SPECS, and types from the package root.
Client usage guide: docs/client-usage.md.
Related integration note: docs/ai-tasks-execution-strategies.md.
Do not commit .npmrc, .secrets/, or .env.
Publish (@exellix on GitHub Packages)
- Copy
.npmrc.exampleto.npmrc(or merge the two lines into your user-level npm config). - Set
NODE_AUTH_TOKENto a GitHub PAT withwrite:packages(andread:packagesfor installs). For a private repo, the token typically also needsrepo. npm run build && npm publish
The package is scoped as @exellix/narrix-catalox and uses publishConfig.registry → https://npm.pkg.github.com.
