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.
Files changed (38) hide show
  1. package/package.json +5 -1
  2. package/src/apps/kanban/src/index.ts +1 -1
  3. package/src/apps/log/.turbo/turbo-lint.log +2 -2
  4. package/src/apps/log/src/index.ts +1 -1
  5. package/src/apps/prompts/.turbo/turbo-lint.log +3 -4
  6. package/src/apps/prompts/src/index.ts +1 -1
  7. package/src/apps/shell/.turbo/turbo-lint.log +5 -5
  8. package/src/apps/shell/src/index.ts +1 -1
  9. package/src/apps/test/.turbo/turbo-lint.log +2 -2
  10. package/src/apps/test/src/index.ts +1 -1
  11. package/src/apps/vocabulary/.turbo/turbo-lint.log +3 -4
  12. package/src/apps/vocabulary/src/index.ts +1 -1
  13. package/src/apps/voice/.turbo/turbo-lint.log +2 -2
  14. package/src/apps/voice/src/index.ts +1 -1
  15. package/src/apps/workflow/.turbo/turbo-lint.log +3 -4
  16. package/src/apps/workflow/src/index.ts +1 -1
  17. package/src/project-context.ts +36 -0
  18. package/src/public/app.js +701 -0
  19. package/src/public/favicon.svg +7 -0
  20. package/src/public/index.html +78 -0
  21. package/src/public/state.js +84 -0
  22. package/src/public/style.css +1213 -0
  23. package/src/routers/coder.ts +157 -0
  24. package/src/routers/dashboard.ts +158 -0
  25. package/src/routers/kanban.ts +38 -0
  26. package/src/routers/log.ts +42 -0
  27. package/src/routers/prompts.ts +134 -0
  28. package/src/routers/shell/index.ts +47 -0
  29. package/src/routers/shell/pty-manager.ts +107 -0
  30. package/src/routers/shell/shell-config.ts +38 -0
  31. package/src/routers/shell/shell-routes.ts +108 -0
  32. package/src/routers/shell/shell-socket.ts +321 -0
  33. package/src/routers/shell/shell-state.ts +59 -0
  34. package/src/routers/test.ts +254 -0
  35. package/src/routers/vocabulary.ts +149 -0
  36. package/src/routers/voice.ts +10 -0
  37. package/src/routers/workflow.ts +243 -0
  38. package/src/server.ts +325 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devglide",
3
- "version": "0.1.2",
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",
@@ -1,5 +1,5 @@
1
1
  import { createKanbanMcpServer } from "./mcp.js";
2
- import { runStdio } from "@devglide/mcp-utils";
2
+ import { runStdio } from "../../../packages/mcp-utils/src/index.js";
3
3
  import { readActiveProjectId } from "./db.js";
4
4
 
5
5
  if (process.argv.includes("--stdio")) {
@@ -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 import/order
9
- 2:1 warning `@devglide/mcp-utils` import should occur before import of `./mcp.js` import/order
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 "@devglide/mcp-utils";
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
- 2:1 warning There should be at least one empty line between import groups import/order
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
- 9 problems (0 errors, 9 warnings)
23
- 0 errors and 9 warnings potentially fixable with the `--fix` option.
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 "@devglide/mcp-utils";
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 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 `@devglide/mcp-utils` import should occur before import of `node-pty` import/order
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 '@devglide/mcp-utils';
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 import/order
9
- 2:1 warning `@devglide/mcp-utils` import should occur before import of `./mcp.js` import/order
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 "@devglide/mcp-utils";
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
- 2:1 warning There should be at least one empty line between import groups import/order
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
- 10 problems (0 errors, 10 warnings)
24
- 0 errors and 9 warnings potentially fixable with the `--fix` option.
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 "@devglide/mcp-utils";
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 import/order
9
- 3:1 warning `@devglide/mcp-utils` import should occur before import of `./mcp.js` import/order
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 "@devglide/mcp-utils";
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
- 2:1 warning There should be at least one empty line between import groups import/order
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
- 51 problems (0 errors, 51 warnings)
95
- 0 errors and 46 warnings potentially fixable with the `--fix` option.
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 "@devglide/mcp-utils";
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
+ }