{"_id":"@acegalaxy/vault-sync","name":"@acegalaxy/vault-sync","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@acegalaxy/vault-sync","version":"0.1.0","description":"CLI for @acegalaxy/notion-vault: sync secrets from a Notion vault DB into a local .env file (atomic write, chmod 600). Cron-safe. Logs counts only — never values.","type":"module","bin":{"load-vault":"bin/load-vault.mjs","sync-vault":"bin/sync-vault.mjs"},"scripts":{"test":"node --test test/*.test.js || true"},"dependencies":{"@acegalaxy/notion-vault":"^0.1.1"},"engines":{"node":">=18"},"keywords":["secrets","vault","notion","cli","dotenv","secret-management","cron"],"author":{"name":"ACE Galaxy","email":"hello@acegalaxy.co"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs.git"},"bugs":{"url":"https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs/issues"},"homepage":"https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs#readme","gitHead":"2cb8a4023633909103ee5a83af10f6a27c785b6d","_id":"@acegalaxy/vault-sync@0.1.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-LHHXUdWxXcS4UneQBFtVOEVCzCj7BuMJHvBhjBhUrDQHmSlLxGl0+VxcqhcpvXskGP5ez7cRwm2+MCbkl8gjVg==","shasum":"20ba06c5faf0f2786d226f043ca6206a878d2c2f","tarball":"https://registry.npmjs.org/@acegalaxy/vault-sync/-/vault-sync-0.1.0.tgz","fileCount":9,"unpackedSize":39628,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCIcZHEkvMtDWrN5sI7JfvVodq54RDhtOJEjBZiAAvTKwIhAKyuVHfU9SFN1HqOqZANX8SbMQoOuCRG2k9NvkpTT7nV"}]},"_npmUser":{"name":"kanelr","email":"lanhnk@acegalaxy.co"},"directories":{},"maintainers":[{"name":"kanelr","email":"lanhnk@acegalaxy.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vault-sync_0.1.0_1778143377482_0.18062318733011518"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-07T08:42:57.417Z","0.1.0":"2026-05-07T08:42:57.603Z","modified":"2026-05-07T08:42:57.806Z"},"maintainers":[{"name":"kanelr","email":"lanhnk@acegalaxy.co"}],"description":"CLI for @acegalaxy/notion-vault: sync secrets from a Notion vault DB into a local .env file (atomic write, chmod 600). Cron-safe. Logs counts only — never values.","homepage":"https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs#readme","keywords":["secrets","vault","notion","cli","dotenv","secret-management","cron"],"repository":{"type":"git","url":"git+https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs.git"},"author":{"name":"ACE Galaxy","email":"hello@acegalaxy.co"},"bugs":{"url":"https://github.com/acegalaxy-co/ace_commons-vault-sync-nodejs/issues"},"license":"MIT","readme":"# @acegalaxy/vault-sync\n\n[![npm version](https://img.shields.io/npm/v/@acegalaxy/vault-sync.svg)](https://www.npmjs.com/package/@acegalaxy/vault-sync)\n[![license](https://img.shields.io/npm/l/@acegalaxy/vault-sync.svg)](LICENSE)\n\nCLI tools for [`@acegalaxy/notion-vault`](https://www.npmjs.com/package/@acegalaxy/notion-vault) — sync secrets from a Notion vault DB into a local `.env` file or stdout.\n\n- Atomic file write (temp + rename)\n- `chmod 600` on output (no group/world read)\n- Logs to stderr only — never prints secret values\n- Exit codes: 0 OK, 1 error, 2 config issue\n- Cron-safe (idempotent, no partial writes)\n\n## Install\n\n```bash\nnpm install -g @acegalaxy/vault-sync\n```\n\n## Bins\n\n| Command | Purpose |\n|---|---|\n| `sync-vault` | Fetch vault → atomic write to `--output=<file>` (cron entry point) |\n| `load-vault` | Fetch vault → stdout (env / JSON / stats) for shell pipelines |\n\n## Quick start\n\nPlace a `.env-bootstrap` in your CWD with the bootstrap token + bootstrap DB ID:\n\n```\nNOTION_BOOTSTRAP_TOKEN=secret_xxxxx\nNOTION_BOOTSTRAP_DB_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\nNOTION_VAULT_ENV=LOCAL\n```\n\nThen:\n\n```bash\n# Write secrets to a file (cron-safe)\nsync-vault --output=.env.vault --project=myproject --env=LOCAL\n\n# Print to stdout (.env format)\nload-vault --project=myproject --env=LOCAL\n\n# Print stats only (counts, no values — safe to log)\nload-vault --stats --project=myproject\n\n# Output as JSON\nload-vault --project=myproject --json\n```\n\n## Cron example\n\n```cron\n*/30 * * * * cd /opt/myapp && /usr/local/bin/sync-vault --output=.env.vault --project=myapp --env=PROD >> /var/log/vault-sync.log 2>&1\n```\n\n## Configuration\n\nDefaults read from `<CWD>/.env-bootstrap`. Override:\n\n- `--env-file=<path>` — bootstrap config path\n- `VAULT_SYNC_ROOT=<path>` — env var alternative\n\n## Security notes\n\n- Output file is written `0600` (owner read-only).\n- `--stats` is the only mode safe to commit to log files.\n- `[info]` lines on stderr only show counts and category breakdowns, never values.\n- The bootstrap token (`.env-bootstrap`) MUST be `chmod 600` and git-ignored.\n\n## License\n\nMIT © ACE Galaxy\n","readmeFilename":"README.md","_rev":"1-326207c8b8402264227d3885f0ef73fa"}