devglide 0.1.2 → 0.1.4
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/package.json +5 -1
- package/src/apps/kanban/src/index.ts +1 -1
- package/src/apps/log/.turbo/turbo-lint.log +2 -2
- package/src/apps/log/src/index.ts +1 -1
- package/src/apps/prompts/.turbo/turbo-lint.log +3 -4
- package/src/apps/prompts/src/index.ts +1 -1
- package/src/apps/shell/.turbo/turbo-lint.log +5 -5
- package/src/apps/shell/src/index.ts +1 -1
- package/src/apps/test/.turbo/turbo-lint.log +2 -2
- package/src/apps/test/src/index.ts +1 -1
- package/src/apps/vocabulary/.turbo/turbo-lint.log +3 -4
- package/src/apps/vocabulary/src/index.ts +1 -1
- package/src/apps/voice/.turbo/turbo-lint.log +2 -2
- package/src/apps/voice/src/index.ts +1 -1
- package/src/apps/workflow/.turbo/turbo-lint.log +3 -4
- package/src/apps/workflow/src/index.ts +1 -1
- package/src/project-context.ts +36 -0
- package/src/public/app.js +701 -0
- package/src/public/favicon.svg +7 -0
- package/src/public/index.html +78 -0
- package/src/public/state.js +84 -0
- package/src/public/style.css +1213 -0
- package/src/routers/coder.ts +157 -0
- package/src/routers/dashboard.ts +158 -0
- package/src/routers/kanban.ts +38 -0
- package/src/routers/log.ts +42 -0
- package/src/routers/prompts.ts +134 -0
- package/src/routers/shell/index.ts +47 -0
- package/src/routers/shell/pty-manager.ts +107 -0
- package/src/routers/shell/shell-config.ts +38 -0
- package/src/routers/shell/shell-routes.ts +108 -0
- package/src/routers/shell/shell-socket.ts +321 -0
- package/src/routers/shell/shell-state.ts +59 -0
- package/src/routers/test.ts +254 -0
- package/src/routers/vocabulary.ts +149 -0
- package/src/routers/voice.ts +10 -0
- package/src/routers/workflow.ts +243 -0
- package/src/server.ts +325 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devglide",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "AI workflow toolkit with MCP servers for kanban, shell, testing, workflows, and more — built for Claude Code",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Daniel Kutyla",
|
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"bin/",
|
|
36
|
+
"src/server.ts",
|
|
37
|
+
"src/project-context.ts",
|
|
38
|
+
"src/routers/",
|
|
39
|
+
"src/public/",
|
|
36
40
|
"src/apps/",
|
|
37
41
|
"src/packages/",
|
|
38
42
|
"turbo.json",
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
/home/runner/_work/devglide/devglide/src/apps/log/src/index.ts
|
|
8
|
-
1:1 warning There should be at least one empty line between import groups
|
|
9
|
-
2:1 warning
|
|
8
|
+
1:1 warning There should be at least one empty line between import groups import/order
|
|
9
|
+
2:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `./mcp.js` import/order
|
|
10
10
|
|
|
11
11
|
/home/runner/_work/devglide/devglide/src/apps/log/src/mcp.ts
|
|
12
12
|
1:1 warning There should be at least one empty line between import groups import/order
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogMcpServer } from "./mcp.js";
|
|
2
|
-
import { runStdio } from "
|
|
2
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
3
3
|
|
|
4
4
|
// ── Stdio MCP mode ──────────────────────────────────────────────────────────
|
|
5
5
|
if (process.argv.includes("--stdio")) {
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
6:1 warning `../../../packages/json-file-store.js` import should occur before type import of `../types.js` import/order
|
|
17
17
|
|
|
18
18
|
/home/runner/_work/devglide/devglide/src/apps/prompts/src/index.ts
|
|
19
|
-
|
|
20
|
-
3:1 warning `@devglide/mcp-utils` import should occur before import of `../mcp.js` import/order
|
|
19
|
+
3:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `../mcp.js` import/order
|
|
21
20
|
|
|
22
|
-
✖
|
|
23
|
-
0 errors and
|
|
21
|
+
✖ 8 problems (0 errors, 8 warnings)
|
|
22
|
+
0 errors and 8 warnings potentially fixable with the `--fix` option.
|
|
24
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createPromptsMcpServer } from "../mcp.js";
|
|
3
|
-
import { runStdio } from "
|
|
3
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
4
4
|
|
|
5
5
|
if (process.argv.includes("--stdio")) {
|
|
6
6
|
const server = createPromptsMcpServer();
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
/home/runner/_work/devglide/devglide/src/apps/shell/src/index.ts
|
|
8
|
-
1:1 warning There should be at least one empty line between import groups
|
|
9
|
-
2:1 warning There should be at least one empty line between import groups
|
|
10
|
-
2:1 warning `fs` import should occur before import of `node-pty`
|
|
11
|
-
3:1 warning There should be at least one empty line between import groups
|
|
12
|
-
4:1 warning
|
|
8
|
+
1:1 warning There should be at least one empty line between import groups import/order
|
|
9
|
+
2:1 warning There should be at least one empty line between import groups import/order
|
|
10
|
+
2:1 warning `fs` import should occur before import of `node-pty` import/order
|
|
11
|
+
3:1 warning There should be at least one empty line between import groups import/order
|
|
12
|
+
4:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `./mcp.js` import/order
|
|
13
13
|
|
|
14
14
|
/home/runner/_work/devglide/devglide/src/apps/shell/src/mcp.ts
|
|
15
15
|
1:1 warning There should be at least one empty line between import groups import/order
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import pty, { type IPty } from 'node-pty';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import { createShellMcpServer } from './mcp.js';
|
|
4
|
-
import { runStdio } from '
|
|
4
|
+
import { runStdio } from '../../../packages/mcp-utils/src/index.js';
|
|
5
5
|
|
|
6
6
|
import type { PtyEntry, PaneInfo, DashboardState, ShellConfig, McpState } from './shell-types.js';
|
|
7
7
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
/home/runner/_work/devglide/devglide/src/apps/test/src/index.ts
|
|
8
|
-
1:1 warning There should be at least one empty line between import groups
|
|
9
|
-
2:1 warning
|
|
8
|
+
1:1 warning There should be at least one empty line between import groups import/order
|
|
9
|
+
2:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `./mcp.js` import/order
|
|
10
10
|
|
|
11
11
|
/home/runner/_work/devglide/devglide/src/apps/test/src/mcp.ts
|
|
12
12
|
1:1 warning There should be at least one empty line between import groups import/order
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createTestMcpServer } from "./mcp.js";
|
|
2
|
-
import { runStdio } from "
|
|
2
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
3
3
|
|
|
4
4
|
// ── Stdio MCP mode ──────────────────────────────────────────────────────────
|
|
5
5
|
if (process.argv.includes("--stdio")) {
|
|
@@ -17,9 +17,8 @@
|
|
|
17
17
|
5:1 warning `../../../packages/json-file-store.js` import should occur before type import of `../types.js` import/order
|
|
18
18
|
|
|
19
19
|
/home/runner/_work/devglide/devglide/src/apps/vocabulary/src/index.ts
|
|
20
|
-
|
|
21
|
-
3:1 warning `@devglide/mcp-utils` import should occur before import of `../mcp.js` import/order
|
|
20
|
+
3:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `../mcp.js` import/order
|
|
22
21
|
|
|
23
|
-
✖
|
|
24
|
-
0 errors and
|
|
22
|
+
✖ 9 problems (0 errors, 9 warnings)
|
|
23
|
+
0 errors and 8 warnings potentially fixable with the `--fix` option.
|
|
25
24
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createVocabularyMcpServer } from "../mcp.js";
|
|
3
|
-
import { runStdio } from "
|
|
3
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
4
4
|
|
|
5
5
|
// ── Stdio MCP mode ──────────────────────────────────────────────────────────
|
|
6
6
|
if (process.argv.includes("--stdio")) {
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
/home/runner/_work/devglide/devglide/src/apps/voice/src/index.ts
|
|
8
|
-
2:1 warning There should be at least one empty line between import groups
|
|
9
|
-
3:1 warning
|
|
8
|
+
2:1 warning There should be at least one empty line between import groups import/order
|
|
9
|
+
3:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `./mcp.js` import/order
|
|
10
10
|
|
|
11
11
|
/home/runner/_work/devglide/devglide/src/apps/voice/src/mcp.ts
|
|
12
12
|
1:1 warning There should be at least one empty line between import groups import/order
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createVoiceMcpServer } from "./mcp.js";
|
|
3
|
-
import { runStdio } from "
|
|
3
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
4
4
|
|
|
5
5
|
// ── Stdio MCP mode ──────────────────────────────────────────────────────────
|
|
6
6
|
if (process.argv.includes("--stdio")) {
|
|
@@ -88,9 +88,8 @@
|
|
|
88
88
|
49:37 warning Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
|
|
89
89
|
|
|
90
90
|
/home/runner/_work/devglide/devglide/src/apps/workflow/src/index.ts
|
|
91
|
-
|
|
92
|
-
3:1 warning `@devglide/mcp-utils` import should occur before import of `../mcp.js` import/order
|
|
91
|
+
3:1 warning `../../../packages/mcp-utils/src/index.js` import should occur before import of `../mcp.js` import/order
|
|
93
92
|
|
|
94
|
-
✖
|
|
95
|
-
0 errors and
|
|
93
|
+
✖ 50 problems (0 errors, 50 warnings)
|
|
94
|
+
0 errors and 45 warnings potentially fixable with the `--fix` option.
|
|
96
95
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createWorkflowMcpServer } from "../mcp.js";
|
|
3
|
-
import { runStdio } from "
|
|
3
|
+
import { runStdio } from "../../../packages/mcp-utils/src/index.js";
|
|
4
4
|
|
|
5
5
|
// ── Stdio MCP mode ──────────────────────────────────────────────────────────
|
|
6
6
|
if (process.argv.includes("--stdio")) {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared active-project state for the unified Devglide server.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the per-app connectProjectContext() socket.io connections.
|
|
5
|
+
* All routers import from this module to read/write the active project.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export interface ActiveProject {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
path: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let activeProject: ActiveProject | null = null;
|
|
15
|
+
|
|
16
|
+
const listeners: Set<(p: ActiveProject | null) => void> = new Set();
|
|
17
|
+
|
|
18
|
+
export function setActiveProject(p: ActiveProject | null): void {
|
|
19
|
+
activeProject = p;
|
|
20
|
+
for (const fn of listeners) {
|
|
21
|
+
try {
|
|
22
|
+
fn(p);
|
|
23
|
+
} catch (err) {
|
|
24
|
+
console.error('[project-context] listener error:', err);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function onProjectChange(fn: (p: ActiveProject | null) => void): () => void {
|
|
30
|
+
listeners.add(fn);
|
|
31
|
+
return () => { listeners.delete(fn); };
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function getActiveProject(): ActiveProject | null {
|
|
35
|
+
return activeProject;
|
|
36
|
+
}
|