claudecto 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +275 -0
- package/dist/__tests__/package.test.d.ts +2 -0
- package/dist/__tests__/package.test.d.ts.map +1 -0
- package/dist/__tests__/package.test.js +53 -0
- package/dist/__tests__/package.test.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +200 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/server/index.d.ts +11 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1207 -0
- package/dist/server/index.js.map +1 -0
- package/dist/services/advisor.d.ts +117 -0
- package/dist/services/advisor.d.ts.map +1 -0
- package/dist/services/advisor.js +2636 -0
- package/dist/services/advisor.js.map +1 -0
- package/dist/services/agent-generator.d.ts +71 -0
- package/dist/services/agent-generator.d.ts.map +1 -0
- package/dist/services/agent-generator.js +295 -0
- package/dist/services/agent-generator.js.map +1 -0
- package/dist/services/agents.d.ts +67 -0
- package/dist/services/agents.d.ts.map +1 -0
- package/dist/services/agents.js +405 -0
- package/dist/services/agents.js.map +1 -0
- package/dist/services/analytics.d.ts +145 -0
- package/dist/services/analytics.d.ts.map +1 -0
- package/dist/services/analytics.js +609 -0
- package/dist/services/analytics.js.map +1 -0
- package/dist/services/blueprints.d.ts +31 -0
- package/dist/services/blueprints.d.ts.map +1 -0
- package/dist/services/blueprints.js +317 -0
- package/dist/services/blueprints.js.map +1 -0
- package/dist/services/claude-dir.d.ts +50 -0
- package/dist/services/claude-dir.d.ts.map +1 -0
- package/dist/services/claude-dir.js +193 -0
- package/dist/services/claude-dir.js.map +1 -0
- package/dist/services/hooks.d.ts +38 -0
- package/dist/services/hooks.d.ts.map +1 -0
- package/dist/services/hooks.js +165 -0
- package/dist/services/hooks.js.map +1 -0
- package/dist/services/insights.d.ts +52 -0
- package/dist/services/insights.d.ts.map +1 -0
- package/dist/services/insights.js +1035 -0
- package/dist/services/insights.js.map +1 -0
- package/dist/services/memory.d.ts +14 -0
- package/dist/services/memory.d.ts.map +1 -0
- package/dist/services/memory.js +25 -0
- package/dist/services/memory.js.map +1 -0
- package/dist/services/plans.d.ts +20 -0
- package/dist/services/plans.d.ts.map +1 -0
- package/dist/services/plans.js +149 -0
- package/dist/services/plans.js.map +1 -0
- package/dist/services/project-intelligence.d.ts +75 -0
- package/dist/services/project-intelligence.d.ts.map +1 -0
- package/dist/services/project-intelligence.js +731 -0
- package/dist/services/project-intelligence.js.map +1 -0
- package/dist/services/search.d.ts +32 -0
- package/dist/services/search.d.ts.map +1 -0
- package/dist/services/search.js +203 -0
- package/dist/services/search.js.map +1 -0
- package/dist/services/sessions.d.ts +25 -0
- package/dist/services/sessions.d.ts.map +1 -0
- package/dist/services/sessions.js +248 -0
- package/dist/services/sessions.js.map +1 -0
- package/dist/services/skills.d.ts +30 -0
- package/dist/services/skills.d.ts.map +1 -0
- package/dist/services/skills.js +197 -0
- package/dist/services/skills.js.map +1 -0
- package/dist/services/stats.d.ts +23 -0
- package/dist/services/stats.d.ts.map +1 -0
- package/dist/services/stats.js +88 -0
- package/dist/services/stats.js.map +1 -0
- package/dist/services/teams.d.ts +115 -0
- package/dist/services/teams.d.ts.map +1 -0
- package/dist/services/teams.js +421 -0
- package/dist/services/teams.js.map +1 -0
- package/dist/services/tech-stack.d.ts +98 -0
- package/dist/services/tech-stack.d.ts.map +1 -0
- package/dist/services/tech-stack.js +1088 -0
- package/dist/services/tech-stack.js.map +1 -0
- package/dist/services/terminal.d.ts +75 -0
- package/dist/services/terminal.d.ts.map +1 -0
- package/dist/services/terminal.js +224 -0
- package/dist/services/terminal.js.map +1 -0
- package/dist/types.d.ts +1095 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/assets/index-BiH4Nhdk.css +1 -0
- package/dist/ui/assets/index-Brv-K8bd.css +1 -0
- package/dist/ui/assets/index-BwMBEdQz.js +3108 -0
- package/dist/ui/assets/index-BwMBEdQz.js.map +1 -0
- package/dist/ui/assets/index-CEWz7ABD.js +3108 -0
- package/dist/ui/assets/index-CEWz7ABD.js.map +1 -0
- package/dist/ui/assets/index-CIZ3vvc-.css +1 -0
- package/dist/ui/assets/index-CsU3cI0n.js +3108 -0
- package/dist/ui/assets/index-CsU3cI0n.js.map +1 -0
- package/dist/ui/assets/index-D3AY6iCS.js +3133 -0
- package/dist/ui/assets/index-D3AY6iCS.js.map +1 -0
- package/dist/ui/assets/index-D8lNZ0Ye.css +1 -0
- package/dist/ui/assets/index-DmgeppSA.js +3108 -0
- package/dist/ui/assets/index-DmgeppSA.js.map +1 -0
- package/dist/ui/favicon.svg +43 -0
- package/dist/ui/index.html +23 -0
- package/dist/utils/jsonl.d.ts +16 -0
- package/dist/utils/jsonl.d.ts.map +1 -0
- package/dist/utils/jsonl.js +51 -0
- package/dist/utils/jsonl.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<!-- Warm terracotta gradient matching the app theme -->
|
|
4
|
+
<linearGradient id="terracotta" x1="0" y1="0" x2="32" y2="32" gradientUnits="userSpaceOnUse">
|
|
5
|
+
<stop stop-color="#E8845C"/>
|
|
6
|
+
<stop offset="1" stop-color="#C96A42"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<!-- Subtle inner shadow -->
|
|
9
|
+
<filter id="inner-glow" x="-20%" y="-20%" width="140%" height="140%">
|
|
10
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="1" result="blur"/>
|
|
11
|
+
<feOffset in="blur" dx="0" dy="1" result="offsetBlur"/>
|
|
12
|
+
<feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
|
|
13
|
+
</filter>
|
|
14
|
+
</defs>
|
|
15
|
+
|
|
16
|
+
<!-- Rounded square background -->
|
|
17
|
+
<rect width="32" height="32" rx="8" fill="#1C1917"/>
|
|
18
|
+
|
|
19
|
+
<!-- Main terracotta circle - represents the "dot" in .claude -->
|
|
20
|
+
<circle cx="16" cy="16" r="11" fill="url(#terracotta)" filter="url(#inner-glow)"/>
|
|
21
|
+
|
|
22
|
+
<!-- Inner design: stylized brackets representing code/terminal -->
|
|
23
|
+
<!-- Left bracket < -->
|
|
24
|
+
<path
|
|
25
|
+
d="M 13 11 L 9 16 L 13 21"
|
|
26
|
+
stroke="#1C1917"
|
|
27
|
+
stroke-width="2.5"
|
|
28
|
+
stroke-linecap="round"
|
|
29
|
+
stroke-linejoin="round"
|
|
30
|
+
fill="none"
|
|
31
|
+
/>
|
|
32
|
+
<!-- Right bracket > -->
|
|
33
|
+
<path
|
|
34
|
+
d="M 19 11 L 23 16 L 19 21"
|
|
35
|
+
stroke="#1C1917"
|
|
36
|
+
stroke-width="2.5"
|
|
37
|
+
stroke-linecap="round"
|
|
38
|
+
stroke-linejoin="round"
|
|
39
|
+
fill="none"
|
|
40
|
+
/>
|
|
41
|
+
<!-- Dot in the middle (the key "." in .claude) -->
|
|
42
|
+
<circle cx="16" cy="16" r="1.5" fill="#1C1917"/>
|
|
43
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
<meta name="theme-color" content="#11100f" />
|
|
9
|
+
<title>claudecto</title>
|
|
10
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
11
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
12
|
+
<link
|
|
13
|
+
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap"
|
|
14
|
+
rel="stylesheet" />
|
|
15
|
+
<script type="module" crossorigin src="/assets/index-D3AY6iCS.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D8lNZ0Ye.css">
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div id="root"></div>
|
|
21
|
+
</body>
|
|
22
|
+
|
|
23
|
+
</html>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL parsing utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parse a JSONL file line by line, yielding each parsed object
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseJSONL<T>(filePath: string): AsyncGenerator<T>;
|
|
8
|
+
/**
|
|
9
|
+
* Parse all lines from a JSONL file into an array
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseJSONLFile<T>(filePath: string): Promise<T[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Count lines in a JSONL file without loading all into memory
|
|
14
|
+
*/
|
|
15
|
+
export declare function countJSONLLines(filePath: string): Promise<number>;
|
|
16
|
+
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/utils/jsonl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAuB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAexE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAMtE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAavE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL parsing utilities
|
|
3
|
+
*/
|
|
4
|
+
import { createReadStream } from 'node:fs';
|
|
5
|
+
import { createInterface } from 'node:readline';
|
|
6
|
+
/**
|
|
7
|
+
* Parse a JSONL file line by line, yielding each parsed object
|
|
8
|
+
*/
|
|
9
|
+
export async function* parseJSONL(filePath) {
|
|
10
|
+
const rl = createInterface({
|
|
11
|
+
input: createReadStream(filePath),
|
|
12
|
+
crlfDelay: Infinity,
|
|
13
|
+
});
|
|
14
|
+
for await (const line of rl) {
|
|
15
|
+
if (line.trim()) {
|
|
16
|
+
try {
|
|
17
|
+
yield JSON.parse(line);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// Skip malformed lines
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parse all lines from a JSONL file into an array
|
|
27
|
+
*/
|
|
28
|
+
export async function parseJSONLFile(filePath) {
|
|
29
|
+
const items = [];
|
|
30
|
+
for await (const item of parseJSONL(filePath)) {
|
|
31
|
+
items.push(item);
|
|
32
|
+
}
|
|
33
|
+
return items;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Count lines in a JSONL file without loading all into memory
|
|
37
|
+
*/
|
|
38
|
+
export async function countJSONLLines(filePath) {
|
|
39
|
+
let count = 0;
|
|
40
|
+
const rl = createInterface({
|
|
41
|
+
input: createReadStream(filePath),
|
|
42
|
+
crlfDelay: Infinity,
|
|
43
|
+
});
|
|
44
|
+
for await (const line of rl) {
|
|
45
|
+
if (line.trim()) {
|
|
46
|
+
count++;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return count;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=jsonl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../src/utils/jsonl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,UAAU,CAAI,QAAgB;IACnD,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACjC,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,QAAgB;IACtD,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,UAAU,CAAI,QAAQ,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACjC,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claudecto",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "If Claude Code is your engineer, claudecto can be your CTO - Visual dashboard to search, browse, and manage your Claude Code data",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"module": "dist/index.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./server": {
|
|
16
|
+
"types": "./dist/server/index.d.ts",
|
|
17
|
+
"import": "./dist/server/index.js",
|
|
18
|
+
"default": "./dist/server/index.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"bin": {
|
|
22
|
+
"claudecto": "dist/cli.js"
|
|
23
|
+
},
|
|
24
|
+
"workspaces": [
|
|
25
|
+
"ui",
|
|
26
|
+
"server"
|
|
27
|
+
],
|
|
28
|
+
"files": [
|
|
29
|
+
"dist/**",
|
|
30
|
+
"README.md",
|
|
31
|
+
"LICENSE"
|
|
32
|
+
],
|
|
33
|
+
"private": false,
|
|
34
|
+
"scripts": {
|
|
35
|
+
"dev": "tsx src/cli.ts",
|
|
36
|
+
"dev:server": "npm run dev --workspace=server",
|
|
37
|
+
"build": "tsc && npm run build:ui && npm run copy:ui",
|
|
38
|
+
"build:server": "tsc",
|
|
39
|
+
"build:auth-server": "npm run build --workspace=server",
|
|
40
|
+
"build:ui": "cd ui && npm install && npm run build",
|
|
41
|
+
"copy:ui": "node -e \"require('fs').cpSync('ui/dist','dist/ui',{recursive:true})\"",
|
|
42
|
+
"test": "node --test dist/__tests__/package.test.js",
|
|
43
|
+
"start": "node dist/cli.js",
|
|
44
|
+
"start:auth-server": "npm run start --workspace=server",
|
|
45
|
+
"prepublishOnly": "npm run build",
|
|
46
|
+
"electron:dev": "npm run build && npm run electron:build && electron electron-dist/main.js",
|
|
47
|
+
"electron:build": "tsc -p tsconfig.electron.json",
|
|
48
|
+
"package": "npm run build && npm run electron:build && electron-forge package",
|
|
49
|
+
"make": "npm run build && npm run electron:build && electron-forge make",
|
|
50
|
+
"make:unsigned": "SKIP_SIGNING=true npm run make"
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"claude",
|
|
54
|
+
"claude-code",
|
|
55
|
+
"dashboard",
|
|
56
|
+
"search",
|
|
57
|
+
"skills",
|
|
58
|
+
"hooks",
|
|
59
|
+
"memory",
|
|
60
|
+
"anthropic",
|
|
61
|
+
"ai",
|
|
62
|
+
"developer-tools"
|
|
63
|
+
],
|
|
64
|
+
"author": "josharsh",
|
|
65
|
+
"license": "MIT",
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "https://github.com/josharsh/claudecto.git"
|
|
69
|
+
},
|
|
70
|
+
"homepage": "https://claudecto.com",
|
|
71
|
+
"bugs": {
|
|
72
|
+
"url": "https://github.com/josharsh/claudecto/issues"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public",
|
|
76
|
+
"registry": "https://registry.npmjs.org/"
|
|
77
|
+
},
|
|
78
|
+
"engines": {
|
|
79
|
+
"node": ">=18.0.0"
|
|
80
|
+
},
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"commander": "^12.1.0",
|
|
83
|
+
"hono": "^4.6.0",
|
|
84
|
+
"ws": "^8.18.0",
|
|
85
|
+
"yaml": "^2.4.0"
|
|
86
|
+
},
|
|
87
|
+
"devDependencies": {
|
|
88
|
+
"@changesets/cli": "^2.27.0",
|
|
89
|
+
"@electron-forge/cli": "^7.4.0",
|
|
90
|
+
"@electron-forge/maker-dmg": "^7.4.0",
|
|
91
|
+
"@electron-forge/maker-zip": "^7.4.0",
|
|
92
|
+
"@electron-forge/plugin-auto-unpack-natives": "^7.4.0",
|
|
93
|
+
"@electron/notarize": "^2.3.0",
|
|
94
|
+
"@electron/osx-sign": "^1.3.0",
|
|
95
|
+
"@electron/rebuild": "^3.6.0",
|
|
96
|
+
"@types/node": "^22.0.0",
|
|
97
|
+
"@types/ws": "^8.5.0",
|
|
98
|
+
"electron": "^31.7.7",
|
|
99
|
+
"sharp": "^0.34.5",
|
|
100
|
+
"tsx": "^4.19.0",
|
|
101
|
+
"typescript": "^5.6.0"
|
|
102
|
+
},
|
|
103
|
+
"optionalDependencies": {
|
|
104
|
+
"node-pty": "^1.0.0"
|
|
105
|
+
}
|
|
106
|
+
}
|