{"_id":"@accord-kit/cli","_rev":"7-4aca18fde4cbf992ca2a3efcaacabfc5","name":"@accord-kit/cli","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@accord-kit/cli","version":"0.1.0","_id":"@accord-kit/cli@0.1.0","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"d37f5975b499dc81d0389e04f378e53235a20b23","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.0.tgz","fileCount":20,"integrity":"sha512-kyFRaKtcx3/VrSy4qHvv7oPSPWBHqmfdTnvQzxZixMgin8zWm1dIDpsUTPAULkdIcP1Qi4Y9Xk7SficRN5yCkw==","signatures":[{"sig":"MEYCIQCzmNQzQeaAjM3q8pc7x9boG43me7t620FRz8Y8hZmT5AIhALpsEwMsaMaUjdXMQ++kipCoR8i/+1KRtYiCi6H8EE3X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415801},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/b6440b35babc6b8902a0e704ad3b595f/accord-kit-cli-0.1.0.tgz","_integrity":"sha512-kyFRaKtcx3/VrSy4qHvv7oPSPWBHqmfdTnvQzxZixMgin8zWm1dIDpsUTPAULkdIcP1Qi4Y9Xk7SficRN5yCkw==","_npmVersion":"11.9.0","description":"CLI for AccordKit — watches a local directory and syncs files with an AccordKit server in real time. Also includes the `accord install-plugin` command for distributing the Obsidian plugin.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"yjs":"^13.6.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.0","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1777077137437_0.5463099811715948","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@accord-kit/cli","version":"0.1.1","_id":"@accord-kit/cli@0.1.1","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"afe2bbdde87933e8e5d102e16c3bf198ec5efdf8","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.1.tgz","fileCount":20,"integrity":"sha512-SqJqRgbfsRxrsRUMVgRa7bILvsmdfTWWVrpG9jP2P/YUpVC855mrZgALt4ubnXtbnG23LLl+jw1V/BJEQFPcfQ==","signatures":[{"sig":"MEUCIBJm8lKOOteQd8v83aJFhPug5HHzM7NL0YAdBBtJJs3OAiEAmpg9myE05xZo6h0OUg7n8c6IqVnInOqGsCfy7HGrGk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415977},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/0de88f8e25e73e57e553d861908ecac4/accord-kit-cli-0.1.1.tgz","_integrity":"sha512-SqJqRgbfsRxrsRUMVgRa7bILvsmdfTWWVrpG9jP2P/YUpVC855mrZgALt4ubnXtbnG23LLl+jw1V/BJEQFPcfQ==","_npmVersion":"11.9.0","description":"CLI for AccordKit — watches a local directory and syncs files with an AccordKit server in real time. Also includes the `accord install-plugin` command for distributing the Obsidian plugin.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"yjs":"^13.6.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.1","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1777078727207_0.7601096952364415","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@accord-kit/cli","version":"0.1.2","_id":"@accord-kit/cli@0.1.2","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"633ea51034a7aed46336ba6bd0907a8a72dfd1c3","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.2.tgz","fileCount":20,"integrity":"sha512-+rV3bhQez/mZcgSEKlmpXIUBMOB90co0LBEMHJ0idTyBr/XND3Vlwox3t7ZlvKRcAdg1NWsA/xwr+KogTPLVFg==","signatures":[{"sig":"MEQCIGjGOfjlcjudEx/LKoS8HPNIoXz9CyMOBr7Anp6yVJ0FAiBpDBf2SjrHbPQFMfkd/QInPYxY1T45XM4+hjBHVecNMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416987},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/8f914f8496a34f2dd7ca2a2c4e96ee61/accord-kit-cli-0.1.2.tgz","_integrity":"sha512-+rV3bhQez/mZcgSEKlmpXIUBMOB90co0LBEMHJ0idTyBr/XND3Vlwox3t7ZlvKRcAdg1NWsA/xwr+KogTPLVFg==","_npmVersion":"11.9.0","description":"CLI for AccordKit — watches a local directory and syncs files with an AccordKit server in real time. Also includes the `accord install-plugin` command for distributing the Obsidian plugin.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"yjs":"^13.6.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.2","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1777079465744_0.10501614907168344","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@accord-kit/cli","version":"0.1.3","_id":"@accord-kit/cli@0.1.3","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"d0f8943acf7b485f12fe2e355e693f9dd08d1ebf","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.3.tgz","fileCount":20,"integrity":"sha512-s0N3MmXMgDAtTUAaP4dRaKQ+w9Juu1RyUuuyAgEotoaX4yRqCf5ceZUoNxuh9nxKJf+eSJQgdiqAKNJALHrIiA==","signatures":[{"sig":"MEQCIG2+wryOSUUZ0V1XlttQa2Trzwly88QMz4YuJD9Q3/HlAiA+C5IH9yihoZlUsvrDOAr+rFS7WNZGp2Nl/yT3Xn6nOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833063},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/8bb4093dc5e61406c82351eb362adbfa/accord-kit-cli-0.1.3.tgz","_integrity":"sha512-s0N3MmXMgDAtTUAaP4dRaKQ+w9Juu1RyUuuyAgEotoaX4yRqCf5ceZUoNxuh9nxKJf+eSJQgdiqAKNJALHrIiA==","_npmVersion":"11.9.0","description":"CLI for AccordKit — watches a local directory and syncs files with an AccordKit server in real time. Also includes the `accord install-plugin` command for distributing the Obsidian plugin.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"yjs":"^13.6.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.3","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1777145925186_0.1575128788924225","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@accord-kit/cli","version":"0.1.4","_id":"@accord-kit/cli@0.1.4","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"9144106d009a6bfdc179ef86f083d85af3a68ac2","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.4.tgz","fileCount":20,"integrity":"sha512-1MOuZLdb7FhiapXdri8houTBM85p7F8bcxfBp7kKtmoAeBXIET9vb806thVDXrFEVMphD/hit0wkz+sd5GobPQ==","signatures":[{"sig":"MEYCIQD+3wfcvqHmDZpLv78ediNApYykAK0I2ZfNpCO6ba1IsAIhAJX2MDifaStlYc5jhl5Y1irK0xtms761tRc/txM9V45G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425428},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/8930000a05439e064d98caf0756dd622/accord-kit-cli-0.1.4.tgz","_integrity":"sha512-1MOuZLdb7FhiapXdri8houTBM85p7F8bcxfBp7kKtmoAeBXIET9vb806thVDXrFEVMphD/hit0wkz+sd5GobPQ==","_npmVersion":"11.9.0","description":"CLI for AccordKit — watches a local directory and syncs files with an AccordKit server in real time. Also includes the `accord install-plugin` command for distributing the Obsidian plugin.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"yjs":"^13.6.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.4","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1777147874488_0.5047451861269929","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@accord-kit/cli","version":"0.1.5","_id":"@accord-kit/cli@0.1.5","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"bin":{"accord":"dist/cli.js"},"dist":{"shasum":"ab20b19650e35cd6defb96e010d805c30e81d7c4","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.5.tgz","fileCount":56,"integrity":"sha512-lyiWCmPqNqyMYObpcolYo8ixpXqNc830wO2hVYAA1gRzhF4RtXQTvP8YXsIWy0QCgwcnnKmphcj7nAFTY6VV0g==","signatures":[{"sig":"MEYCIQDqjvW6zvKHgXU2xBL+RqSzfk2tJSgoWQYHUk9E8rMowwIhAPhUDqumdOe4gKkJg5ILdbYkB4ZvY2vjnPSCC66CqBQK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663656},"main":"./dist/index.js","type":"module","_from":"file:accord-kit-cli-0.1.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","start":"node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/084ef21bba7818a214c125a08333e486/accord-kit-cli-0.1.5.tgz","_integrity":"sha512-lyiWCmPqNqyMYObpcolYo8ixpXqNc830wO2hVYAA1gRzhF4RtXQTvP8YXsIWy0QCgwcnnKmphcj7nAFTY6VV0g==","_npmVersion":"11.9.0","description":"CLI for AccordKit. It watches a local directory and syncs files with an AccordKit server in real time, and it manages local credentials, vault access, invite redemption, and Obsidian plugin installation.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.18.3","yjs":"^13.6.0","diff":"^9.0.0","chokidar":"^4.0.0","commander":"^13.0.0","@accord-kit/core":"0.1.5","@hocuspocus/provider":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.5_1777490517454_0.21498870305885043","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@accord-kit/cli","version":"0.1.6","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"accord":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@hocuspocus/provider":"^4.0.0","chokidar":"^4.0.0","commander":"^13.0.0","diff":"^9.0.0","ws":"^8.18.3","yjs":"^13.6.0","@accord-kit/core":"0.1.6"},"scripts":{"build":"tsc -p tsconfig.json && mkdir -p plugin-dist && cp ../obsidian-plugin/main.js ../obsidian-plugin/manifest.json plugin-dist/","typecheck":"tsc -p tsconfig.json --noEmit","start":"node dist/cli.js"},"_id":"@accord-kit/cli@0.1.6","description":"CLI for AccordKit. It watches a local directory and syncs files with an AccordKit server in real time, and it manages local credentials, vault access, invite redemption, and Obsidian plugin installation.","_integrity":"sha512-QaGqnM0CK0ePIo1owcYr47IXM+qFcYkdli970FhBJUsOIZk3m8PI/ZE4nY8RiI82A0kWrWLUk/sTIri8o0EcAA==","_resolved":"/private/var/folders/vp/4fx1w3fd7ngcpz0vt7zgtkdh0000gn/T/81d3a41e7988b83805a2f022509835f2/accord-kit-cli-0.1.6.tgz","_from":"file:accord-kit-cli-0.1.6.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-QaGqnM0CK0ePIo1owcYr47IXM+qFcYkdli970FhBJUsOIZk3m8PI/ZE4nY8RiI82A0kWrWLUk/sTIri8o0EcAA==","shasum":"b5463aff321a03710e59d6a0f160021c5b994c86","tarball":"https://registry.npmjs.org/@accord-kit/cli/-/cli-0.1.6.tgz","fileCount":56,"unpackedSize":666615,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHOCfhSJ0aCZSWzelJEGMQvqCGKAmRlUCs1MaTo0h9UuAiEAweF+MIj30Jk3PHMCZD8L17/3eZLZ9ZCAUTTisc4Wu7U="}]},"_npmUser":{"name":"dmihal","email":"david@dmihal.com"},"directories":{},"maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.6_1777500805115_0.5474804261742328"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-25T00:32:17.346Z","modified":"2026-04-29T22:13:25.431Z","0.1.0":"2026-04-25T00:32:17.618Z","0.1.1":"2026-04-25T00:58:47.356Z","0.1.2":"2026-04-25T01:11:05.925Z","0.1.3":"2026-04-25T19:38:45.368Z","0.1.4":"2026-04-25T20:11:14.665Z","0.1.5":"2026-04-29T19:21:57.597Z","0.1.6":"2026-04-29T22:13:25.305Z"},"description":"CLI for AccordKit. It watches a local directory and syncs files with an AccordKit server in real time, and it manages local credentials, vault access, invite redemption, and Obsidian plugin installation.","maintainers":[{"name":"dmihal","email":"david@dmihal.com"}],"readme":"# @accord-kit/cli\n\nCLI for AccordKit. It watches a local directory and syncs files with an\nAccordKit server in real time, and it manages local credentials, vault access,\ninvite redemption, and Obsidian plugin installation.\n\n## Install\n\n```bash\nnpm install -g @accord-kit/cli\n```\n\n## Commands\n\n### `accord watch <dir>`\n\nWatch a directory and sync all text files with an AccordKit server.\n\n```text\naccord watch <dir> [options]\n\nOptions:\n  -s, --server <url>        AccordKit server WebSocket URL\n  -u, --user <name>         Display name shown to other clients\n  --vault <vault>           Vault ID to sync with\n  --token <key>             API key (overrides credentials file)\n  --delete                  Permanently delete files when the remote removes them\n                            (default: move to .accord-trash/ instead)\n  --ignore <patterns...>    Additional glob patterns to exclude from sync\n```\n\nExample:\n\n```bash\naccord watch ./my-notes --server ws://localhost:1234 --user my-agent --vault team-notes\n```\n\nIf local credentials exist for that server and include an `activeVaultId`,\n`--vault` can be omitted. If no vault is explicit or saved locally, the command\nfails instead of assuming `default`.\n\n### `accord auth`\n\nManage local credentials for a server.\n\n#### `accord auth login <serverUrl>`\n\nRedeem an invite code or save a direct key for future commands.\n\n```bash\naccord auth login ws://localhost:1234\naccord auth login ws://localhost:1234 --name \"David's laptop\" --invite accord_inv_...\naccord auth login ws://localhost:1234 --invite accord_sk_...\n```\n\nIf you pass an `accord_sk_...` key, the CLI treats it as a direct login key and\nsaves it after verifying `whoami`.\n\n#### `accord auth status`\n\nShow the active server, identity, API key, and accessible vaults.\n\n```bash\naccord auth status\naccord auth status --server ws://localhost:1234\n```\n\n#### `accord auth logout`\n\nDelete the local credentials file for a server.\n\n```bash\naccord auth logout\naccord auth logout --server ws://localhost:1234 --yes\n```\n\nThis removes local credentials only; it does not revoke the key on the server.\n\n### `accord vault`\n\nCreate vaults, issue invites, and inspect membership.\n\n#### `accord vault create <name> [path]`\n\nCreate a vault.\n\n- If local credentials already exist, the new vault is granted to the current\n  identity.\n- If no credentials exist yet, pass `--server` and `--user` to bootstrap the\n  first identity and first vault.\n- If `path` is provided, the AccordKit Obsidian plugin is installed into that\n  folder and pre-configured with the server URL, API key, and vault ID — so\n  opening the folder in Obsidian is all that's needed to start syncing.\n\n```bash\naccord vault create team-notes\naccord vault create team-notes --server ws://localhost:1234 --user \"David's laptop\"\naccord vault create team-notes ~/Documents/MyVault --server ws://localhost:1234 --user \"David's laptop\"\n```\n\n#### `accord vault list`\n\nList vaults the current identity can access.\n\n```bash\naccord vault list\n```\n\n#### `accord vault invite <vault>`\n\nGenerate a single-use invite for a vault. This accepts either a vault name or\nvault ID.\n\n```bash\naccord vault invite team-notes\naccord vault invite team-notes --ttl 14\n```\n\nThis prints both:\n\n- an `accord://...` join token\n- the raw `accord_inv_...` code\n\n#### `accord vault invites <vault>`\n\nList outstanding or redeemed invites for a vault.\n\n```bash\naccord vault invites team-notes\n```\n\n#### `accord vault members <vault>`\n\nList identities with access to a vault.\n\n```bash\naccord vault members team-notes\n```\n\n### `accord join <token> [path]`\n\nRedeem a bundled `accord://...` join token.\n\n```bash\naccord join 'accord://host:1234/team-notes?invite=accord_inv_...&tls=0'\naccord join 'accord://host:1234/team-notes?invite=accord_inv_...&tls=0' /path/to/vault\n```\n\nWithout `path`, this just saves credentials locally and sets the local\n`activeVaultId`.\n\nWith `path`:\n\n- if the folder is missing or empty, the CLI scaffolds an Obsidian vault\n- if the folder is already an Obsidian vault, the CLI installs the plugin into\n  it\n- in both cases, the plugin settings are pre-populated\n\n### `accord token redeem <code>`\n\nRedeem a raw invite code.\n\nIf local credentials already exist, the new vault is added to the current\nidentity and becomes the local `activeVaultId`. Otherwise, a new identity is\ncreated and saved locally.\n\n```bash\naccord token redeem accord_inv_...\naccord token redeem accord_inv_... --server ws://localhost:1234 --name \"CI agent\"\n```\n\n### `accord install-plugin <vault>`\n\nCopy the bundled Obsidian plugin into an existing Obsidian vault and enable it.\n\n```bash\naccord install-plugin /path/to/your/vault\n```\n\nThis copies `main.js` and `manifest.json` into\n`<vault>/.obsidian/plugins/accord-kit/` and adds `accord-kit` to\n`community-plugins.json`.\n\n## Credentials\n\nThe CLI stores credentials under:\n\n```text\n~/.config/accord/credentials/<host>-<port>.json\n```\n\nThe file includes:\n\n- `serverUrl`\n- `identityId`\n- `name`\n- `key`\n- `activeVaultId`\n\nThe default `~/.config/accord/credentials.json` alias is also updated so\ncommands without `--server` can keep working.\n\n## Deletion Behavior\n\nBy default, deleted files are moved to a local `.accord-trash/` directory\nrather than permanently removed. Pass `--delete` to hard-delete instead. Trash\ncontents are never synced to the server.\n\n## Default Ignore Patterns\n\nThe watcher skips these paths automatically:\n\n```text\n.git/\n.obsidian/\n.DS_Store\nThumbs.db\n*.tmp\n.accord-trash/\n```\n\nAdd extra patterns with `--ignore`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}