@cluesmith/codev 1.4.2 → 1.4.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 (35) hide show
  1. package/dist/agent-farm/servers/dashboard-server.js +1 -5
  2. package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
  3. package/dist/agent-farm/servers/tower-server.js +141 -40
  4. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  5. package/dist/agent-farm/utils/port-registry.d.ts.map +1 -1
  6. package/dist/agent-farm/utils/port-registry.js +19 -5
  7. package/dist/agent-farm/utils/port-registry.js.map +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +2 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/adopt.d.ts.map +1 -1
  12. package/dist/commands/adopt.js +38 -4
  13. package/dist/commands/adopt.js.map +1 -1
  14. package/dist/commands/consult/index.d.ts +1 -0
  15. package/dist/commands/consult/index.d.ts.map +1 -1
  16. package/dist/commands/consult/index.js +56 -8
  17. package/dist/commands/consult/index.js.map +1 -1
  18. package/dist/commands/update.d.ts.map +1 -1
  19. package/dist/commands/update.js +75 -1
  20. package/dist/commands/update.js.map +1 -1
  21. package/dist/lib/templates.d.ts.map +1 -1
  22. package/dist/lib/templates.js +5 -1
  23. package/dist/lib/templates.js.map +1 -1
  24. package/package.json +1 -1
  25. package/skeleton/resources/commands/consult.md +50 -0
  26. package/skeleton/templates/AGENTS.md +28 -0
  27. package/skeleton/templates/CLAUDE.md +28 -0
  28. package/templates/dashboard/index.html +1 -1
  29. package/templates/tower.html +172 -4
  30. package/dist/commands/eject.d.ts +0 -18
  31. package/dist/commands/eject.d.ts.map +0 -1
  32. package/dist/commands/eject.js +0 -149
  33. package/dist/commands/eject.js.map +0 -1
  34. package/templates/dashboard-split.html +0 -4741
  35. package/templates/dashboard.html +0 -149
