{"_id":"@anarchitects/governance-extension-nx","_rev":"4-4e0981a7e3538bf3df66361d684bbc81","name":"@anarchitects/governance-extension-nx","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"@anarchitects/governance-extension-nx","version":"0.0.1","license":"Apache-2.0","_id":"@anarchitects/governance-extension-nx@0.0.1","maintainers":[{"name":"vrxj81","email":"johan@anarchitects.dev"}],"homepage":"https://github.com/anarchitects/anarchitecture-plugins#readme","bugs":{"url":"https://github.com/anarchitects/anarchitecture-plugins/issues"},"nx":{"tags":["npm:public","type:extension","domain:governance"],"metadata":{"ownership":{"team":"@anarchitects/architecture"},"documentation":true}},"dist":{"shasum":"982933d0841b9f6e5f20fcc358cd5bec5618d122","tarball":"https://registry.npmjs.org/@anarchitects/governance-extension-nx/-/governance-extension-nx-0.0.1.tgz","fileCount":8,"integrity":"sha512-yMunTFTXEBQk7VXMD36f7aDqT+Xi+9q1moXDSpMSgo2rWw/ILJt4kFgBqSfQt1D0pIX4zYL1wYa0XkenvEaB9w==","signatures":[{"sig":"MEUCIQDNebceOygcrl1AvyXQB8rzd3AGVTYxyV0mQN4YG00kOAIgRJYVU3U19WTzM+PhZUG0oA4vmvMT78h8ZaJpnxOUlq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7925},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@anarchitecture-plugins/source":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"af9ccc06c9f64b2c024ad653be010f976755abf5","_npmUser":{"name":"vrxj81","email":"johan@anarchitects.dev"},"repository":{"url":"git+https://github.com/anarchitects/anarchitecture-plugins.git","type":"git","directory":"packages/governance-extension-nx"},"_npmVersion":"10.9.8","description":"Governance Core extension boundary for future Nx-specific governance interpretation.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tslib":"^2.3.0","@anarchitects/governance-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/governance-extension-nx_0.0.1_1780473352395_0.6550843358481171","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@anarchitects/governance-extension-nx","version":"0.0.2","license":"Apache-2.0","_id":"@anarchitects/governance-extension-nx@0.0.2","maintainers":[{"name":"vrxj81","email":"johan@anarchitects.dev"}],"homepage":"https://github.com/anarchitects/anarchitecture-plugins#readme","bugs":{"url":"https://github.com/anarchitects/anarchitecture-plugins/issues"},"nx":{"name":"governance-extension-nx","tags":["npm:public","type:extension","domain:governance"],"metadata":{"ownership":{"team":"@anarchitects/architecture"},"documentation":true}},"dist":{"shasum":"9ce27613ef61432afc1c4a22c74393e9f52111df","tarball":"https://registry.npmjs.org/@anarchitects/governance-extension-nx/-/governance-extension-nx-0.0.2.tgz","fileCount":8,"integrity":"sha512-8xGj2HTwYlaVHGTZc/u60T/3G7r6WKQIhwikF7ADOvPzNMViRUvCZAKtnZwLinCQfTFKYnRZ3kSZ/oUAuGVX5g==","signatures":[{"sig":"MEUCIBoOTJ9iA5IFU2FGqajBehhdakVCtXDone3Ods7GNsXvAiEAuyOf/1s/FmBBIvNemMxuyPWJIiiHuZUdUcI2FKsnMwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anarchitects%2fgovernance-extension-nx@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7964},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@anarchitecture-plugins/source":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"090e0a1387c0efe60f9ab51306e542790f414a1f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:12ba73e4-473a-46a4-86df-91bcca378a5d"}},"repository":{"url":"git+https://github.com/anarchitects/anarchitecture-plugins.git","type":"git","directory":"packages/governance-extension-nx"},"_npmVersion":"11.13.0","description":"Governance Core extension boundary for future Nx-specific governance interpretation.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.3.0","@anarchitects/governance-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/governance-extension-nx_0.0.2_1780474660776_0.20084664532612884","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@anarchitects/governance-extension-nx","version":"0.1.0","license":"Apache-2.0","_id":"@anarchitects/governance-extension-nx@0.1.0","maintainers":[{"name":"vrxj81","email":"johan@anarchitects.dev"}],"homepage":"https://github.com/anarchitects/anarchitecture-plugins#readme","bugs":{"url":"https://github.com/anarchitects/anarchitecture-plugins/issues"},"nx":{"name":"governance-extension-nx","tags":["npm:public","type:extension","domain:governance"],"metadata":{"ownership":{"team":"@anarchitects/architecture"},"documentation":true}},"dist":{"shasum":"7ee58d92ce5c8f031f6ed5932e181ab7fcaf0bae","tarball":"https://registry.npmjs.org/@anarchitects/governance-extension-nx/-/governance-extension-nx-0.1.0.tgz","fileCount":8,"integrity":"sha512-eqjOir792Ca97Hu5TkysSHNc3jcpPiDTzbZiRYBgbvKvaBJOh4TS1ik08z54MN3H4zM0AkFdABGAfNL1EdB5wQ==","signatures":[{"sig":"MEYCIQCJvIskVM2b6l78mQBz6VPukiiCFPGX0j614tQUiybcSwIhAOWBUYBr+3m1EV/wtj0leqz+aeXjGYPS2OEHTdIWyokG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anarchitects%2fgovernance-extension-nx@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29241},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","@anarchitecture-plugins/source":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"ae78d4217feab251f283fec907ed059d27d0b0a8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:12ba73e4-473a-46a4-86df-91bcca378a5d"}},"repository":{"url":"git+https://github.com/anarchitects/anarchitecture-plugins.git","type":"git","directory":"packages/governance-extension-nx"},"_npmVersion":"11.13.0","description":"Governance Core extension boundary for future Nx-specific governance interpretation.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.3.0","@anarchitects/governance-core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/governance-extension-nx_0.1.0_1781170832478_0.35376602165458015","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anarchitects/governance-extension-nx","version":"0.1.1","description":"Governance Core extension boundary for future Nx-specific governance interpretation.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/anarchitects/anarchitecture-plugins.git","directory":"packages/governance-extension-nx"},"exports":{"./package.json":"./package.json",".":{"@anarchitecture-plugins/source":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"nx":{"name":"governance-extension-nx","metadata":{"documentation":true,"ownership":{"team":"@anarchitects/architecture"}},"tags":["npm:public","type:extension","domain:governance"]},"dependencies":{"@anarchitects/governance-core":"0.4.1","tslib":"^2.3.0"},"gitHead":"985ebdcf9a4ef97b1c2dc4b657dfbff9ca8de449","_id":"@anarchitects/governance-extension-nx@0.1.1","bugs":{"url":"https://github.com/anarchitects/anarchitecture-plugins/issues"},"homepage":"https://github.com/anarchitects/anarchitecture-plugins#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-0MS7nic5s6+QPM4Xf8xjezWBMCFXUworRPvW8POm/EKOzmMLgeZic2xJ/iLA2k3eBO6iuK6VNSAr0BgewUa5kw==","shasum":"d23a01525882276fa00547638ca2a3d6f08afa54","tarball":"https://registry.npmjs.org/@anarchitects/governance-extension-nx/-/governance-extension-nx-0.1.1.tgz","fileCount":8,"unpackedSize":26273,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anarchitects%2fgovernance-extension-nx@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC53aefAVO4PCvtRI7vqjo3U57JGnPH3r0DepGVxGA0ywIgb4SkGSNfOIBzQeHzFvap+t/mdfiIcW1bHM3x6oKhp70="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:12ba73e4-473a-46a4-86df-91bcca378a5d"}},"directories":{},"maintainers":[{"name":"vrxj81","email":"johan@anarchitects.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/governance-extension-nx_0.1.1_1781441667686_0.7720871629090291"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T07:55:52.161Z","modified":"2026-06-14T12:54:28.070Z","0.0.1":"2026-06-03T07:55:52.519Z","0.0.2":"2026-06-03T08:17:40.927Z","0.1.0":"2026-06-11T09:40:32.604Z","0.1.1":"2026-06-14T12:54:27.820Z"},"bugs":{"url":"https://github.com/anarchitects/anarchitecture-plugins/issues"},"license":"Apache-2.0","homepage":"https://github.com/anarchitects/anarchitecture-plugins#readme","repository":{"type":"git","url":"git+https://github.com/anarchitects/anarchitecture-plugins.git","directory":"packages/governance-extension-nx"},"description":"Governance Core extension boundary for future Nx-specific governance interpretation.","maintainers":[{"name":"vrxj81","email":"johan@anarchitects.dev"}],"readme":"# @anarchitects/governance-extension-nx\n\n## Overview\n\n@anarchitects/governance-extension-nx is the Nx-focused Governance extension package. It consumes canonical Governance workspace `nodes` and `relations`, then contributes Nx-specific enrichers, rule evaluation, signals, and metrics through Governance Core extension contracts.\n\nUse this package when you want to register Nx-specific rules, metrics, recommendations, or enrichers in the Governance ecosystem.\n\n## Key Concepts\n\n- Extension boundary: isolates Nx-specific governance intelligence from host and adapter responsibilities.\n- Canonical graph inputs: extension behavior reads `workspace.nodes`, `workspace.relations`, `metadata.nx`, and `capability:nx`.\n- Capability-aware contributions: extension behavior can react to adapter-provided nx.\\* capabilities.\n- Core-first contracts: extension registration is defined through @anarchitects/governance-core extension APIs.\n\n## Installation\n\nInstall through the host package for normal Nx usage:\n\n```bash\nyarn nx add @anarchitects/nx-governance\n```\n\nDirect installation is useful when consuming extension definitions in custom tooling.\n\n## Quick Start\n\n```ts\nimport {\n  governanceExtensionNx,\n  createGovernanceExtensionNx,\n} from '@anarchitects/governance-extension-nx';\n\nconst extension = createGovernanceExtensionNx();\nconsole.log(governanceExtensionNx.id, extension.version);\n```\n\nThe extension expects canonical workspace inventory:\n\n```ts\nconst workspace = {\n  id: 'repo',\n  name: 'repo',\n  root: '/repo',\n  nodes: [\n    {\n      id: 'apps/store',\n      kind: 'project',\n      sourceSystem: 'nx',\n      metadata: {\n        nx: {\n          projectType: 'application',\n          tags: ['domain:commerce', 'layer:app'],\n          targets: ['build', 'test'],\n        },\n      },\n    },\n  ],\n  relations: [\n    {\n      id: 'nx:apps/store->libs/shared-ui:static:apps/store/src/app.ts',\n      sourceNodeId: 'apps/store',\n      targetNodeId: 'libs/shared-ui',\n      kind: 'dependency',\n      metadata: {\n        nx: {\n          dependencyType: 'static',\n          sourceFile: 'apps/store/src/app.ts',\n        },\n      },\n    },\n  ],\n};\n```\n\n## Architecture\n\n```mermaid\nflowchart TD\n  A[@anarchitects/nx-governance] --> B[@anarchitects/governance-adapter-nx]\n  B --> C[@anarchitects/governance-core]\n  D[@anarchitects/governance-extension-nx] --> C\n```\n\nMore implementation-oriented architecture notes are available in ../../docs/architecture/governance-plugin-side-packages.md.\n\n## Responsibilities\n\nThis package owns:\n\n- canonical node enrichment\n- canonical relation enrichment\n- node/relation-referenced rule outputs\n- node/relation-referenced signals\n- Nx-focused metrics\n- capability-aware Nx interpretation\n\nThis package does not own:\n\n- Nx metadata discovery\n- Nx extraction\n- report rendering\n- host orchestration\n- Nx generators and executors\n\n## Public API\n\n- governanceExtensionNx\n- createGovernanceExtensionNx\n- GOVERNANCE_EXTENSION_NX_ID\n- GOVERNANCE_EXTENSION_NX_NAME\n- GOVERNANCE_EXTENSION_NX_VERSION\n- GOVERNANCE_EXTENSION_NX_OPTIONAL_CAPABILITIES\n- default export (governanceExtensionNx)\n\n## Usage\n\nUse the exported extension definition in a host composition flow that accepts Governance Core extension definitions.\n\n```ts\nimport { governanceExtensionNx } from '@anarchitects/governance-extension-nx';\n\n// Register the extension in your Governance host composition.\nvoid governanceExtensionNx;\n```\n\nRegistered contributions operate on canonical graph facts only. They do not read or emit `projects` or `dependencies` compatibility views.\n\n## Configuration\n\nThis package has no standalone configuration file format. Configuration is provided by the host layer (for example, profile composition and extension registration in Nx governance setup).\n\n## Related Packages\n\n- @anarchitects/governance-core: extension contracts and canonical governance model.\n- @anarchitects/governance-adapter-nx: supplies nx.\\* capabilities and canonical workspace facts.\n- @anarchitects/nx-governance: user-facing host that composes adapter and extension packages.\n\n## Compatibility\n\n- Depends on @anarchitects/governance-core.\n- Intended for composition through @anarchitects/nx-governance in Nx environments.\n\n## FAQ\n\n### Does this package replace the adapter package?\n\nNo. The adapter extracts Nx facts; this extension interprets Nx facts through extension contracts.\n\n### Does this package render reports?\n\nNo. Rendering and output routing belong to host/runtime layers.\n\n## License\n\nCopyright © 2026 Optimalist BV and Anarchitects contributors.\n\nLicensed under the Apache License, Version 2.0. See the repository [LICENSE](../../LICENSE) and [NOTICE](../../NOTICE) files.\n","readmeFilename":"README.md"}