{"_id":"fieldtheory","_rev":"25-dd5228c0aa1b70e792eef3201be7a6af","name":"fieldtheory","dist-tags":{"latest":"1.3.22"},"versions":{"1.0.0":{"name":"fieldtheory","version":"1.0.0","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.0.0","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs"},"dist":{"shasum":"f8e182b28502bf2410899095b0e868916726f750","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.0.0.tgz","fileCount":20,"integrity":"sha512-dJZ7HyhXeX/n3dGhL4nTiwTJVkfCW7FrQJts5cahVZTC/qRPN/omziPKzcxYAFiYnYcwiGx6PYgQnr0pASpi8g==","signatures":[{"sig":"MEYCIQCBs/JL4mURSvN/Gw27Tnee29Rmr9MTa5r3X5iH5DpJQAIhAOaUPuvNkGr2g9LMKN2CyWvz/R3pxOe/Pm4BVokngJ23","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140337},"type":"module","engines":{"node":">=20"},"gitHead":"9a598874846bb9c990954b2c19db369dc7db3b06","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^4.3.6","dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.0.0_1775238567527_0.06518496437204835","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"fieldtheory","version":"1.0.1","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.0.1","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs"},"dist":{"shasum":"5ca7f493fdf554351660c125c69bb14de4945328","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.0.1.tgz","fileCount":20,"integrity":"sha512-LCC9J8eGXGKH8WFv9Z5lmenpvS/LCQiEUeDsTXyq77EMllIp5p6qP2NRoS5aeelGJnxsI6BJfPtEspuqVrEiPA==","signatures":[{"sig":"MEUCIH0dsILH9YdV+9TdlUgxfnUHC8e+DUYZeSDvBMtQ8+n1AiEAnKH63KzoEOmOC4ESEzgWH21lMmWEaViytL5Lt0qMD4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141181},"type":"module","engines":{"node":">=20"},"gitHead":"b3bc7076f7dc4707e1e90967c31e644e122a604b","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^4.3.6","dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.0.1_1775239110919_0.3732005191478771","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"fieldtheory","version":"1.1.0","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.1.0","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs"},"dist":{"shasum":"2d18f047f20869b518b70bf880448a37a6e32dd4","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.1.0.tgz","fileCount":20,"integrity":"sha512-KP1tax2Xe92viZFDDZsIWAnZWgFVX/duWKPzA7n+29bSmnhCoptga7AuwUUbsLTLV+ZwE51F71rpq2ExCbLttg==","signatures":[{"sig":"MEUCIQCVvG5fssz8tmDLzJpH/8oIzf/5wWGC4jUWHa9v9GwcpwIgV4ekDwVAPsXR9GjH3bYJgacredazgeYhXnY4nEIZXGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149029},"type":"module","engines":{"node":">=20"},"gitHead":"db2e337e2d3b616731cb1e42c3075f6e66ce1433","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.1.0_1775280458889_0.4432277207380477","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"fieldtheory","version":"1.2.0","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.2.0","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs"},"dist":{"shasum":"45b90458633ae64584c11676eb68d9829057bb42","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.2.0.tgz","fileCount":20,"integrity":"sha512-+UQ6t00MfSLuKSm8XjV7FR7Njsap0RvJqqIJsy1L2p0DPzYArNyzSYSQ9sR8GL9MwllTxP1xlxcX2+lCZSUzbw==","signatures":[{"sig":"MEYCIQClZRnSyFMqOnWcPh5xAizuubwGqsxbxEi5i4fZ7C4pwQIhAOy2XK/BtTQZF7WNlMDy+BnpSbuCsyxV22YDjbZPEh42","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155069},"type":"module","engines":{"node":">=20"},"gitHead":"21f39fd83c31b0880507870e84f47ae9c329c352","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.2.0_1775333411550_0.34900556606153277","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"fieldtheory","version":"1.2.1","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.2.1","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs"},"dist":{"shasum":"961b11304a8829985b3630beaefea4cfdba92997","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.2.1.tgz","fileCount":20,"integrity":"sha512-fS0aJmaK0WrHs82Lg622V+YzEtvAPHxyCQ1q5zDnoNqnUBW+TRXBzvvVmnLkTCrq/zqgxzJMy4JhNbaFb/5+2A==","signatures":[{"sig":"MEYCIQCXbzYHEHFrtNXsdnv1sTf0C5pDrT0TC+ZbosOevy1QGQIhAJ6jYVngCMMonhfAgtKebFdSNE2TF8bIP1updny0UIHG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155915},"type":"module","engines":{"node":">=20"},"gitHead":"2e59f83981c5e3b44b1102498ad1d4c53d42f5d7","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.2.1_1775360798454_0.06223343902709355","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"fieldtheory","version":"1.3.0","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.0","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"45546ad74e3d001a6623e8faa7e6a5db3fe5f38f","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.0.tgz","fileCount":31,"integrity":"sha512-B3c3YLdpFQgF/oAJmnTKknuAG8ywC62FC65hjmrna5TTRcony0xFWOHAmpgsN1d/h+yGpVXYHYSYo7AMb7uuFA==","signatures":[{"sig":"MEUCIQCHeQRChe35Z+n7N3q4v/NxhVLkPqtRIg0oNyhnUC+5igIgGKb/KmGexEDEGa25joVtzf+SFBaqsgnPHObqVD5yiWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268406},"type":"module","engines":{"node":">=20"},"gitHead":"3c2890997d81f58132c4a31d2af4a79708a47252","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.0_1775609804420_0.8388026505428716","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"fieldtheory","version":"1.3.1","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.1","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"b0a15a6f3031a9f9d341e39c7e74d60a376bcf02","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.1.tgz","fileCount":31,"integrity":"sha512-iA8DPL9IYzNcS4DZJrH12PfLCenwcZb0gsXjr36KjE+NS14bGHmORLK6sEtUrmB7m44fm0UI6D7d7J4AkviAqQ==","signatures":[{"sig":"MEYCIQC29cQr1iDMNywBRaQ0LJzR6H66WSxHcLPRT5wYbb8PrgIhALJTK94J1oAlckTecHoIMoL/1BTveNm7ZFmO51zS3q3n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268983},"type":"module","engines":{"node":">=20"},"gitHead":"ff6def5cf8b8b4aad53bb8f825ff67a60a37899d","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.1_1775610930571_0.382613507215231","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"fieldtheory","version":"1.3.2","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.2","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"fd43a64ad1bfefc9fc10fe0924267293554c6aaf","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.2.tgz","fileCount":38,"integrity":"sha512-dMzMml7FDvb7AUhJ1RklxKVAAnAOUFolVOY+fWzMU0eYAXjApH824hocdQ0vI8k0QAYEcGvArsY1o+SO7416GA==","signatures":[{"sig":"MEUCIBWSK3rPfnEvPWCnaWgEf8v6RXzvVqTsePbeIxbdKEgGAiEAvzTP7Lzof54KDEtsmEEJFeRk0GWo/DoyxqkU2GNntpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330442},"type":"module","engines":{"node":">=20"},"gitHead":"bd16fedf827b2a348731754967b6e1e90438d21b","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.2_1775623825238_0.23830424103991343","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"fieldtheory","version":"1.3.3","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.3","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"2a58cc1189ef0446e5ead9bbe3b287783bec9fba","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.3.tgz","fileCount":38,"integrity":"sha512-iaaIz2SoRTCxxPwXqZOLIhHhcUN5uTJAYpH6JmbB4HKq6BY0un2V4GVx+IVT5T7/QWhQBEX3lK26XCv9k6jgiQ==","signatures":[{"sig":"MEYCIQC9kntARN+K6KO8kL2B4tp40MSnl98ssa1PTW1uzzIzMwIhANqL6qwDn1o9rQL47t2HC5NN4FAwnVgBek54OWIJyr6Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339343},"type":"module","engines":{"node":">=20"},"gitHead":"a9ce57e935fef743e816746e2443181de108cb11","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.3_1775672082425_0.8628246133581738","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"fieldtheory","version":"1.3.4","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.4","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"88df8faa6739b5e13fde154461f5904c0f3a3765","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.4.tgz","fileCount":39,"integrity":"sha512-UbBwisxSVKYRUeeIYE065U0OFAKkwTuSy2WoQsuI4cBEm5fCrMQ2HJ37vmmsDX1NX+98mztmLB/7/Gei77v/Fg==","signatures":[{"sig":"MEQCIGIs5bgYvefZCpD62akHnpI2us2hVEx/DS8AWEMQQTz9AiBFzoTStOGXpvQTjzBdzqOs6CG1XaiCmkLCZguL1HGmqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344788},"type":"module","engines":{"node":">=20"},"gitHead":"6fd91d33e966e2d2390ddd9d28beebf2ebb649d7","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.4_1775942082816_0.32046213034356663","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"fieldtheory","version":"1.3.5","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.5","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"3f6d288f8748dbafac770489a6bcb23bef04d8df","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.5.tgz","fileCount":40,"integrity":"sha512-dYdU1RT32lj2OQQW72WEt3lFYS8Hlf4mcXQFjBtEiUr7JuP2Ov7ODhRe+FhtfQwxQxEA2d95oNffr332mBCykA==","signatures":[{"sig":"MEQCIG9i63oNkwkhELfdIiCkVMEg24JhdY9NMJ8S1pdGrjexAiAdmS33i6yzwLCimivLCNuJU2c4cz7AfQMivhZzo4I6vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395638},"type":"module","engines":{"node":">=20"},"gitHead":"b9fc8ee3d4c8e1cf995b3cff2356b2a26b213316","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.5_1776028954559_0.13535505920712998","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"fieldtheory","version":"1.3.6","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.6","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"fe9df0678d8dae2623530dfa2622f66b3382c234","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.6.tgz","fileCount":56,"integrity":"sha512-DUBNXSfLZpuHX4Uee7ipsziS4ErOaY9aA/iiBFtISztMTHd8sSibxosWSPE3BYIom8mUwr7DfFE69kZqGJPerw==","signatures":[{"sig":"MEUCIG1ZebMAKcYdfwVhAlUQnNrIugDd8L2Lya81NgsiUMfdAiEA91djUUs+NuUSfo/PWO3rb590jlNUlrOklSc1XfTxsQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483060},"type":"module","engines":{"node":">=20"},"gitHead":"455f3c8043b890e1578c0f7755aa661e1ede70dd","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.6_1776196114349_0.7385883112981095","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"fieldtheory","version":"1.3.7","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.7","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"3fa7be7d56e52429a7cc875dfc4531c27286074a","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.7.tgz","fileCount":56,"integrity":"sha512-INLGaGWFPjf/AfXnIcWwGwrwT2MC8dN6174QWKoV2aUIMVslg4Sf0XYHUZed0YuZS7fDCJH2ZnnXeR5Kzvo9/A==","signatures":[{"sig":"MEUCICnmXxYEcnKKzWepuvhk1dtMZKLsSiHXzrMyIzN3e9TOAiEA4tEOEfmZBJanASIUz+9cgk2+dL6BQPtdr0quowfrSQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483385},"type":"module","engines":{"node":">=20"},"gitHead":"055693122ac92d95b807faafdc06a0a225d7c7c9","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.7_1776200478919_0.23801828407496317","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"fieldtheory","version":"1.3.8","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.8","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"69ce532b519d4da50d9abee1c198f6c8de59e11a","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.8.tgz","fileCount":56,"integrity":"sha512-2GWPEghQu/NkT0+s3PX88bSe8ciDCwrzV/q+wCN6yBTFLNw+LxuX+p4wEJrP7DUMjZfMdsSd7PEC4nEttyN8zQ==","signatures":[{"sig":"MEUCIE5w89+nC3DxIBMr2fE7uiTNxfWi9T5APFgiAReUVM4sAiEA3Nk6RCI+Z3vYiBeFY+Inawi3v7/43YNTKZcno7H+LhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497412},"type":"module","engines":{"node":">=20"},"gitHead":"09d0b671402e6ac449849da2f74d961e4c21753d","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.8_1776211726749_0.18521318007251164","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"fieldtheory","version":"1.3.9","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.9","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"8b3f89bd24fca0148d8ac59ec6765e6f129fc8e1","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.9.tgz","fileCount":57,"integrity":"sha512-xzHi0sLc0gTM0J65PpCakGC6YpU4V5me1RD1TpjQwZd/+aUaBM57y9oRCE6a1bDvXjx7tUSgKGv15VOf8MXVLQ==","signatures":[{"sig":"MEUCIQCWQx4ooI4MdiX53CRZcYaPzTJGmFFjQAmf6aoFGEWokAIgTCx1v73BgsCb7BJiuJilckbE1iIXYxtLSwxjRNHgU4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":525135},"type":"module","engines":{"node":">=20"},"gitHead":"588d7d491b9a06f181c35fffcf7fb3fcf456a96b","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.9_1776307223170_0.45170408752746627","host":"s3://npm-registry-packages-npm-production"}},"1.3.11":{"name":"fieldtheory","version":"1.3.11","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.11","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"7109a0eed6d195bedede1ef9249cb21b7af199be","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.11.tgz","fileCount":57,"integrity":"sha512-dMjLP7QVAO90kHRzQ+QrejvCJYmGsZ/4FKj0AsqPx4nMhJC579J9xt2v3aDo6VqnSoywXUeZabk7xCf3jL9l5Q==","signatures":[{"sig":"MEUCIQDXZYdF7VnZqTA0HuL6CT4IdGJDveU60khIbSQN+MM6sAIgTxVwVs3fFb0ZbMNpx81GoFjkllW8C4/nkNrzWOqytGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527433},"type":"module","engines":{"node":">=20"},"gitHead":"d60eaec1e8467ae703c090165ecc31095c73eadf","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.11_1776634976647_0.4038769801588664","host":"s3://npm-registry-packages-npm-production"}},"1.3.12":{"name":"fieldtheory","version":"1.3.12","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.12","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"1fa1659e5cd0aa40b0a8594c9fa8cd13941b40f4","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.12.tgz","fileCount":57,"integrity":"sha512-7e9GjyIrtwQ6YKpEm+U0/BVJL6ULWstuCQivrQSMMHB6bpwtI6/QIPnK14nU6wrhmc9NCRGEEvvTJ/qGZYBaHg==","signatures":[{"sig":"MEUCIBVLIx9ryuT+B9x2iFmEOg1vpc7HMqbfhu+1bOgY6md9AiEA2P5jKrZ4BYZQAFCB3ScSsVYbikLIvm0V+pBudUvhQcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530491},"type":"module","engines":{"node":">=20"},"gitHead":"32ae30c32add89b6e24efa23942ca24f040e32dd","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.12_1776640616496_0.3428967587705454","host":"s3://npm-registry-packages-npm-production"}},"1.3.13":{"name":"fieldtheory","version":"1.3.13","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.13","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"c503ea8e50c4a7374dd0c47750bb4dfddee44a98","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.13.tgz","fileCount":57,"integrity":"sha512-tVauKeBdYzSyXXSvf1Rviq7VM3sMbFtgBE2nGlzJEsIXesdF4T0E+TL2oTSJRdjhAbzX1QRZ2Ouz1lzy8mAN+g==","signatures":[{"sig":"MEYCIQCrT3ryU1AN2rYjG3BU4ItuhZo0MB5su/yV82ssmNzBYAIhAKGLptFbKnCmTpXvqboDIVrvhzKZL+mEOMf9nObhht3m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":541248},"type":"module","engines":{"node":">=20"},"gitHead":"085eb6b21515b2c784ee9f0d8b650e6ef6be14ef","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.13_1776661677007_0.9489181863955618","host":"s3://npm-registry-packages-npm-production"}},"1.3.14":{"name":"fieldtheory","version":"1.3.14","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.14","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"49703922c523fe21308d35b3ade9edf4ddee7d33","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.14.tgz","fileCount":58,"integrity":"sha512-cFRf+8ISxwfNlj9JB5622gFds9m+2ac7C/PnqUqF9erSfCZDS8rVRk/FqtDA1vzbyj4oZ95E9U3Ch3ypDL89Mw==","signatures":[{"sig":"MEUCIQDjmY7+3/Xl5BhEQstLfhQ4XYTcW9YfCPeS9tXag4o++gIgDfUMiZV7D7NG9DOplnN2hncBuQHgbAStEwhIp8l3uNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549866},"type":"module","engines":{"node":">=20"},"gitHead":"dd5dd1ba355fc11fd19667972d4319fcf76169f6","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.14_1776753471449_0.21900752754158814","host":"s3://npm-registry-packages-npm-production"}},"1.3.15":{"name":"fieldtheory","version":"1.3.15","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.15","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"5c0ade6c856082b9c92a8df72081480a001ee5a9","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.15.tgz","fileCount":58,"integrity":"sha512-LY2z78ZBIA8J0Cz86/LUKLBSmhta51eX3SPsOjO/K2f2Ldf76TFVkvzs/215wdokCVQtLfoKCrckOGSAUS+Mkg==","signatures":[{"sig":"MEUCIQC9v1jOnQqg04FGsk2WvNGh9HsJ74WwJ8GVOIHRuQdNTwIgYaO94sAq3b0IND757I/wc3N3kmYX1707k0tU2eIAUWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":551706},"type":"module","engines":{"node":">=20"},"gitHead":"4003f6c9ac0a7cdde148218773892f25f5cde6fe","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.15_1776804722776_0.031910206001805275","host":"s3://npm-registry-packages-npm-production"}},"1.3.16":{"name":"fieldtheory","version":"1.3.16","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.16","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"2252f66aa4b0b4f551d4af0aa9e1d7072486ddb0","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.16.tgz","fileCount":58,"integrity":"sha512-LgSHZqoOn7D7I8ZXjyreOHXrYSqZTBcCZ77123TrTpPx0uZmlaItBRTI3Gv1TXoF2h5IUNgzJP0/jOIKAO7TMA==","signatures":[{"sig":"MEUCIQCVh4Faj0f4pfcrwSEgipr+uSCL5uNg2cm9DV53CAK6NgIgTBlZLopMzNmvrjy3t0iaULTDrylVuYA36/9/Vc0s1v8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552725},"type":"module","engines":{"node":">=20"},"gitHead":"33dd6a23b3a263f53eb52df8117adc22c728be82","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.16_1776806472416_0.01717027747337707","host":"s3://npm-registry-packages-npm-production"}},"1.3.17":{"name":"fieldtheory","version":"1.3.17","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.17","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"13602a97d8d88ba463dc42c7f46ee9499513107c","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.17.tgz","fileCount":58,"integrity":"sha512-8PROnBeQufS7JsMAjoG/plYIKG56u8mpxXJp1x04c8Eev50cpoCX77OIuxOPUWFEeYNIxmMTIdb24XeJd6LlbA==","signatures":[{"sig":"MEUCIQCx5jhCj2Bkbl9OGQ+4ZuWFavVKf1ZQZOWnbH9mF5TYIQIgK+lMlXKawgKtsRpkx/sLMzJY0l8Qh6fL5yFmGHdbbuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553588},"type":"module","engines":{"node":">=20"},"gitHead":"ed694d02d6c7d3e8b7a6878a260cd6663490374b","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.17_1776893348671_0.5502777529710012","host":"s3://npm-registry-packages-npm-production"}},"1.3.18":{"name":"fieldtheory","version":"1.3.18","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.18","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"03749c1e91124a9e9210b898286670404dea6f4b","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.18.tgz","fileCount":64,"integrity":"sha512-08P7SHNyvrz4CQ3luyMnu3je8NK/h+jXmVF8duoJFTJQh7KMTZpRMMliE2o0MOg8mt9MSXgVLKvgzcyX4iKXUQ==","signatures":[{"sig":"MEYCIQCyjNUldYv44YD+UPrJMX+r8DfN418W6kv3kEsP6JceMQIhAPs4lYi5l5nqIuxV+9ZNxzLP0FPad3D7mF/S9IFjIS8Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570030},"type":"module","engines":{"node":">=20"},"gitHead":"af8e801ef785c4eb9ae8d65d73fdad6aab40d6f3","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.18_1777067485697_0.4544698106188063","host":"s3://npm-registry-packages-npm-production"}},"1.3.19":{"name":"fieldtheory","version":"1.3.19","keywords":["bookmarks","twitter","x","search","fts5","sqlite","local-first","self-custody","cli"],"license":"MIT","_id":"fieldtheory@1.3.19","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"homepage":"https://github.com/afar1/fieldtheory-cli#readme","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"dist":{"shasum":"dadfa30b838aea694f1c5744b03ac56bd51ce29d","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.19.tgz","fileCount":71,"integrity":"sha512-dURkmt+UmWKTgvGVnwynQfoi+2mbEk+v1kqn+wDFdeD68Ay5O0sVk+UeoeUHolh2IaowlTohQYwTBOznHsQ3Xg==","signatures":[{"sig":"MEYCIQD9/yXRdCSQ+PHEdk+J5pIUyoffrp1qu9+u3Wru/KyQVAIhAMxGg0BmbLKo6V79lgNM+nNLIEMBWTLpsG7ioK9bY2PG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620448},"type":"module","engines":{"node":">=20"},"gitHead":"4ea29243aaf38e828854d1e5cc6326106df150b4","scripts":{"dev":"tsx src/cli.ts","test":"tsx --test tests/**/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"repository":{"url":"git+https://github.com/afar1/fieldtheory-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Field Theory CLI. Self-custody for your X/Twitter bookmarks. Local sync, full-text search, classification, and terminal dashboards.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"dotenv":"^17.3.1","sql.js":"^1.14.1","undici":"^6.25.0","commander":"^14.0.3","sql.js-fts5":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/sql.js":"^1.4.11"},"_npmOperationalInternal":{"tmp":"tmp/fieldtheory_1.3.19_1777790530545_0.8433372913411847","host":"s3://npm-registry-packages-npm-production"}},"1.3.22":{"name":"fieldtheory","version":"1.3.22","description":"Field Theory CLI for bookmarks, Library, commands, app install, and agent workflows.","type":"module","bin":{"ft":"bin/ft.mjs","fieldtheory":"bin/ft.mjs"},"scripts":{"build":"tsc -p tsconfig.json","test":"tsx --test tests/**/*.test.ts","dev":"tsx src/cli.ts","start":"node dist/cli.js","prepublishOnly":"npm run build"},"engines":{"node":">=20"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/afar1/fieldtheory-cli.git"},"homepage":"https://fieldtheory.dev/cli","bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"keywords":["field-theory","bookmarks","twitter","x","library","commands","agent-tools","search","fts5","sqlite","local-first","self-custody","cli"],"dependencies":{"commander":"^14.0.3","dotenv":"^17.3.1","sql.js":"^1.14.1","sql.js-fts5":"^1.4.0","undici":"^6.25.0"},"devDependencies":{"@types/node":"^25.5.0","@types/sql.js":"^1.4.11","tsx":"^4.21.0","typescript":"^6.0.2"},"_id":"fieldtheory@1.3.22","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-aZ1OY6jL2+uF1WHp+JgZG8Q0akFvP3Ahp4USnbRhFFIkA30P853GCUogtEW9RkC9KumXBrROIuZOkIO5caUfrQ==","shasum":"0f118ca255b679f247c4d66462bbb849feca5fcb","tarball":"https://registry.npmjs.org/fieldtheory/-/fieldtheory-1.3.22.tgz","fileCount":71,"unpackedSize":784394,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDsr8qWkzknx3vhOF+YIHoRR1JiuY96aTiO/B+WpOcgRQIhAJAculDAMshhr0sYZC3XWdZPzyisgWSg43j4c3tdj4KA"}]},"_npmUser":{"name":"afar1","email":"support@fieldtheory.dev"},"directories":{},"maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fieldtheory_1.3.22_1781502576711_0.22028601354441113"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-03T17:49:27.526Z","modified":"2026-06-15T05:49:36.977Z","1.0.0":"2026-04-03T17:49:27.691Z","1.0.1":"2026-04-03T17:58:31.061Z","1.1.0":"2026-04-04T05:27:39.045Z","1.2.0":"2026-04-04T20:10:11.733Z","1.2.1":"2026-04-05T03:46:38.597Z","1.3.0":"2026-04-08T00:56:44.646Z","1.3.1":"2026-04-08T01:15:30.726Z","1.3.2":"2026-04-08T04:50:25.421Z","1.3.3":"2026-04-08T18:14:42.582Z","1.3.4":"2026-04-11T21:14:42.957Z","1.3.5":"2026-04-12T21:22:34.748Z","1.3.6":"2026-04-14T19:48:34.487Z","1.3.7":"2026-04-14T21:01:19.070Z","1.3.8":"2026-04-15T00:08:46.989Z","1.3.9":"2026-04-16T02:40:23.316Z","1.3.11":"2026-04-19T21:42:56.788Z","1.3.12":"2026-04-19T23:16:56.668Z","1.3.13":"2026-04-20T05:07:57.149Z","1.3.14":"2026-04-21T06:37:51.609Z","1.3.15":"2026-04-21T20:52:02.983Z","1.3.16":"2026-04-21T21:21:12.565Z","1.3.17":"2026-04-22T21:29:08.887Z","1.3.18":"2026-04-24T21:51:25.866Z","1.3.19":"2026-05-03T06:42:10.738Z","1.3.22":"2026-06-15T05:49:36.851Z"},"bugs":{"url":"https://github.com/afar1/fieldtheory-cli/issues"},"license":"MIT","homepage":"https://fieldtheory.dev/cli","keywords":["field-theory","bookmarks","twitter","x","library","commands","agent-tools","search","fts5","sqlite","local-first","self-custody","cli"],"repository":{"type":"git","url":"git+https://github.com/afar1/fieldtheory-cli.git"},"description":"Field Theory CLI for bookmarks, Library, commands, app install, and agent workflows.","maintainers":[{"name":"afar1","email":"support@fieldtheory.dev"}],"readme":"# Field Theory CLI\n\nSync and store bookmarks locally, manage Field Theory Library and command workflows, and make local context available to Claude Code, Codex, or any agent with shell access.\n\nFree and open source. Designed for Mac.\n\nField Theory CLI also acts as the command-line companion to the Field Theory Mac app: it knows the local `~/.fieldtheory` paths, can open Library pages in the packaged app, installs agent skills, and can download packaged app releases from the release feed.\n\n## Repository Family\n\nField Theory is split across sibling repositories:\n\n- [`afar1/fieldtheory`](https://github.com/afar1/fieldtheory): Field Theory Mac app source.\n- [`afar1/fieldtheory-cli`](https://github.com/afar1/fieldtheory-cli): this CLI, licensed under MIT.\n- [`afar1/fieldtheory-plugin`](https://github.com/afar1/fieldtheory-plugin): Field Theory Codex plugin and skills.\n- [`afar1/field-releases`](https://github.com/afar1/field-releases): packaged Mac app release artifacts and updater metadata.\n\nUse the app source repo for Mac app issues, this repo for CLI issues, the plugin repo for agent-plugin issues, and the release feed only for installer, download, update-feed, or release-artifact problems.\n\n## Install\n\n```bash\nnpm install -g fieldtheory\n```\n\nRequires Node.js 20+. A Chrome-family browser or Firefox is recommended for session sync; OAuth is available for all platforms.\n\n## Quick start\n\n```bash\n# 1. Sync your bookmarks (needs a supported browser logged into X)\nft sync\n\n# 2. Search them\nft search \"distributed systems\"\n\n# 3. Explore\nft viz\nft categories\nft stats\n```\n\nOn first run, `ft sync` extracts your X session from your browser and downloads your bookmarks into `~/.fieldtheory/bookmarks/`.\n\n## Commands\n\n### Sync\n\n| Command | Description |\n|---------|-------------|\n| `ft sync` | Download and sync bookmarks, then fetch any missing media (photos, video posters, capped videos). No API required. |\n| `ft sync --no-media` | Sync bookmarks only; skip the media download pass |\n| `ft sync --skip-profile-images` | Sync bookmarks and post media but skip author profile images |\n| `ft sync --rebuild` | Full re-crawl of all bookmarks |\n| `ft sync --continue` | Resume a paused or interrupted sync from the saved cursor |\n| `ft sync --gaps` | Backfill quoted tweets, expand truncated/X Article text, enrich linked articles, and fill any media gaps |\n| `ft sync --folders` | Also sync X bookmark folder tags (read-only mirror of X state) |\n| `ft sync --folder <name>` | Sync a single folder by name (exact or unambiguous prefix) |\n| `ft sync --classify` | Sync then classify new bookmarks with LLM |\n| `ft sync --api` | Sync via OAuth API (cross-platform) |\n| `ft auth` | Set up OAuth for API-based sync (optional) |\n\n### Search and browse\n\n| Command | Description |\n|---------|-------------|\n| `ft search <query>` | Full-text search with BM25 ranking |\n| `ft list` | Filter by author, date, category, domain, or folder |\n| `ft list --folder <name>` | Show bookmarks in an X bookmark folder |\n| `ft show <id>` | Show one bookmark in detail |\n| `ft sample <category>` | Random sample from a category |\n| `ft stats` | Top authors, languages, date range |\n| `ft viz` | Terminal dashboard with sparklines, categories, and domains |\n| `ft categories` | Show category distribution |\n| `ft domains` | Subject domain distribution |\n| `ft folders` | Show X bookmark folder distribution (requires `ft sync --folders` first) |\n\n### Classification\n\n| Command | Description |\n|---------|-------------|\n| `ft classify` | Classify by category and domain using LLM |\n| `ft classify --regex` | Classify by category using simple regex |\n| `ft classify-domains` | Classify by subject domain only (LLM) |\n| `ft classify --engine <name>` | Override the LLM engine for one run (also works on `ft sync --classify` and `ft classify-domains`) |\n| `ft model` | View or change the default LLM engine |\n\n### Knowledge base\n\n| Command | Description |\n|---------|-------------|\n| `ft md` | Export bookmarks as individual markdown files, including enriched article text |\n| `ft md --changed` | Re-export only markdown files whose source bookmark data changed |\n| `ft wiki` | Compile a Karpathy-style interlinked knowledge base |\n| `ft ask <question>` | Ask questions against the knowledge base |\n| `ft ask <question> --save` | Ask and save the answer as a concept page |\n| `ft lint` | Health-check the wiki for broken links and missing pages |\n| `ft lint --fix` | Auto-fix fixable wiki issues |\n\n### Possibility runs\n\n| Command | Description |\n|---------|-------------|\n| `ft seeds search \"<query>\" --create` | Save a bookmark-grounded seed |\n| `ft repos add <path>` | Add a repo to the default repo set |\n| `ft possible` | Interactive seed + repo + frame wizard |\n| `ft possible run --defaults` | Re-run with the most-recently-used seed and saved repos |\n| `ft possible run --background` | Start a run as a background job |\n| `ft possible prompt <node-id>` | Print the goal prompt for one plotted node |\n| `ft possible nightly install` | Install a nightly Possible run on macOS |\n\n### Field Theory app companion\n\n| Command | Description |\n|---------|-------------|\n| `ft paths --json` | Show canonical bookmarks, Library, Commands, and compatibility paths |\n| `ft status --json` | Show bookmark/classification status plus Field Theory paths |\n| `ft library search <query>` | Search local Field Theory Library markdown |\n| `ft library show <path>` | Print a Library page and its version metadata with `--json` |\n| `ft library create <path> --stdin` | Create a new Library page under `~/.fieldtheory/library` |\n| `ft library update <path> --stdin --expected-sha256 <hash>` | Replace a Library page with conflict protection |\n| `ft library delete <path>` | Move a Library page to Trash; the Mac app owns remote sync tombstones |\n| `ft library open <path>` | Open a Library page in the Field Theory Mac app |\n| `ft commands list` | List portable commands under `~/.fieldtheory/commands` |\n| `ft commands new <name>` | Create a reusable portable command |\n| `ft commands validate [name]` | Check command shape and guardrails |\n| `ft install app` | Download and install the latest Field Theory Mac app from `afar1/field-releases` |\n\n`ft library open` targets the packaged Field Theory app by bundle id (`com.fieldtheory.app`) instead of trusting the system-wide `fieldtheory://` handler. That avoids accidentally opening a generic Electron development app when another checkout registered the same URL scheme.\n\nFor local Field Theory app development, point the CLI at the dev checkout:\n\n```bash\nexport FT_APP_DEV_DIR=/Users/you/dev/fieldtheory/mac-app\nft library open notes/example.md\n```\n\nPackaged variants can override the bundle id with `FT_APP_BUNDLE_ID`. Advanced development launchers can set `FT_APP_OPEN_COMMAND` to an executable that receives the deep-link URL as its first argument.\n\n### Agent integration\n\n| Command | Description |\n|---------|-------------|\n| `ft skill install` | Install `/fieldtheory` skill for Claude Code and Codex |\n| `ft skill show` | Print skill content to stdout |\n| `ft skill uninstall` | Remove installed skill files |\n\n### Utilities\n\n| Command | Description |\n|---------|-------------|\n| `ft index` | Rebuild search index from JSONL cache (preserves classifications) |\n| `ft fetch-media` | Backfill/download X media assets for existing bookmarks (default: all pending bookmarks) |\n| `ft fetch-media --skip-profile-images` | Download post media without author profile images |\n| `ft status` | Show sync/classification status and data location |\n| `ft path` | Print data directory path |\n\n## Agent integration\n\nInstall the `/fieldtheory` skill so your agent automatically searches your bookmarks when relevant:\n\n```bash\nft skill install     # Auto-detects Claude Code and Codex\n```\n\nThen ask your agent:\n\n> \"What have I bookmarked about cancer research in the last three years and how has it progressed?\"\n\n> \"I bookmarked a number of new open source AI memory tools. Pick the best one and figure out how to incorporate it in this repo.\"\n\n> \"Your goal is to look at AI agent bookmarks and come up with a roadmap plotted in the grid of what I should do next across the Field Theory CLI and Mac app projects.\"\n\n> \"Every day please sync any new X bookmarks using the Field Theory CLI.\"\n\nWorks with Claude Code, Codex, or any agent with shell access.\n\n## Scheduling\n\nSync with cron:\n\n```bash\n# Sync every morning at 7am\n0 7 * * * ft sync\n\n# Sync and classify every morning\n0 7 * * * ft sync --classify\n```\n\nRun Possible every night on macOS with LaunchAgent:\n\n```bash\nft seeds search \"agents\" --days 90 --limit 8 --frame leverage-specificity --create\nft repos add ~/dev/fieldtheory\nft repos add ~/dev/fieldtheory-cli\n\nft possible nightly install --time 02:00 --defaults --model opus --effort medium --nodes 5\nft possible nightly show\n```\n\nNightly schedules are stored under `~/.fieldtheory/ideas/nightly/`. Each tick starts a normal background job under `~/.fieldtheory/ideas/jobs/`, using your local logged-in CLI sessions and the current `PATH` captured in the LaunchAgent plist.\n\n`ft` respects standard proxy environment variables for network requests: `HTTPS_PROXY`, `HTTP_PROXY`, `ALL_PROXY`, and `NO_PROXY`.\n\n## Data\n\nData is stored locally under `~/.fieldtheory/`:\n\n```\n~/.fieldtheory/bookmarks/\n  bookmarks.jsonl         # raw bookmark cache (one per line)\n  bookmarks.db            # SQLite FTS5 search index\n  bookmarks-meta.json     # sync metadata\n  oauth-token.json        # OAuth token (if using API mode, chmod 600)\n\n~/.fieldtheory/library/\n  index.md                # markdown knowledge base (ft wiki / ft md)\n\n~/.fieldtheory/commands/\n  *.md                    # portable commands used by Field Theory and agents\n\n~/.fieldtheory/ideas/\n  seeds/runs/nodes/       # Possible seeds, runs, and node prompt artifacts\n  batches/jobs/nightly/   # Multi-repo batches, background jobs, and schedules\n```\n\nOverride locations with `FT_DATA_DIR`, `FT_LIBRARY_DIR`, and `FT_COMMANDS_DIR`:\n\n```bash\nexport FT_DATA_DIR=/path/to/custom/dir\nexport FT_LIBRARY_DIR=/path/to/custom/library\nexport FT_COMMANDS_DIR=/path/to/custom/commands\n```\n\nTo remove bookmark and Library data: `rm -rf ~/.fieldtheory/bookmarks ~/.fieldtheory/library`\n\n## Field Theory Repos\n\nThe CLI is one piece of the Field Theory repo family.\n\n- [`afar1/fieldtheory`](https://github.com/afar1/fieldtheory): Field Theory Mac app source, licensed under AGPL-3.0-or-later.\n- [`afar1/fieldtheory-cli`](https://github.com/afar1/fieldtheory-cli): this CLI, licensed under MIT.\n- [`afar1/fieldtheory-plugin`](https://github.com/afar1/fieldtheory-plugin): Field Theory Codex plugin and skills, licensed under MIT.\n- [`afar1/field-releases`](https://github.com/afar1/field-releases): packaged Mac app release artifacts and updater metadata only.\n\nFile app-source issues in the app source repo. Keep binary installer, updater, and release-feed issues out of this CLI repo unless the bug is caused by `ft install app` or CLI launch behavior.\n\n## Categories\n\n| Category | What it catches |\n|----------|----------------|\n| **tool** | GitHub repos, CLI tools, npm packages, open-source projects |\n| **security** | CVEs, vulnerabilities, exploits, supply chain |\n| **technique** | Tutorials, demos, code patterns, \"how I built X\" |\n| **launch** | Product launches, announcements, \"just shipped\" |\n| **research** | ArXiv papers, studies, academic findings |\n| **opinion** | Takes, analysis, commentary, threads |\n| **commerce** | Products, shopping, physical goods |\n\nUse `ft classify` for LLM-powered classification that catches what regex misses.\n\n## Windows Notes\n\nIn PowerShell, use `fieldtheory` or `ft.cmd` instead of `ft` because `ft` is already a built-in alias for `Format-Table`.\n\nIf browser session sync cannot find the right profile, pass the browser and profile explicitly:\n\n```powershell\nfieldtheory sync --browser chrome --chrome-profile-directory \"Default\"\nfieldtheory sync --browser edge --chrome-profile-directory \"Default\"\n```\n\nFor Firefox, if profile detection misses the profile, pass the profile directory explicitly with `--firefox-profile-dir`.\n\nIf cookie extraction still fails, close the browser completely and retry. As a last resort, pass cookies manually:\n\n```powershell\nfieldtheory sync --cookies <ct0> <auth_token>\n```\n\nTreat `ct0` and `auth_token` like passwords. Do not paste them into logs, issues, or chat.\n\n## Platform support\n\n| Feature | macOS | Linux | Windows |\n|---------|-------|-------|---------|\n| Session sync (`ft sync`) | Chrome, Chromium, Brave, Edge, Helium, Comet, Dia, Firefox | Chrome, Chromium, Brave, Edge, Firefox | Chrome, Chromium, Brave, Edge, Firefox |\n| OAuth API sync (`ft sync --api`) | Yes | Yes | Yes |\n| Search, list, classify, viz, wiki | Yes | Yes | Yes |\n\nSession sync extracts cookies from your browser's local database. Use `ft sync --browser <name>` to pick a browser. On Windows, Firefox requires Node.js 22.5+ or `sqlite3` on PATH. For unsupported browsers or platforms, use `ft auth` + `ft sync --api`.\n\n## Security\n\n**Your data stays local.** No telemetry, no analytics, nothing phoned home. The CLI only makes network requests to X's API during sync.\n\n**Chrome session sync** reads cookies from Chrome's local database, uses them for the sync request, and discards them. Cookies are never stored separately.\n\n**OAuth tokens** are stored with `chmod 600` (owner-only). Treat `~/.fieldtheory/bookmarks/oauth-token.json` like a password.\n\n**The default sync uses X's internal GraphQL API**, the same API that x.com uses in your browser. For the official v2 API, use `ft auth` + `ft sync --api`.\n\nDo not open a public issue for suspected vulnerabilities, exposed credentials, auth bypasses, token-handling bugs, or private data exposure. Use the private maintainer contact in `SECURITY.md`.\n\n## Contributing\n\nBy submitting a PR, patch, or contribution, you certify that you have the right to contribute it and agree to license it under the MIT License.\n\nNo CLA is required. Maintainers may ask for explicit signoff on larger, sensitive, or ambiguous contributions.\n\n## License\n\nMIT — [fieldtheory.dev/cli](https://fieldtheory.dev/cli)\n\n## Star History\n\n<a href=\"https://www.star-history.com/?repos=afar1%2Ffieldtheory-cli&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=afar1/fieldtheory-cli&type=date&theme=dark&legend=top-left\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=afar1/fieldtheory-cli&type=date&legend=top-left\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=afar1/fieldtheory-cli&type=date&legend=top-left\" />\n </picture>\n</a>\n","readmeFilename":"README.md"}