Files
zeekay 36e8a74835 feat(@luxfi/brand-rules): v0.1.0 — per-org brand sovereignty banlists
One published package for LP-0010 / HIP-0303 / ZIP-0031 / PIP-0006 /
LIP-0006 (no-crossover) enforcement. Replaces per-org copies of the
brand-rules YAML files with a single source of truth that:

  * Ships the 5 per-org rule files (rules/{lux,hanzo,zoo,pars,liquidity}.yml)
  * Exports a programmatic loader (rulesFor / rulePath / SUPPORTED_ORGS)
  * Provides a node CLI (brand-check) that mirrors the bash validator
  * Provides the bash validator (scripts/brand-check.sh) for legacy use
  * Adds ZIP-0031 §6 academic-collab exemptions for zoo (model_card*,
    *.bib, papers/**, datasets/**/README*)

CI workflows (ci.yml) run lint + unit tests + CLI smoke against clean
and dirty fixtures. publish.yml fires on v* tags using the luxfi org
NPM_TOKEN secret.

Co-existing with hanzoai/.github's vendored copies until npm publish
is live; consumer-side swap PR follows.

Tests: 20/20 passing. CLI flags dirty fixture with 5 violations across
2 files, exit 1; clean fixture exits 0.
2026-05-30 01:23:02 -07:00

43 lines
1019 B
JSON

{
"name": "@luxfi/brand-rules",
"version": "0.1.0",
"description": "Per-org brand sovereignty banlists for LP-0010 / HIP-0303 / ZIP-0031 (no-crossover) enforcement. Used by CI lint + local pre-push validator.",
"license": "BSD-3-Clause",
"homepage": "https://github.com/luxfi/brand-rules",
"repository": {
"type": "git",
"url": "git+https://github.com/luxfi/brand-rules.git"
},
"bugs": "https://github.com/luxfi/brand-rules/issues",
"type": "module",
"main": "./src/index.js",
"exports": {
".": "./src/index.js",
"./cli": "./src/cli.js",
"./rules/*": "./rules/*.yml"
},
"bin": {
"brand-check": "./src/cli.js"
},
"files": [
"src",
"rules",
"scripts",
"README.md",
"LICENSE"
],
"engines": {
"node": ">=20"
},
"scripts": {
"test": "node --test test/*.test.js",
"lint": "node --check src/index.js && node --check src/cli.js"
},
"dependencies": {
"js-yaml": "^4.1.0"
},
"publishConfig": {
"access": "public"
}
}