/ package.json
package.json
 1  {
 2    "name": "interbrain",
 3    "version": "0.15.0",
 4    "description": "An Obsidian plugin that transforms Personal Knowledge Management into Collective Knowledge Gardening, transcending the traditional Second Brain paradigm",
 5    "main": "main.js",
 6    "scripts": {
 7      "dev": "vite",
 8      "build": "vite build && npm run build-github-viewer && cp dist/main.js . && cat styles.base.css dist/main.css > styles.css",
 9      "build:dev": "vite build && cp dist/main.js . && cat styles.base.css dist/main.css > styles.css",
10      "build-github-viewer": "cd src/features/github-publishing/dreamsong-standalone && vite build --config vite.config.ts --outDir ../viewer-bundle",
11      "lint": "eslint src/",
12      "typecheck": "tsc --noEmit",
13      "check-all": "npm run lint && npm run typecheck && npm run test",
14      "test": "vitest run",
15      "test:watch": "vitest",
16      "test:coverage": "vitest run --coverage",
17      "test:collaboration": "npx tsx src/features/social-resonance-filter/__tests__/collaboration/run-local-test.ts",
18      "test:collaboration:reset": "npx tsx src/features/social-resonance-filter/__tests__/collaboration/run-local-test.ts --reset"
19    },
20    "repository": {
21      "type": "git",
22      "url": "git+https://github.com/ProjectLiminality/InterBrain.git"
23    },
24    "keywords": [
25      "obsidian",
26      "plugin",
27      "knowledge-management",
28      "interbrain",
29      "dreamos"
30    ],
31    "author": "Project Liminality",
32    "license": "AGPL-3.0",
33    "bugs": {
34      "url": "https://github.com/ProjectLiminality/InterBrain/issues"
35    },
36    "homepage": "https://github.com/ProjectLiminality/InterBrain#readme",
37    "devDependencies": {
38      "@eslint/js": "^9.31.0",
39      "@testing-library/jest-dom": "^6.6.3",
40      "@testing-library/react": "^16.3.0",
41      "@testing-library/user-event": "^14.6.1",
42      "@types/d3-force": "^3.0.10",
43      "@types/d3-hierarchy": "^3.1.7",
44      "@types/fluent-ffmpeg": "^2.1.27",
45      "@types/node": "^24.0.13",
46      "@types/opentype.js": "^1.3.8",
47      "@typescript-eslint/eslint-plugin": "^8.36.0",
48      "@typescript-eslint/parser": "^8.36.0",
49      "@vitejs/plugin-react": "^4.6.0",
50      "eslint": "^9.31.0",
51      "jsdom": "^26.1.0",
52      "obsidian": "^1.8.7",
53      "tslib": "^2.8.1",
54      "typescript": "^5.8.3",
55      "vite": "^7.0.4",
56      "vitest": "^3.2.4"
57    },
58    "dependencies": {
59      "@react-three/drei": "^10.5.0",
60      "@react-three/fiber": "^9.2.0",
61      "@types/react": "^19.1.8",
62      "@types/react-dom": "^19.1.6",
63      "@types/three": "^0.178.1",
64      "d3-force": "^3.0.0",
65      "d3-hierarchy": "^3.1.2",
66      "fluent-ffmpeg": "^2.1.3",
67      "framer-motion": "^12.23.26",
68      "fuse.js": "^7.1.0",
69      "jspdf": "^3.0.3",
70      "marked": "^16.4.1",
71      "opentype.js": "^1.3.4",
72      "react": "^19.1.0",
73      "react-dom": "^19.1.0",
74      "react-pdf": "^10.2.0",
75      "sharp": "^0.34.5",
76      "three": "^0.178.0",
77      "uuid": "^11.0.5",
78      "zustand": "^5.0.6"
79    }
80  }