{"_id":"@lorion-org/runtime-config-node","_rev":"7-9491adecf554f1f779f551d3406faa16","name":"@lorion-org/runtime-config-node","dist-tags":{"beta":"1.0.0-beta.5","latest":"1.0.0-beta.8"},"versions":{"1.0.0-beta.0":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.0","keywords":["runtime-config","filesystem","node","typescript"],"license":"MIT","_id":"@lorion-org/runtime-config-node@1.0.0-beta.0","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"000c3de204a954e571c52e42c94da43ba3a60678","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.0.tgz","fileCount":11,"integrity":"sha512-DQiw/HibHxfBwjyeNGP3k4EmpRLIEbWM6McqzTnCaX8tnKSIQvfNo1ycD7vLsMK8k9OK2FjTKSVnGJfO9FeQgQ==","signatures":[{"sig":"MEUCIQCaID187Jm+E7OQX9PNvFZ1TqSe8pK/MHzoT0BecKDCJgIgB1/DBAIlIQSaeGuszmDUmZRsG86zT0Dpn2EAqc3gmC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75150},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"davewww","email":"david@dampfer.net"},"_resolved":"C:\\Users\\david\\AppData\\Local\\Temp\\a0eb5faa2995057bb50b774009bd41c8\\lorion-org-runtime-config-node-1.0.0-beta.0.tgz","_integrity":"sha512-DQiw/HibHxfBwjyeNGP3k4EmpRLIEbWM6McqzTnCaX8tnKSIQvfNo1ycD7vLsMK8k9OK2FjTKSVnGJfO9FeQgQ==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/runtime-config-node"},"_npmVersion":"10.9.2","description":"Node file-system helpers for runtime-config directories and files.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime-config-node_1.0.0-beta.0_1777463990225_0.1516443014237303","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.1","keywords":["runtime-config","filesystem","node","typescript"],"license":"MIT","_id":"@lorion-org/runtime-config-node@1.0.0-beta.1","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"f80699e25339eaef9ec5301f85a147b76f5956d6","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.1.tgz","fileCount":12,"integrity":"sha512-pA3KBqfgPOljFMnXpJYugpKs6b0tpd0EZyvMQQp/ltiTVhuUnSqhY3pB4TVaWK5SyJ3zqH4A8j4wkqQZLdIXOg==","signatures":[{"sig":"MEQCIEuSsxfRA5uJ6tGeaKWb6x+3DdCg8aF+AjR118WOU1rhAiBNK5+/ACL87mkDqUCakxk7w7ZxDSSxK1ExEG6ddwMXJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fruntime-config-node@1.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116748},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be34ce72-857e-408d-9ae0-b23e3f3f059a"}},"_resolved":"/tmp/45bd4fefc6f6f5e3e26bb999d98138f4/lorion-org-runtime-config-node-1.0.0-beta.1.tgz","_integrity":"sha512-pA3KBqfgPOljFMnXpJYugpKs6b0tpd0EZyvMQQp/ltiTVhuUnSqhY3pB4TVaWK5SyJ3zqH4A8j4wkqQZLdIXOg==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/runtime-config-node"},"_npmVersion":"11.11.0","description":"Node file-system helpers for runtime-config directories and files.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime-config-node_1.0.0-beta.1_1777894985963_0.45570743396450863","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.5","keywords":["runtime-config","filesystem","node","typescript"],"license":"MIT","_id":"@lorion-org/runtime-config-node@1.0.0-beta.5","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"ee21a7a5a6401c211676c90925de32e9ddce25f7","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.5.tgz","fileCount":8,"integrity":"sha512-iRon60LGo+X/rhVwzrYSN+vAZR/nII9CMyhcubktRMEkkra7d1JjwRVOYGc5EBNmXPJeTponaOoCAHmVVWMCKg==","signatures":[{"sig":"MEQCIFrZYOQqMc+B2LNEzgkJGQq9FycYb30WTNzddXJ5RECGAiAVOHfrBmnXjbYWeak+lx0kc/XOasvHIlShpwRtjnJuRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fruntime-config-node@1.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113524},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be34ce72-857e-408d-9ae0-b23e3f3f059a"}},"_resolved":"/tmp/77e0b073cd1219cd1b1346462ee1939a/lorion-org-runtime-config-node-1.0.0-beta.5.tgz","_integrity":"sha512-iRon60LGo+X/rhVwzrYSN+vAZR/nII9CMyhcubktRMEkkra7d1JjwRVOYGc5EBNmXPJeTponaOoCAHmVVWMCKg==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/runtime-config-node"},"_npmVersion":"11.16.0","description":"Node file-system helpers for runtime-config directories and files.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime-config-node_1.0.0-beta.5_1784540012617_0.05876462237212121","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.6","keywords":["runtime-config","filesystem","node","typescript"],"license":"MIT","_id":"@lorion-org/runtime-config-node@1.0.0-beta.6","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"52a09ee44a2933e6e7c8d82350b2657620a1618e","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.6.tgz","fileCount":8,"integrity":"sha512-niL6kw6Zl0mCn3Up7IupZR8V7WRGTLpCezr50PhF1Ggz6VtVqcfVt2I6LvynP+FcGtcbDLuPQotCqu2d27Rjvw==","signatures":[{"sig":"MEQCIFhrUwxlHLE3PabyPDf6OnV8qO8ZJ7iY3YXEDRF3TjENAiA+K1VndbkSm+HoLIjFhBpCkiApCHVfb1msjMckZMxt8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fruntime-config-node@1.0.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113524},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be34ce72-857e-408d-9ae0-b23e3f3f059a"}},"_resolved":"/tmp/0ef308d731251fdaff02ccc742bda0e3/lorion-org-runtime-config-node-1.0.0-beta.6.tgz","_integrity":"sha512-niL6kw6Zl0mCn3Up7IupZR8V7WRGTLpCezr50PhF1Ggz6VtVqcfVt2I6LvynP+FcGtcbDLuPQotCqu2d27Rjvw==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/runtime-config-node"},"_npmVersion":"11.16.0","description":"Node file-system helpers for runtime-config directories and files.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime-config-node_1.0.0-beta.6_1784831541368_0.7459624298031122","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.7","keywords":["runtime-config","filesystem","node","typescript"],"license":"MIT","_id":"@lorion-org/runtime-config-node@1.0.0-beta.7","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"48f56ab58d246337dc65cb3480e7371fdec74dc4","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.7.tgz","fileCount":8,"integrity":"sha512-B2UyJjSqFDsWoP/fteMZvrxdM4/UPloyYgfv5YVUxDslAAdjKDR1xmZIIy13fso1PMGm5lNesqxfcLq0Ih5zqg==","signatures":[{"sig":"MEUCIEIgqp0HhJkzFB1+3Y0DMCYB3A59b9X1g82M/bkhxrdaAiEA2VnS4IMw4nTl3gMD6GeEwq1qR6PhsKxSdV0tW3sJ5ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fruntime-config-node@1.0.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113524},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be34ce72-857e-408d-9ae0-b23e3f3f059a"}},"_resolved":"/tmp/71b59932f88e7d720e7cdd8d124a6bfa/lorion-org-runtime-config-node-1.0.0-beta.7.tgz","_integrity":"sha512-B2UyJjSqFDsWoP/fteMZvrxdM4/UPloyYgfv5YVUxDslAAdjKDR1xmZIIy13fso1PMGm5lNesqxfcLq0Ih5zqg==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/runtime-config-node"},"_npmVersion":"11.16.0","description":"Node file-system helpers for runtime-config directories and files.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime-config-node_1.0.0-beta.7_1785089200568_0.03511436602250528","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"@lorion-org/runtime-config-node","version":"1.0.0-beta.8","description":"Node file-system helpers for runtime-config directories and files.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/lorion-org/lorion.git","directory":"packages/runtime-config-node"},"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"type":"module","sideEffects":false,"publishConfig":{"access":"public"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"keywords":["runtime-config","filesystem","node","typescript"],"engines":{"node":"^20.19.0 || >=22.12.0"},"dependencies":{"ajv":"^8.17.1","@lorion-org/runtime-config":"^1.0.0-beta.8"},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/runtime-config-node/src/index.spec.ts","package:check":"pnpm build && pnpm pack --dry-run && publint","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@lorion-org/runtime-config-node@1.0.0-beta.8","_integrity":"sha512-tJWN4BFssm852Qi/XRhQssOJjKNopQEdVGWUWal/SjzBjGD2bCARwEFgkxKyd1exojfHIV8ydfkv9CFcL7c6Hw==","_resolved":"/tmp/894ccd5395cde81033e7636b234f5fa5/lorion-org-runtime-config-node-1.0.0-beta.8.tgz","_from":"file:lorion-org-runtime-config-node-1.0.0-beta.8.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-tJWN4BFssm852Qi/XRhQssOJjKNopQEdVGWUWal/SjzBjGD2bCARwEFgkxKyd1exojfHIV8ydfkv9CFcL7c6Hw==","shasum":"db26e349fd0daf731c19ad9db34b02b82a9fd301","tarball":"https://registry.npmjs.org/@lorion-org/runtime-config-node/-/runtime-config-node-1.0.0-beta.8.tgz","fileCount":8,"unpackedSize":113524,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fruntime-config-node@1.0.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0/Xc+Cqqf99pKYQHdJnEYePZWTY4nQulYBC1uyJRiFAIgNFfHbrgJLfbyxxQsGEEgYmpDr4Rf+xEfLXYkgQ97u+g="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:be34ce72-857e-408d-9ae0-b23e3f3f059a"}},"directories":{},"maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/runtime-config-node_1.0.0-beta.8_1785770492972_0.08336020343025452"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-29T11:59:50.144Z","modified":"2026-08-03T15:21:33.516Z","1.0.0-beta.0":"2026-04-29T11:59:50.435Z","1.0.0-beta.1":"2026-05-04T11:43:06.090Z","1.0.0-beta.5":"2026-07-20T09:33:32.759Z","1.0.0-beta.6":"2026-07-23T18:32:21.512Z","1.0.0-beta.7":"2026-07-26T18:06:40.706Z","1.0.0-beta.8":"2026-08-03T15:21:33.137Z"},"bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"license":"MIT","homepage":"https://github.com/lorion-org/lorion/tree/main/packages/runtime-config-node#readme","keywords":["runtime-config","filesystem","node","typescript"],"repository":{"type":"git","url":"git+https://github.com/lorion-org/lorion.git","directory":"packages/runtime-config-node"},"description":"Node file-system helpers for runtime-config directories and files.","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"readme":"# @lorion-org/runtime-config-node\n\nNode-side runtime-config loaders and path conventions.\n\nIt stays generic: directories are scopes, files are fragments, and loaded values\nuse the contracts from `@lorion-org/runtime-config`.\n\n## Install\n\n```shell\npnpm add @lorion-org/runtime-config-node @lorion-org/runtime-config\n```\n\n## What it is\n\n- path helpers for runtime-config directories\n- a JSON fragment loader for one scope\n- a tree loader for all scope directories below one `runtime-config` root\n- pattern-source helpers for adapters that do not use the default tree shape\n- tree-query helpers for list/show/project/get/scope flows\n- env-var and shell-assignment rendering from a loaded tree\n- JSON and text file read/write helpers for adapter layers\n- source, scope-file, and public-file path helpers for thin integrations\n- schema validation for runtime-config targets\n\n## What it is not\n\n- not a framework module\n- not a config-file parser beyond JSON\n- not an application-specific directory convention\n\n## Directory shape\n\n```text\nvar/\n  runtime-config/\n    checkout/\n      runtime.config.json\n    payments/\n      runtime.config.json\n```\n\n## Basic example\n\n```ts\nimport { loadRuntimeConfigTree } from '@lorion-org/runtime-config-node';\nimport { projectSectionedRuntimeConfig } from '@lorion-org/runtime-config';\n\nconst fragments = loadRuntimeConfigTree('./var');\nconst runtimeConfig = projectSectionedRuntimeConfig(fragments);\n\nruntimeConfig.public.checkoutSuccessPath;\n```\n\n## Single fragment example\n\n```ts\nimport { loadRuntimeConfigFragment } from '@lorion-org/runtime-config-node';\n\nconst checkout = loadRuntimeConfigFragment('./var', 'checkout');\n\ncheckout?.public?.successPath;\n```\n\n## Source and scope file example\n\nAdapters often need one shared source convention and a few non-fragment files\ninside a scope directory. Keep the source generic and pass application-specific\nfile names from the adapter.\n\n```ts\nimport {\n  readRuntimeConfigScopeJson,\n  resolveRuntimeConfigPublicFilePath,\n  resolveRuntimeConfigSource,\n} from '@lorion-org/runtime-config-node';\n\nconst source = resolveRuntimeConfigSource({\n  defaultVarDir: './var',\n  env: process.env,\n  envKey: 'APP_VAR_DIR',\n});\n\nreadRuntimeConfigScopeJson(source, 'checkout', 'settings.json');\n// => { successPath: '/orders/confirmed' }\n\nresolveRuntimeConfigPublicFilePath(source, 'checkout/logo.svg');\n// => '/absolute/project/path/var/runtime-config/public/checkout/logo.svg'\n```\n\n## Pattern source example\n\nAdapters can load fragments from path patterns when the directory convention is\nowned by the host application. Pattern sources use exactly one `*` wildcard; the\nmatched segment becomes the scope id.\n\n```ts\nimport {\n  loadRuntimeConfigSourceTree,\n  resolveRuntimeConfigSourceFiles,\n  validateRuntimeConfigSourceScopes,\n} from '@lorion-org/runtime-config-node';\n\nconst source = {\n  paths: ['.runtimeconfig/runtime-config/*/runtime.config.json'],\n};\n\nresolveRuntimeConfigSourceFiles(source);\n// => [{ scopeId: 'checkout', configPath: '/project/.runtimeconfig/runtime-config/checkout/runtime.config.json', ... }]\n\nloadRuntimeConfigSourceTree(source).get('checkout')?.public?.successPath;\n// => '/orders/confirmed'\n\nvalidateRuntimeConfigSourceScopes(source, [{ scopeId: 'checkout', cwd: './extensions/checkout' }]);\n```\n\n## Write fragment example\n\n```ts\nimport { writeRuntimeConfigFragment } from '@lorion-org/runtime-config-node';\n\nwriteRuntimeConfigFragment('./var', 'checkout', {\n  public: {\n    successPath: '/orders/confirmed',\n  },\n});\n```\n\n## Env assignment example\n\nRuntime-config env rendering delegates projection rules to\n`@lorion-org/runtime-config` and keeps file-system loading in this package.\n\n```ts\nimport { loadRuntimeConfigShellAssignments } from '@lorion-org/runtime-config-node';\n\nloadRuntimeConfigShellAssignments('./var', {\n  prefix: 'APP',\n});\n// => APP_PUBLIC_CHECKOUT_SUCCESS_PATH='\"/orders/confirmed\"'\n```\n\n## Tree query example\n\nThese helpers are useful for CLIs, local tooling, and lightweight adapters that\nneed to inspect runtime-config trees without reimplementing projection rules.\n\n```ts\nimport {\n  getRuntimeConfigScopeView,\n  getRuntimeConfigValue,\n  listRuntimeConfigFragments,\n  projectRuntimeConfigTree,\n} from '@lorion-org/runtime-config-node';\n\nlistRuntimeConfigFragments('./var');\n// => { scopes: [{ scopeId: 'checkout', ... }] }\n\nprojectRuntimeConfigTree('./var').runtimeConfig.public.checkoutSuccessPath;\n// => '/orders/confirmed'\n\ngetRuntimeConfigValue('./var', 'checkout', 'successPath').value;\n// => '/orders/confirmed'\n\ngetRuntimeConfigScopeView('./var', 'checkout').config;\n// => { successPath: '/orders/confirmed' }\n```\n\n## Schema validation example\n\nSchema validation applies to the fragment file on disk. Projection into a flat\nruntime object happens afterwards in `@lorion-org/runtime-config`.\n\n```ts\nimport { validateRuntimeConfigSchemaTargets } from '@lorion-org/runtime-config-node';\n\nvalidateRuntimeConfigSchemaTargets([\n  {\n    scopeId: 'checkout',\n    schemaPath: './schemas/checkout.schema.json',\n    configPath: './var/runtime-config/checkout/runtime.config.json',\n  },\n]);\n```\n\nFor adapters that resolve schema locations from scope directories, use\n`validateRuntimeConfigScopes(...)` to collect `validated` and `skipped`\ntargets before the AJV validation runs.\n\nRunnable example files live in [`snippets/`](./snippets).\n\n## Local commands\n\n```shell\ncd packages/runtime-config-node\npnpm build\npnpm test\npnpm typecheck\npnpm package:check\n```\n","readmeFilename":"README.md"}