@@ -1,149 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>AF: {{PROJECT_NAME}}</title>
5
- <style>
6
- * { box-sizing: border-box; margin: 0; padding: 0; }
7
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; padding: 20px; background: #1a1a1a; color: #fff; }
8
- h1 { margin-bottom: 20px; font-size: 24px; font-weight: 600; }
9
- h2 { font-size: 16px; font-weight: 500; margin-bottom: 15px; color: #888; }
10
-
11
- .layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
12
- .layout.no-builders { grid-template-columns: 1fr; }
13
-
14
- .architect-section { }
15
- .builders-section { }
16
-
17
- .terminal-card { background: #2a2a2a; border-radius: 8px; overflow: hidden; margin-bottom: 15px; }
18
- .terminal-header { padding: 10px 15px; background: #333; display: flex; justify-content: space-between; align-items: center; }
19
- .terminal-header h3 { font-size: 14px; font-weight: 500; }
20
- .terminal-status { font-size: 12px; padding: 2px 8px; border-radius: 4px; font-weight: 500; }
21
-
22
- .status-architect { background: #8b5cf6; }
23
- .status-spawning { background: #6366f1; }
24
- .status-implementing { background: #3b82f6; }
25
- .status-blocked { background: #ef4444; }
26
- .status-pr-ready { background: #22c55e; }
27
- .status-reviewing { background: #f59e0b; }
28
- .status-complete { background: #10b981; }
29
-
30
- iframe { width: 100%; height: 500px; border: none; background: #000; }
31
- .builders-section iframe { height: 400px; }
32
-
33
- .no-terminal { text-align: center; padding: 60px 40px; color: #666; background: #2a2a2a; border-radius: 8px; }
34
- .no-terminal code { background: #333; padding: 4px 8px; border-radius: 4px; font-size: 13px; }
35
-
36
- .instructions { margin-top: 20px; padding: 15px; background: #2a2a2a; border-radius: 8px; font-size: 13px; }
37
- .instructions code { background: #333; padding: 2px 6px; border-radius: 3px; }
38
- .instructions strong { color: #888; }
39
-
40
- .refresh-btn {
41
- position: fixed; top: 20px; right: 20px;
42
- background: #333; color: #fff; border: none; padding: 8px 16px;
43
- border-radius: 6px; cursor: pointer; font-size: 13px;
44
- }
45
- .refresh-btn:hover { background: #444; }
46
-
47
- .builder-grid { display: grid; grid-template-columns: 1fr; gap: 15px; }
48
- @media (min-width: 1400px) {
49
- .builder-grid { grid-template-columns: 1fr 1fr; }
50
- .builders-section iframe { height: 350px; }
51
- }
52
- </style>
53
- </head>
54
- <body>
55
- <button class="refresh-btn" onclick="location.reload()">Refresh</button>
56
- <h1>Agent Farm - {{PROJECT_NAME}}</h1>
57
-
58
- <div class="layout" id="layout">
59
- <!-- Content inserted by JavaScript -->
60
- </div>
61
-
62
- <div class="instructions">
63
- <strong>Commands:</strong>
64
- <code>architect start</code> ·
65
- <code>architect spawn --project XXXX</code> ·
66
- <code>architect open XXXX FILE</code> ·
67
- <code>architect stop</code>
68
- </div>
69
-
70
- <script>
71
- // Configuration - updated by architect CLI
72
- const architectPort = 7680;
73
- const builders = [];
74
-
75
- const layout = document.getElementById('layout');
76
-
77
- // Check if architect console is running
78
- const architectRunning = architectPort > 0;
79
-
80
- // Build architect section
81
- let architectHtml = '';
82
- if (architectRunning) {
83
- architectHtml = `
84
- <div class="architect-section">
85
- <h2>Architect Console</h2>
86
- <div class="terminal-card">
87
- <div class="terminal-header">
88
- <h3>Architect</h3>
89
- <span class="terminal-status status-architect">active</span>
90
- </div>
91
- <iframe src="http://localhost:${architectPort}" title="Architect Console" allow="clipboard-read; clipboard-write"></iframe>
92
- </div>
93
- </div>
94
- `;
95
- } else {
96
- architectHtml = `
97
- <div class="architect-section">
98
- <h2>Architect Console</h2>
99
- <div class="no-terminal">
100
- <p style="margin-bottom: 15px;">Architect console not running.</p>
101
- <p>Run <code>architect start</code> to begin.</p>
102
- </div>
103
- </div>
104
- `;
105
- }
106
-
107
- // Build builders section
108
- let buildersHtml = '';
109
- if (builders.length > 0) {
110
- buildersHtml = `
111
- <div class="builders-section">
112
- <h2>Builders (${builders.length})</h2>
113
- <div class="builder-grid">
114
- ${builders.map(b => {
115
- const statusClass = 'status-' + b.status.replace(/[^a-z]/g, '');
116
- return `
117
- <div class="terminal-card">
118
- <div class="terminal-header">
119
- <h3>Builder ${b.id}: ${b.name}</h3>
120
- <span class="terminal-status ${statusClass}">${b.status} (${b.phase})</span>
121
- </div>
122
- <iframe src="http://localhost:${b.port}" title="Builder ${b.id}" allow="clipboard-read; clipboard-write"></iframe>
123
- </div>
124
- `;
125
- }).join('')}
126
- </div>
127
- </div>
128
- `;
129
- } else {
130
- buildersHtml = `
131
- <div class="builders-section">
132
- <h2>Builders</h2>
133
- <div class="no-terminal">
134
- <p style="margin-bottom: 15px;">No active builders.</p>
135
- <p>Run <code>architect spawn --project XXXX</code></p>
136
- </div>
137
- </div>
138
- `;
139
- }
140
-
141
- // Adjust layout if no builders
142
- if (builders.length === 0) {
143
- layout.classList.add('no-builders');
144
- }
145
-
146
- layout.innerHTML = architectHtml + buildersHtml;
147
- </script>
148
- </body>
149
- </html>