WIP: A simple cli for daily tangled use cases and AI integration. This is for my personal use right now, but happy if others get mileage from it! :)
1{
2 "name": "tangled-cli",
3 "version": "0.0.1",
4 "description": "A simple CLI for Tangled.org. Inspired by GitHub CLI, and usable by humans and AI.",
5 "type": "module",
6 "main": "./dist/index.js",
7 "bin": {
8 "tangled": "./dist/index.js"
9 },
10 "scripts": {
11 "dev": "tsx src/index.ts",
12 "build": "tsc",
13 "test": "vitest run",
14 "test:watch": "vitest watch",
15 "test:coverage": "vitest run --coverage",
16 "lint": "biome check .",
17 "lint:fix": "biome check --write .",
18 "format": "biome check --write .",
19 "typecheck": "tsc --noEmit",
20 "prepublishOnly": "npm run build",
21 "codegen": "npx lex gen-api --yes ./src/lexicon ./lexicons/sh/tangled/**/*.json && node scripts/fix-lexicon-imports.js",
22 "update-lexicons": "./scripts/update-lexicons.sh"
23 },
24 "engines": {
25 "node": ">=22.0.0"
26 },
27 "repository": {
28 "type": "git",
29 "url": "git@tangled.org:markbennett.ca/tangled-cli"
30 },
31 "keywords": [
32 "git",
33 "tangled",
34 "pds",
35 "atproto",
36 "cli"
37 ],
38 "author": "Mark Bennett",
39 "license": "MIT",
40 "dependencies": {
41 "@atproto/api": "^0.18.20",
42 "@atproto/lexicon": "^0.6.1",
43 "@inquirer/prompts": "^8.2.0",
44 "@napi-rs/keyring": "^1.2.0",
45 "commander": "^12.1.0",
46 "cosmiconfig": "^9.0.0",
47 "multiformats": "^9.9.0",
48 "simple-git": "^3.30.0",
49 "zod": "^4.3.6"
50 },
51 "//devDependencies": "@biomejs/biome is pinned to match the nixpkgs biome version used in CI (.tangled/workflows/ci.yml). When upgrading, update both together. nixpkgs package: https://search.nixos.org/packages?channel=nixos-unstable&show=biome",
52 "devDependencies": {
53 "@atproto/lex-cli": "^0.9.8",
54 "@biomejs/biome": "2.3.6",
55 "@types/node": "^22.10.2",
56 "tsx": "^4.21.0",
57 "typescript": "^5.7.2",
58 "vitest": "^2.1.8"
59 }
60}