{"_id":"@0xjordan/ideality","_rev":"8-a65741820539df89e77c988e8d9414bf","name":"@0xjordan/ideality","dist-tags":{"latest":"0.5.0"},"versions":{"0.2.1":{"name":"@0xjordan/ideality","version":"0.2.1","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.2.1","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"c4afae8a1f0b8b2b4e6bfe8c75b801fcaac6cbee","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.2.1.tgz","fileCount":6,"integrity":"sha512-XK7c2OaCA7zOo0c+mYzWPkpJkLBMahzrmOMi82CiSNJn0+hY89Ko7dPLsAAY1mHUmE8JELiogRde0aNWOuLj6w==","signatures":[{"sig":"MEQCIAPaxUB+ScBMb8ydr7Utf2ctT7brd3luDeCwSQIY2l/jAiAIy8p9e8MqfUYj3WjOOjl9lpxaaiQgOYwfZmOZQrxxdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34254},"type":"module","gitHead":"794c3875e7419b47901a486682f72049e021a85a","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"0xjordan","email":"me@0xjordan.dev"},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.14.1","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^3.22.0","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.3.14","typescript":"^5.9.3","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.1.97","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.1.97"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.2.1_1785133780107_0.9026482859036307","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@0xjordan/ideality","version":"0.2.2","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.2.2","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"6ad8920536cc45642cc49a1e4431e431ca77bba4","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.2.2.tgz","fileCount":6,"integrity":"sha512-wvQ+5pEO+NO4F5OXnzQAxOEJZ8I02pUeGjty4ZIFy4mRSE2wfdoodGCtTa7fp1lnm0TgNjDvkH7O/NlJqSq1tA==","signatures":[{"sig":"MEQCIEFZFt6BAx/zgt2etMN+EYflozhseH2bpOkg1xpvLvuzAiBzbxp/1NKpxB7mQDHhcZz+NmYXP3woXHms1A8xSNWWLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34254},"type":"module","gitHead":"4c852cec08ee2d093078e6f5797f0b2b0cb1749a","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.16.0","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^3.22.0","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.3.14","typescript":"^5.9.3","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.1.97","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.1.97"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.2.2_1785135295030_0.10660376428592366","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@0xjordan/ideality","version":"0.2.3","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.2.3","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"70363bebe645bf08285f1e698cfee13c228787f0","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.2.3.tgz","fileCount":6,"integrity":"sha512-eWvqrpxdpat0u/oZ2+ymMhJH4wbb/wP0cRf2fcjMedOprEDNeMnMF45zm/kj34C+DMnvUtOoT4H0TIFirIpMSA==","signatures":[{"sig":"MEYCIQCG6FZs7iYQ22XS6wm98IqWyyxx2M8Z4j1tujl11AQ8zgIhAMyYq7NLHSr1htiuNNk15Nocw78b4AOxOqzrPh4ZYBO/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34254},"type":"module","gitHead":"817d85867f780e86bf6ffa8d24b4ecc1093d631f","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.16.0","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^3.22.0","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.3.14","typescript":"^5.9.3","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.1.97","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.1.97"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.2.3_1785135550385_0.1445085522399927","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@0xjordan/ideality","version":"0.2.4","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.2.4","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"bb41265f4af9bd131a2107aa8573ef57be84eae6","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.2.4.tgz","fileCount":6,"integrity":"sha512-pl9Vlg5wBPI2jGCh6wJJkN1Khw2H2k9wS60deKBEVlBlptkSnwruzY7hZ2/vMytFvkAEGm6eD+1LZuh2a8QWYw==","signatures":[{"sig":"MEUCIQCJtHLhdVlHK02b8SkAxCSnPrmXYFJVwAql50CPdz2zHQIgXuQ2gEzlSLDiJXUMtaR4EuIEzr0v304RiuD8BvtJMwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34254},"type":"module","gitHead":"b622083200c9ad444a86f2dc4bfec3655671791c","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.16.0","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^3.22.0","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.3.14","typescript":"^5.9.3","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.1.97","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.1.97"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.2.4_1785136115158_0.9402281923791853","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@0xjordan/ideality","version":"0.2.5","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.2.5","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"d8f5c3d23cb0e061bc32978ea3a3345bf74aceb6","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.2.5.tgz","fileCount":6,"integrity":"sha512-Tif2seaA4dQFXxKfSDwgw9kxjRIQiiyGv9Mq0mRkubvs5A9ncPsClNkY8YjptJlQOAjAD/LGICNPTy28ff6Nig==","signatures":[{"sig":"MEUCIQCtPtFkIK2Oak7QCp3BVfK0azK0prloXccZzKNCKuLd4wIgZN5r2RdHI0DLoI1B/90WD9ENDN1233vN37f2p4Jb37w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34698},"type":"module","gitHead":"8a230777af35f780957af7167c9dd814d57a8f36","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"overrides":{"@opentui/core":"0.4.5","@opentui/react":"0.4.5"},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.16.0","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.3.14","typescript":"^7.0.2","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.4.5","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.4.5"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.2.5_1785139537472_0.7088572200070189","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@0xjordan/ideality","version":"0.3.0","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.3.0","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"e67f2de9e20af06f39e6b5d2540be0a27cb7fa52","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.3.0.tgz","fileCount":6,"integrity":"sha512-0uGMEJ2mmGWDFL5SvdEH20vqJNOILlMpSUydQyPIavhqZX603AY4lJyouwAKn6uO44W8TbHdvMHKxUvq+0+JVQ==","signatures":[{"sig":"MEUCIQDB1UyW2OTQNIY5jRSTQGmCsaA5GKVwsRFTN3mCoFmmagIgI6VYw72SXyEMbu/9QCmucUVLy7cOYsjppFfuASD+m68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGhTFTMQQspkwMoHEVcFfemsE1279NxDPyPzYuYxXj0KAiA0wQtrEovuQKi/7qZ4h7zhG7ndJBzue5I9i8ALmiDkwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0xjordan%2fideality@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36310},"type":"module","gitHead":"afd20455f671dc5de78f20a89df22bbcc0df27ee","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","package:check":"bun run scripts/npm-pack-json.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"overrides":{"@opentui/core":"0.4.5","@opentui/react":"0.4.5"},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.6.2","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"bun":"1.4.2","zod":"^4.4.3","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.4.2","typescript":"^7.0.2","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.4.5","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.4.5"},"patchedDependencies":{"@bunli/core@0.9.1":"patches/@bunli%2Fcore@0.9.1.patch","@bunli/runtime@0.3.2":"patches/@bunli%2Fruntime@0.3.2.patch"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.3.0_1790025972806_0.7592997385593387","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@0xjordan/ideality","version":"0.4.0","keywords":["cli","developer-tools","identity","profiles","secrets"],"author":"","license":"MIT","_id":"@0xjordan/ideality@0.4.0","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"homepage":"https://github.com/0xJord4n/ideality#readme","bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"os":["darwin","linux"],"bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"dist":{"shasum":"49fadb962a1509a541d0d79406b5f8a7915e218e","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.4.0.tgz","fileCount":6,"integrity":"sha512-hVqah4L+E0ywcyBWJcFK8V7EI3N0bgpmKpllRMRn3BCB9YfDcCJRGp0KE3ZOG458yRW/RPZx523W2l8jO2cJWA==","signatures":[{"sig":"MEUCIFmehUSxKQMiwHUyCEuFtuzSYOkOi0ggBeSeQqZGwDI+AiEAzeWILwCS5iTERmviz52MajWj3rQSrrLvj42wB+6oMKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSyZQoxiYzbsWMOJFp3G3/mwRW2QSAcJxdg+1qhvxF7QIgBdsDae9w82JYjDaXh+scyf4Nj1bG6UyIl8bU4NTy7Oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0xjordan%2fideality@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36835},"type":"module","gitHead":"fa9c5c78f04c6e6f570cb624ba3a4e5d040a0d13","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","package:check":"bun run scripts/npm-pack-json.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"overrides":{"@opentui/core":"0.4.5","@opentui/react":"0.4.5"},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.6.2","description":"Folder-based identity orchestration for developer tools","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"bun":"1.4.2","zod":"^4.4.3","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.4.2","typescript":"^7.0.2","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.4.5","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.4.5"},"patchedDependencies":{"@bunli/core@0.9.1":"patches/@bunli%2Fcore@0.9.1.patch","@bunli/runtime@0.3.2":"patches/@bunli%2Fruntime@0.3.2.patch"},"_npmOperationalInternal":{"tmp":"tmp/ideality_0.4.0_1790085194738_0.6271680048829145","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"os":["darwin","linux"],"_id":"@0xjordan/ideality@0.5.0","bin":{"ideality":"bin/ideality"},"cpu":["arm64","x64"],"bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"dist":{"shasum":"0614a5bead5a1311cb7e6078ccfbf9a7f92073c8","tarball":"https://registry.npmjs.org/@0xjordan/ideality/-/ideality-0.5.0.tgz","fileCount":6,"integrity":"sha512-acUkv6lM+gCd1LTk1IFp3k9T1dkjiaFHa9LVbueU5jTzcMe0z7h70KVEkdzXEE9wQ2liib9oKzFJPpsj1aCWog==","signatures":[{"sig":"MEQCIClrPs/xB3gd0+lbLIndmDP1hnFgTqn0ovQszOykLJP2AiAr0xyquYPJgi4O0K5Hp5C1b+nyHKXstgpdZF20giCerw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICBODCDk3dLr9MDC15F4zsqZAKnSc9J6fr3K0bO65eqrAiEA0SX9L+0WM82kO99RdsdqvXpGh8s6UG7s/WOdguUiwKU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0xjordan%2fideality@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37096},"name":"@0xjordan/ideality","type":"module","author":"","gitHead":"14c7791f6751986c6d350aec7e1bb74ac77fb19c","license":"MIT","scripts":{"dev":"bun run src/index.ts","lint":"biome lint .","test":"bun test","audit":"bun audit --audit-level=high","build":"bunli build","check":"bun run format:check && bun run lint && bun run typecheck && bun run catalog:check && bun run privileged:check && bun test","smoke":"bash scripts/smoke.sh","format":"biome format --write .","build:all":"bunli build --targets linux-x64,linux-arm64,darwin-x64,darwin-arm64","typecheck":"tsc --noEmit","perf:check":"bun run build && bun run scripts/check-performance.ts","test:watch":"bun test --watch","catalog:new":"bun run scripts/catalog-new.ts","postinstall":"bash scripts/install-package.sh","build:native":"bash scripts/build-native.sh","catalog:docs":"bun run scripts/catalog-check.ts --write","format:check":"biome format .","build:release":"bash scripts/build-release.sh","catalog:check":"bun run scripts/catalog-check.ts","package:check":"bun run scripts/npm-pack-json.ts","version:major":"bun pm version major --no-git-tag-version","version:minor":"bun pm version minor --no-git-tag-version","version:patch":"bun pm version patch --no-git-tag-version","privileged:check":"bun run scripts/privileged-adapter-check.ts","release:rehearsal":"bash scripts/release-rehearsal.sh"},"version":"0.5.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63d0887e-b554-4029-8c4b-6406f77d8f25"}},"homepage":"https://github.com/0xJord4n/ideality#readme","keywords":["cli","developer-tools","identity","profiles","secrets"],"overrides":{"@opentui/core":"0.4.5","@opentui/react":"0.4.5"},"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"_npmVersion":"11.6.2","description":"Folder-based identity orchestration for developer tools","directories":{},"maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"bun":"1.4.2","zod":"^4.4.3","bunli":"0.9.1","react":"^19.2.8","@types/bun":"1.4.2","typescript":"^7.0.2","@bunli/core":"0.9.1","@bunli/test":"0.6.0","@bunli/utils":"0.6.0","@types/react":"^19.2.17","jsonc-parser":"^3.3.1","@opentui/core":"0.4.5","@tsconfig/bun":"1.0.10","@biomejs/biome":"^2.5.5","@opentui/react":"0.4.5"},"patchedDependencies":{"@bunli/core@0.9.1":"patches/@bunli%2Fcore@0.9.1.patch","@bunli/runtime@0.3.2":"patches/@bunli%2Fruntime@0.3.2.patch"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ideality_0.5.0_1790102921014_0.44860335582703903"}}},"time":{"created":"2026-07-27T06:29:39.965Z","modified":"2026-09-22T18:48:41.418Z","0.2.1":"2026-07-27T06:29:40.243Z","0.2.2":"2026-07-27T06:54:55.239Z","0.2.3":"2026-07-27T06:59:10.525Z","0.2.4":"2026-07-27T07:08:35.320Z","0.2.5":"2026-07-27T08:05:37.620Z","0.3.0":"2026-09-21T21:26:12.895Z","0.4.0":"2026-09-22T13:53:14.878Z","0.5.0":"2026-09-22T18:48:41.100Z"},"bugs":{"url":"https://github.com/0xJord4n/ideality/issues"},"license":"MIT","homepage":"https://github.com/0xJord4n/ideality#readme","keywords":["cli","developer-tools","identity","profiles","secrets"],"repository":{"url":"git+https://github.com/0xJord4n/ideality.git","type":"git"},"description":"Folder-based identity orchestration for developer tools","maintainers":[{"name":"0xjordan","email":"me@0xjordan.dev"}],"readme":"# Ideality\n\n### One machine. Many developer identities. No account bleed.\n\n[![CI](https://github.com/0xJord4n/ideality/actions/workflows/ci.yml/badge.svg)](https://github.com/0xJord4n/ideality/actions/workflows/ci.yml)\n[![GitHub release](https://img.shields.io/github/v/release/0xJord4n/ideality?style=flat&logo=github)](https://github.com/0xJord4n/ideality/releases)\n[![GitHub stars](https://img.shields.io/github/stars/0xJord4n/ideality?style=flat&logo=github)](https://github.com/0xJord4n/ideality/stargazers)\n[![License: MIT](https://img.shields.io/badge/license-MIT-2f855a)](LICENSE)\n[![Bun 1.4](https://img.shields.io/badge/Bun-1.4-black?logo=bun)](.bun-version)\n\nIdeality maps folders to developer identities, then starts each tool with the\nright Git author, SSH key, account environment, profile directory, secrets,\nnetwork policy, and execution target.\n\nKeep using `git`, `gh`, `aws`, `vercel`, `codex`, browsers, editors, and the\nrest of your normal toolchain. Ideality's managed shims select and isolate the\nmatching identity automatically from `$PWD`.\n\n[**Install**](#install) · [Quick start](#quick-start) ·\n[Supported tools](#supported-tools) · [Security](#security-model) ·\n[Documentation](#documentation) · [Contributing](CONTRIBUTING.md)\n\n## Why Ideality\n\nDeveloper tools store identity in different places: global Git config, shell\nvariables, dotfiles, browser profiles, vendor-specific directories, native\ncredential stores, or an active CLI session. Switching projects can silently\nleave the wrong account active.\n\nIdeality gives those tools one folder-aware identity boundary:\n\n```text\n~/code/work/       -> work identity       -> git, gh, aws, vercel, codex\n~/code/personal/   -> personal identity   -> git, gh, npm, railway, chrome\n~/clients/acme/    -> acme identity       -> git, glab, gcloud, cursor\n```\n\nThe longest matching folder root wins. Outside configured roots, Ideality uses\nthe default identity. You can always override the selection explicitly.\n\n## Features\n\n| Feature | What it provides |\n|:--|:--|\n| **Folder-based selection** | Resolve an identity from the current directory without manually switching accounts |\n| **Automatic dispatch** | Run normal tool commands through generated shims in `~/.ideality/bin` |\n| **Process isolation** | Remove variables managed by other identities before injecting the selected profile |\n| **Git and SSH identity** | Generate conditional Git configuration for authoring, signing, and SSH |\n| **Project handovers** | Share reviewed tool and identity requirements in `.ideality/project.jsonc` |\n| **Secret references** | Resolve credentials only when a process starts; keep values out of the registry and diagnostics |\n| **Network enforcement** | Bind identities or individual tools to VPN and network profiles |\n| **VM execution** | Route selected tools through folder-aware isolated machines |\n| **Explainability** | Inspect identity selection, environment sources, redactions, and execution targets before launch |\n| **Transactional changes** | Preview writes, retain snapshots, and roll back registry changes |\n| **Declarative adapters** | Use 58 built-in tools or install portable JSONC tool manifests |\n| **Verified distribution** | Install and update from authenticated metadata and checksum-verified release archives |\n\n## How It Works\n\n1. **Bind roots to identities.** Each identity owns one or more folder roots and\n   may define Git, SSH, tool, network, and VM settings.\n2. **Enable only the tools it needs.** Ideality creates isolated profiles and\n   managed shims for the selected adapters.\n3. **Run commands normally.** A shim resolves the identity from `$PWD`, builds a\n   clean process environment, and executes the real binary.\n4. **Inspect any decision.** `ideality status` shows the active identity;\n   `ideality explain <tool>` shows how a launch will be isolated.\n\n```text\ncommand\n  -> managed shim\n  -> longest matching folder root\n  -> identity + tool profile\n  -> secrets / network / VM requirements\n  -> real executable\n```\n\nIdeality does not make a repository execute commands when it is opened.\nProject handovers are parsed, reviewed, checked against team policy, and\napplied explicitly with `ideality setup`.\n\n## Install\n\nPrebuilt binaries support Linux and macOS on x64 and arm64.\n\n### Package Managers\n\nThe registry package is scoped as `@0xjordan/ideality`, but it installs the\nnormal `ideality` command:\n\n```bash\nnpm install --global @0xjordan/ideality\npnpm add --global @0xjordan/ideality\nbun add --global @0xjordan/ideality\n\n# Yarn Classic\nyarn global add @0xjordan/ideality\n\n# Modern Yarn has no global install command; run it on demand\nyarn dlx @0xjordan/ideality\n```\n\nThe package installs the matching signed native release and verifies its\nauthenticated metadata and checksum. If a package manager disables lifecycle\nscripts, the `ideality` launcher performs the same verified installation on\nfirst use.\n\n### Install Script\n\nThe installer authenticates the release metadata, verifies the selected\narchive checksum, and installs the binary to `~/.local/bin`. Verification is\nautomatic and requires no separate setup.\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/0xJord4n/ideality/main/scripts/install.sh | bash\n```\n\nPin a version or change the destination with `IDEALITY_VERSION` and\n`IDEALITY_INSTALL_DIR`:\n\n```bash\nIDEALITY_VERSION=0.1.0 \\\nIDEALITY_INSTALL_DIR=\"$HOME/bin\" \\\n  bash -c \"$(curl -fsSL https://raw.githubusercontent.com/0xJord4n/ideality/main/scripts/install.sh)\"\n```\n\n### Agent Skills\n\nIdeality ships ten Agent Skills for operating the CLI and contributing\nadapters. Install them with Vercel's open Skills CLI:\n\n```bash\nnpx skills add 0xJord4n/ideality\n# or\nbunx skills add 0xJord4n/ideality\n```\n\nOnce Ideality is installed, its wrapper prefers `bunx` and falls back to\n`npx`:\n\n```bash\nideality skills install\nideality skills install --list\nideality skills install --runner bunx\nideality skills install \\\n  --skill ideality-getting-started \\\n  --skill ideality-troubleshooting \\\n  --agent codex \\\n  --global\n```\n\nThe installer supports the agents recognized by Vercel Skills, interactive\nskill selection, project or global scope, symlink or copy installation, and\nnon-interactive `--yes`/`--all` modes. See the\n[Agent Skills guide](skills/README.md) for the complete roster and options.\n\n### Build From Source\n\nSource builds require the Bun version in [`.bun-version`](.bun-version).\n\n```bash\ngit clone https://github.com/0xJord4n/ideality.git\ncd ideality\nbun install --frozen-lockfile\nbun run check\nbun run build\nbun link\n```\n\n<details>\n<summary><strong>Release verification</strong></summary>\n\nEvery release includes archives for all four supported targets, checksums,\nand authenticated release metadata. Public-repository releases also include\nGitHub build provenance.\n\n```bash\nsha256sum -c --ignore-missing SHA256SUMS.txt\n# Public repositories\ngh attestation verify ideality-linux-x64.tar.gz --repo 0xJord4n/ideality\n```\n\nSee [release verification](docs/releasing.md#verifying-a-release) for the full\nartifact contract.\n\n</details>\n\n## Quick Start\n\nEnter the folder that should use an account, then initialize it:\n\n```bash\ncd ~/code/work\nideality init\n```\n\nThe current folder is selected automatically. The recommended setup asks for\nan identity name, uses your existing Git identity (or asks for it once) and\nSSH agent, enables the essential developer tools, and installs automatic shell\nand Git switching. Review the summary and you are ready.\n\nChoose **Advanced setup** only when you want to generate or discover an SSH\nkey, choose tool packs individually, or customize shell and Git integrations.\n\nOpen a new shell and inspect the result:\n\n```bash\nexec \"$SHELL\" -l\n\nideality status\nideality explain gh\ngh auth status\n```\n\nAdd another identity whenever you need one:\n\n```bash\nideality identity add\nideality identity bind personal ~/code/personal\nideality identity default personal\n```\n\nFor unattended provisioning:\n\n```bash\nideality init --non-interactive \\\n  --label \"Example Account\" \\\n  --root ~/code \\\n  --git-name \"Example Developer\" \\\n  --git-email developer@example.com \\\n  --generate-ssh \\\n  --packs essentials,cloud,ai \\\n  --tools gh,cf,codex,aws,gcloud,gemini,copilot \\\n  --install \\\n  --shell zsh\n```\n\n### Pause or disable Ideality\n\nDisable automatic shell dispatch and Git identity routing without deleting\nidentities, credentials, plugins, or other state:\n\n```bash\nideality disable --dry-run\nideality disable\n```\n\nThe current terminal has already loaded its shell hook, so open a new terminal\nafter disabling. Restore the integrations at any time with:\n\n```bash\nideality enable\n```\n\nBoth commands accept `--shell zsh|bash|fish`, `--rc <path>`, `--no-shell`, and\n`--no-git`. `ideality install` remains an equivalent way to enable and\nregenerate all integrations.\n\n### Verify dispatch is active\n\n```bash\nideality git check gh              # shim intercepts this tool\nideality git status                # configured profile vs effective Git author\nideality git repair --dry-run      # preview repo-local author overrides\nideality git repair                # clear them so the profile applies\nideality doctor --strict           # shim-path + git:identity findings\n```\n\n### Directories without configuration\n\nWhen no bound root contains the current directory, shims pass through to\nthe real binary with your ambient environment instead of applying any\nidentity — `status`, `explain`, `env`, and `git status` all report this as\n`passthrough`. Pass `--identity <id>` to force an identity anyway:\n\n```bash\nideality run --identity aviv -- gh auth status\n```\n\nTo restore the previous fallback (apply the default identity everywhere),\nset `\"routing\": { \"unmatched\": \"default\" }` in `config.jsonc`.\n\n## Project Setup\n\nRun the project wizard anywhere inside a repository:\n\n```bash\nideality setup\n```\n\nThe wizard can activate an existing local identity, import a shared project\nidentity, or create a new one. It then selects tools and optional network or VM\nrequirements before showing the exact files and integrations it will change.\n\nChoose between:\n\n- **Local activation**: keep the binding only in your user registry.\n- **Complete handover**: write a portable `.ideality/project.jsonc` containing\n  the project identity and tool profiles.\n- **Requirements-only handover**: share required tools without identity\n  profiles or credential references.\n\nAutomation uses the same operation without prompts:\n\n```bash\nideality setup --non-interactive \\\n  --identity work \\\n  --tools gh,cf,vercel,codex \\\n  --project \\\n  --yes\n\nideality setup --non-interactive \\\n  --identity work \\\n  --tools gh,codex \\\n  --project \\\n  --requirements-only \\\n  --dry-run\n```\n\nTeams can constrain handovers with `.ideality/policy.jsonc` and enforce the\ncontract in CI:\n\n```bash\nideality policy check\n```\n\nSee [team policy contracts](docs/policy.md) for the schema and CI patterns.\n\n## Supported Tools\n\nRecommended `ideality init` enables Developer essentials automatically.\nAdvanced setup and `ideality identity add` offer packs first, followed by\nfine-grained tool selection. Only enabled tools receive identity profiles and\nmanaged shims.\n\n<!-- generated:catalog-summary:begin -->\nThe built-in catalog ships 58 adapters across 7 selectable packs:\n\n- **Developer essentials**: `cf`, `chrome`, `claude`, `codex`, `firefox`, `gh`, `opencode`, `railway`, `vercel`\n- **Cloud accounts**: `aws`, `az`, `doctl`, `gcloud`\n- **Source control**: `bitbucket`, `gerrit`, `glab`, `tea`\n- **Editors and desktop**: `code`, `cursor`, `discord`, `goland`, `idea`, `pycharm`, `rustrover`, `slack`, `webstorm`, `windsurf`, `zed`\n- **Package registries**: `bun`, `cargo`, `composer`, `gem`, `gradle`, `mvn`, `npm`, `nuget`, `pip`, `pnpm`, `uv`, `yarn`\n- **Deployment platforms**: `firebase`, `fly`, `heroku`, `netlify`, `pulumi`, `render`, `shopify`, `sst`, `stripe`, `supabase`\n- **AI tools**: `aider`, `amp`, `cn`, `copilot`, `gemini`, `goose`, `kiro-cli`, `qwen`\n<!-- generated:catalog-summary:end -->\n\nAdapters report `full`, `partial`, or `credentials` isolation based on the\ncontrols exposed by the upstream application. The\n[tool pack and isolation matrix](docs/tool-packs.md) documents the exact\nmechanism for every built-in adapter.\n\nManage packs and tools after setup:\n\n```bash\nideality tool packs\nideality tool enable-pack work cloud\nideality tool disable-pack work editors\nideality tool enable work stripe\nideality tool list\n```\n\nBun is intentionally not shimmed because it may be the runtime starting\nIdeality. Use `ideality run bun -- <args>` when registry isolation is required.\n\n## Everyday Workflows\n\n### Inspect And Run\n\n```bash\nideality status\nideality explain vercel\nideality explain cf --path ~/code/work/project --json\n\nideality run gh --identity work -- auth status\nideality run chrome --identity personal -- https://github.com\n```\n\n### Authentication\n\n```bash\nideality auth gh status\nideality auth railway login --identity work\nideality auth status --all\n```\n\n### Git And SSH\n\n```bash\nideality identity ssh-public work\nideality identity bind work ~/projects/client\nideality identity unbind work ~/projects/legacy\n```\n\nGit integration uses generated `includeIf` configuration, including author,\nsigning, and `core.sshCommand`. Other tools use process-only shims and isolated\nprofile directories.\n\n### Secrets\n\nStarter profiles use logical references instead of literal tokens. The default\nbackend stores locked local files:\n\n```bash\nideality secret set work railway RAILWAY_API_TOKEN\nprintf '%s' \"$TOKEN\" |\n  ideality secret set work cf CLOUDFLARE_API_TOKEN --stdin\nideality secret list\n```\n\nAvailable backends include local files, age, macOS Keychain, `pass`,\n1Password, Bitwarden, and Dashlane:\n\n```bash\nideality secret backend age \\\n  --recipient age1... \\\n  --identity-file ~/.config/age/keys.txt\n\nideality secret backend keychain\nideality secret backend pass --prefix developer/ideality\nideality secret backend onepassword\n```\n\nSecret values are resolved only while starting the selected tool. Status,\ndoctor, explain, config output, audit history, and the TUI remain redacted.\nRun `ideality env --reveal` only when you intentionally need resolved values.\n\n### Network And VM Isolation\n\nNetwork and VM profiles are folder-aware execution requirements. A selected\nhost VPN is enforced before Ideality starts a native tool or VM.\n\n```bash\nideality network add\nideality vm add\nideality vm bind work dev-vm\nideality network bind work corp-vpn --tool chrome\nideality network up corp-vpn\nideality vm exec dev-vm -- bun test\nideality doctor --strict\n```\n\nLima is the executable macOS/Linux VM backend. Apple VZ, Cloud Hypervisor, and\nFirecracker are capability-checked helper backends. Mullvad, WireGuard,\nOpenVPN, Tailscale exit nodes, Cloudflare WARP, and custom network wrappers are\nsupported with provider-specific enforcement boundaries.\n\nSee [network and VM isolation](docs/network-vm.md) for setup, enforcement\nlevels, secret handling, and leak-prevention guarantees.\n\n### Terminal Dashboard\n\n```bash\nideality tui\n```\n\nThe dashboard stages identity, folder, tool, network, VM, plugin, and secret\nbackend changes in memory. It previews a readable diff and writes only after an\nexplicit save through transactional history. Press `?` on any screen for the\nfull keymap, `g` for plugin manifest administration, and `k` for secret-backend\nadministration. Plugin installation or removal requires a clean staged draft;\ndestructive actions require explicit confirmation.\n\n## Custom Adapters\n\nAdd a local tool directly:\n\n```bash\nideality tool add acme --executable acme\nideality tool env work acme \\\n  ACME_HOME value:{{idealityHome}}/profiles/{{identity}}/acme\nideality tool env work acme ACME_TOKEN secret:{{identity}}/acme-token\nideality tool args work acme -- --region eu\n```\n\nOr distribute a portable declarative manifest:\n\n```jsonc\n{\n  \"schemaVersion\": 1,\n  \"kind\": \"tool\",\n  \"id\": \"acme\",\n  \"displayName\": \"Acme CLI\",\n  \"pack\": \"custom\",\n  \"executable\": {\n    \"primary\": \"acme\",\n    \"alternatives\": [\"acme-cli\"]\n  },\n  \"isolation\": {\n    \"scope\": \"process\",\n    \"state\": \"credentials\"\n  },\n  \"auth\": {\n    \"status\": [\"account\", \"show\"]\n  },\n  \"profile\": {\n    \"env\": {\n      \"ACME_TOKEN\": {\n        \"from\": \"secret\",\n        \"key\": \"{{identity}}/acme-token\"\n      }\n    }\n  }\n}\n```\n\n```bash\nideality plugin validate acme.ideality.jsonc\nideality plugin install acme.ideality.jsonc\n```\n\nTool manifests are data, not executable plugins. Commands and arguments are\nstrict argv arrays. Runtime plugins cannot inject privileged network, VM, or\nsecret-backend code. See [custom adapters](docs/custom-adapters.md).\n\n## Security Model\n\n| Boundary | Protection |\n|:--|:--|\n| **Registry** | Atomic writes, strict schemas, mode-restricted state, and the newest 50 valid snapshots |\n| **Environment** | Variables owned by other identities are removed before the selected profile is applied |\n| **Secrets** | Logical references resolve at launch; values stay out of config, diffs, logs, audit events, and argv |\n| **Project files** | Opening a repository executes nothing; setup requires review and explicit application |\n| **Tool adapters** | Declarative manifests are strictly parsed and cannot contain shell command strings |\n| **Privileged adapters** | Network, VM, and secret lifecycle code is reviewed, statically bundled, and covered by behavior contracts |\n| **Releases** | Metadata is authenticated, archives are checksum-verified, and updates validate migration readiness |\n| **Recovery** | Dry runs, config snapshots, transactional rollback, and binary rollback protect mutations |\n\nUseful checks:\n\n```bash\nideality identity bind work ~/projects/client --dry-run\nideality plugin install acme.ideality.jsonc --dry-run\nideality rollback --list\nideality rollback latest --dry-run\nideality doctor --strict\n```\n\nStructured audit history is local and explicitly opt-in. By default Ideality\ndoes not create an audit file or record events.\n\n```bash\nideality audit enable --max-events 1000 --max-bytes 5242880\nideality audit list\nideality audit list --type secret.set --json\nideality audit prune --confirm\nideality audit disable\n```\n\nAudit payloads are allowlisted and redacted. They never include executable\npaths, secret values, resolved environments, raw stdout or stderr, token-like\nstrings, or full argv. See [SECURITY.md](SECURITY.md) for operational guidance.\n\n## Configuration\n\nManaged state defaults to `~/.ideality`:\n\n```text\n~/.ideality/\n├── audit/          # optional redacted JSONL history\n├── bin/            # managed tool shims\n├── completions/    # generated shell completions\n├── config.jsonc    # identity and adapter registry\n├── git/            # generated conditional Git configuration\n├── history/        # transactional registry snapshots\n├── plugins/        # installed declarative manifests\n├── profiles/       # identity-specific tool state\n├── runtime/        # active network and VM runtime state\n├── secrets/        # local secret backend storage\n├── shell/          # generated shell integration\n└── ssh/            # generated SSH keys\n```\n\n| Variable | Purpose |\n|:--|:--|\n| `IDEALITY_HOME` | Relocate all managed state |\n| `IDEALITY_CONFIG` | Select a registry file explicitly |\n| `IDEALITY_IDENTITY` | Expose the resolved identity to child processes |\n\nInspect or edit the registry through the CLI:\n\n```bash\nideality config path\nideality config validate\nideality config show\nideality config edit\nideality config migrate --dry-run\n```\n\n## Updates\n\nDirect binary installs update in place. Package-manager installs are detected\nand never overwritten. Update them through the manager that installed them:\n\n```bash\nnpm update --global @0xjordan/ideality\npnpm update --global @0xjordan/ideality\nbun update --global @0xjordan/ideality\n\n# Yarn Classic\nyarn global upgrade @0xjordan/ideality\n```\n\nModern Yarn's `yarn dlx` mode has no persistent installation to update. Run\n`yarn dlx @0xjordan/ideality@latest` whenever you want the latest release.\n\n```bash\nideality update --check\nideality update --dry-run\nideality update\nideality update --version 0.1.0\n```\n\nAn update verifies signed metadata and the archive checksum, proves the staged\nbinary version, checks migration readiness, snapshots config bytes, and rolls\nback both the binary and config if migration fails. After swapping the\nbinary it refreshes shell and Git integrations (the equivalent of\n`ideality install`, opt out with `--no-refresh`), then tells you to reload\nyour shell — a CLI cannot replace its parent shell, so finish with:\n\n```bash\nexec \"$SHELL\" -l\n```\n\nLegacy managed installations are never overwritten; remove the old managed\ninstallation first, then use the signed installer so only one `ideality`\nremains on `PATH`.\n\n## Command Reference\n\n| Area | Commands |\n|:--|:--|\n| **Start** | `init`, `setup`, `install`, `enable`, `disable`, `tui` |\n| **Inspect** | `status`, `explain`, `env`, `doctor`, `prompt` |\n| **Execute** | `run`, `auth` |\n| **Identities** | `identity list|show|add|remove|bind|unbind|default|ssh-public` |\n| **Tools** | `tool list|packs|enable-pack|disable-pack|add|remove|env|args|enable|disable` |\n| **Networks** | `network list|show|add|bind|up|down|status|remove` |\n| **Machines** | `vm list|show|add|bind|unbind|start|stop|status|exec|remove` |\n| **Secrets** | `secret set|list|backend` |\n| **Extensions** | `plugin list|validate|install|remove`, `skills install` |\n| **Governance** | `policy check`, `audit status|enable|disable|list|prune|clear` |\n| **Recovery** | `rollback`, `config path|validate|show|migrate|edit`, `update` |\n| **Shell** | `hook`, `completion zsh|bash|fish` |\n| **Dispatch repair** | `git status|repair|check`, `doctor` |\n\nRun `ideality --help` or `ideality <command> --help` for flags and examples.\n\n## Documentation\n\n| Guide | Covers |\n|:--|:--|\n| [Architecture](docs/architecture.md) | Runtime layers, adapter trust boundaries, persistence, and release distribution |\n| [Tool packs and isolation](docs/tool-packs.md) | Built-in adapters, isolation grades, mechanisms, and upstream controls |\n| [Network and VM isolation](docs/network-vm.md) | VPN enforcement, VM backends, requirements, and security boundaries |\n| [Custom adapters](docs/custom-adapters.md) | Portable tool manifests, templates, value sources, and contracts |\n| [Team policy contracts](docs/policy.md) | Handover constraints, findings, and CI enforcement |\n| [Releasing](docs/releasing.md) | Signed artifacts, provenance, and local rehearsal |\n| [Agent skills](skills/README.md) | Vercel Skills installation and skills for operating or contributing to Ideality |\n| [Security](SECURITY.md) | Credential handling and local operational guidance |\n| [Changelog](CHANGELOG.md) | Release history |\n\n## Development\n\n```bash\nbun install --frozen-lockfile\nbun run dev -- --help\nbun run check\nbun run audit\nbun run perf:check\nbun run build\n```\n\n`bun run check` verifies formatting, lint, TypeScript, the built-in catalog,\nprivileged adapter contracts, generated documentation, and the full test suite.\n\nAdding a built-in tool adapter is a two-file contribution: one manifest and one\nbehavior contract. The repository scaffolder registers it and regenerates the\ncatalog documentation:\n\n```bash\nbun run catalog:new acme --display-name \"Acme CLI\" --pack deployment\nbun run check\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for adapter contracts, privileged\ncontribution rules, tests, and pull request templates.\n\n## License\n\nIdeality is available under the [MIT License](LICENSE).\n","readmeFilename":"README.md"}