@cluesmith/codev 2.0.2 → 2.0.6

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 (312) hide show
  1. package/dashboard/dist/assets/index-B-s8BA2l.js +135 -0
  2. package/dashboard/dist/assets/index-B-s8BA2l.js.map +1 -0
  3. package/dashboard/dist/assets/index-DB2AxRP7.css +32 -0
  4. package/dashboard/dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +32 -14
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/architect.d.ts +1 -1
  9. package/dist/agent-farm/commands/architect.js +3 -3
  10. package/dist/agent-farm/commands/architect.js.map +1 -1
  11. package/dist/agent-farm/commands/attach.d.ts +19 -0
  12. package/dist/agent-farm/commands/attach.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/attach.js +172 -12
  14. package/dist/agent-farm/commands/attach.js.map +1 -1
  15. package/dist/agent-farm/commands/cleanup.js +6 -6
  16. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  17. package/dist/agent-farm/commands/open.js +5 -5
  18. package/dist/agent-farm/commands/open.js.map +1 -1
  19. package/dist/agent-farm/commands/send.d.ts +22 -2
  20. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  21. package/dist/agent-farm/commands/send.js +100 -181
  22. package/dist/agent-farm/commands/send.js.map +1 -1
  23. package/dist/agent-farm/commands/shell.js +5 -5
  24. package/dist/agent-farm/commands/shell.js.map +1 -1
  25. package/dist/agent-farm/commands/spawn-roles.d.ts +3 -9
  26. package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
  27. package/dist/agent-farm/commands/spawn-roles.js +14 -53
  28. package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
  29. package/dist/agent-farm/commands/spawn-worktree.d.ts +11 -17
  30. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  31. package/dist/agent-farm/commands/spawn-worktree.js +32 -13
  32. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  33. package/dist/agent-farm/commands/spawn.d.ts +8 -6
  34. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  35. package/dist/agent-farm/commands/spawn.js +183 -69
  36. package/dist/agent-farm/commands/spawn.js.map +1 -1
  37. package/dist/agent-farm/commands/start.d.ts +4 -4
  38. package/dist/agent-farm/commands/start.js +16 -16
  39. package/dist/agent-farm/commands/start.js.map +1 -1
  40. package/dist/agent-farm/commands/status.d.ts +1 -1
  41. package/dist/agent-farm/commands/status.d.ts.map +1 -1
  42. package/dist/agent-farm/commands/status.js +15 -26
  43. package/dist/agent-farm/commands/status.js.map +1 -1
  44. package/dist/agent-farm/commands/stop.d.ts +4 -4
  45. package/dist/agent-farm/commands/stop.js +9 -9
  46. package/dist/agent-farm/commands/stop.js.map +1 -1
  47. package/dist/agent-farm/db/index.d.ts.map +1 -1
  48. package/dist/agent-farm/db/index.js +82 -7
  49. package/dist/agent-farm/db/index.js.map +1 -1
  50. package/dist/agent-farm/db/schema.d.ts +2 -2
  51. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  52. package/dist/agent-farm/db/schema.js +21 -4
  53. package/dist/agent-farm/db/schema.js.map +1 -1
  54. package/dist/agent-farm/lib/tower-client.d.ts +36 -26
  55. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  56. package/dist/agent-farm/lib/tower-client.js +50 -25
  57. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  58. package/dist/agent-farm/lib/tunnel-client.d.ts +12 -2
  59. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  60. package/dist/agent-farm/lib/tunnel-client.js +59 -1
  61. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  62. package/dist/agent-farm/servers/overview.d.ts +111 -0
  63. package/dist/agent-farm/servers/overview.d.ts.map +1 -0
  64. package/dist/agent-farm/servers/overview.js +385 -0
  65. package/dist/agent-farm/servers/overview.js.map +1 -0
  66. package/dist/agent-farm/servers/tower-instances.d.ts +18 -20
  67. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  68. package/dist/agent-farm/servers/tower-instances.js +97 -100
  69. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  70. package/dist/agent-farm/servers/tower-messages.d.ts +87 -0
  71. package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -0
  72. package/dist/agent-farm/servers/tower-messages.js +202 -0
  73. package/dist/agent-farm/servers/tower-messages.js.map +1 -0
  74. package/dist/agent-farm/servers/tower-routes.d.ts +1 -1
  75. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  76. package/dist/agent-farm/servers/tower-routes.js +343 -174
  77. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  78. package/dist/agent-farm/servers/tower-server.js +50 -21
  79. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  80. package/dist/agent-farm/servers/tower-terminals.d.ts +35 -31
  81. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  82. package/dist/agent-farm/servers/tower-terminals.js +208 -184
  83. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  84. package/dist/agent-farm/servers/tower-tunnel.d.ts +2 -2
  85. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
  86. package/dist/agent-farm/servers/tower-tunnel.js +12 -12
  87. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  88. package/dist/agent-farm/servers/tower-types.d.ts +8 -12
  89. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  90. package/dist/agent-farm/servers/tower-utils.d.ts +9 -9
  91. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  92. package/dist/agent-farm/servers/tower-utils.js +18 -18
  93. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  94. package/dist/agent-farm/servers/tower-websocket.d.ts +2 -2
  95. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  96. package/dist/agent-farm/servers/tower-websocket.js +39 -18
  97. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  98. package/dist/agent-farm/types.d.ts +5 -6
  99. package/dist/agent-farm/types.d.ts.map +1 -1
  100. package/dist/agent-farm/utils/agent-names.d.ts +85 -0
  101. package/dist/agent-farm/utils/agent-names.d.ts.map +1 -0
  102. package/dist/agent-farm/utils/agent-names.js +140 -0
  103. package/dist/agent-farm/utils/agent-names.js.map +1 -0
  104. package/dist/agent-farm/utils/config.d.ts +1 -1
  105. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  106. package/dist/agent-farm/utils/config.js +16 -16
  107. package/dist/agent-farm/utils/config.js.map +1 -1
  108. package/dist/agent-farm/utils/file-tabs.d.ts +3 -3
  109. package/dist/agent-farm/utils/file-tabs.d.ts.map +1 -1
  110. package/dist/agent-farm/utils/file-tabs.js +9 -9
  111. package/dist/agent-farm/utils/file-tabs.js.map +1 -1
  112. package/dist/agent-farm/utils/index.d.ts +0 -1
  113. package/dist/agent-farm/utils/index.d.ts.map +1 -1
  114. package/dist/agent-farm/utils/index.js +0 -1
  115. package/dist/agent-farm/utils/index.js.map +1 -1
  116. package/dist/agent-farm/utils/message-format.d.ts +17 -0
  117. package/dist/agent-farm/utils/message-format.d.ts.map +1 -0
  118. package/dist/agent-farm/utils/message-format.js +41 -0
  119. package/dist/agent-farm/utils/message-format.js.map +1 -0
  120. package/dist/agent-farm/utils/notifications.d.ts +4 -4
  121. package/dist/agent-farm/utils/notifications.d.ts.map +1 -1
  122. package/dist/agent-farm/utils/notifications.js +18 -18
  123. package/dist/agent-farm/utils/notifications.js.map +1 -1
  124. package/dist/cli.d.ts.map +1 -1
  125. package/dist/cli.js +26 -1
  126. package/dist/cli.js.map +1 -1
  127. package/dist/commands/adopt.d.ts +2 -2
  128. package/dist/commands/adopt.d.ts.map +1 -1
  129. package/dist/commands/adopt.js +13 -15
  130. package/dist/commands/adopt.js.map +1 -1
  131. package/dist/commands/consult/index.d.ts +26 -2
  132. package/dist/commands/consult/index.d.ts.map +1 -1
  133. package/dist/commands/consult/index.js +296 -83
  134. package/dist/commands/consult/index.js.map +1 -1
  135. package/dist/commands/consult/metrics.d.ts +90 -0
  136. package/dist/commands/consult/metrics.d.ts.map +1 -0
  137. package/dist/commands/consult/metrics.js +203 -0
  138. package/dist/commands/consult/metrics.js.map +1 -0
  139. package/dist/commands/consult/stats.d.ts +18 -0
  140. package/dist/commands/consult/stats.d.ts.map +1 -0
  141. package/dist/commands/consult/stats.js +150 -0
  142. package/dist/commands/consult/stats.js.map +1 -0
  143. package/dist/commands/consult/usage-extractor.d.ts +38 -0
  144. package/dist/commands/consult/usage-extractor.d.ts.map +1 -0
  145. package/dist/commands/consult/usage-extractor.js +99 -0
  146. package/dist/commands/consult/usage-extractor.js.map +1 -0
  147. package/dist/commands/doctor.d.ts.map +1 -1
  148. package/dist/commands/doctor.js +11 -9
  149. package/dist/commands/doctor.js.map +1 -1
  150. package/dist/commands/import.js +4 -4
  151. package/dist/commands/import.js.map +1 -1
  152. package/dist/commands/init.d.ts +2 -2
  153. package/dist/commands/init.d.ts.map +1 -1
  154. package/dist/commands/init.js +13 -15
  155. package/dist/commands/init.js.map +1 -1
  156. package/dist/commands/porch/index.d.ts +6 -6
  157. package/dist/commands/porch/index.d.ts.map +1 -1
  158. package/dist/commands/porch/index.js +37 -37
  159. package/dist/commands/porch/index.js.map +1 -1
  160. package/dist/commands/porch/next.d.ts +1 -1
  161. package/dist/commands/porch/next.d.ts.map +1 -1
  162. package/dist/commands/porch/next.js +86 -92
  163. package/dist/commands/porch/next.js.map +1 -1
  164. package/dist/commands/porch/notify.d.ts +11 -0
  165. package/dist/commands/porch/notify.d.ts.map +1 -0
  166. package/dist/commands/porch/notify.js +30 -0
  167. package/dist/commands/porch/notify.js.map +1 -0
  168. package/dist/commands/porch/plan.d.ts +1 -1
  169. package/dist/commands/porch/plan.d.ts.map +1 -1
  170. package/dist/commands/porch/plan.js +3 -3
  171. package/dist/commands/porch/plan.js.map +1 -1
  172. package/dist/commands/porch/prompts.d.ts +10 -1
  173. package/dist/commands/porch/prompts.d.ts.map +1 -1
  174. package/dist/commands/porch/prompts.js +59 -35
  175. package/dist/commands/porch/prompts.js.map +1 -1
  176. package/dist/commands/porch/protocol.d.ts +1 -1
  177. package/dist/commands/porch/protocol.d.ts.map +1 -1
  178. package/dist/commands/porch/protocol.js +8 -8
  179. package/dist/commands/porch/protocol.js.map +1 -1
  180. package/dist/commands/porch/state.d.ts +6 -6
  181. package/dist/commands/porch/state.d.ts.map +1 -1
  182. package/dist/commands/porch/state.js +14 -12
  183. package/dist/commands/porch/state.js.map +1 -1
  184. package/dist/commands/update.d.ts.map +1 -1
  185. package/dist/commands/update.js +10 -11
  186. package/dist/commands/update.js.map +1 -1
  187. package/dist/lib/github.d.ts +81 -0
  188. package/dist/lib/github.d.ts.map +1 -0
  189. package/dist/lib/github.js +141 -0
  190. package/dist/lib/github.js.map +1 -0
  191. package/dist/lib/scaffold.d.ts +13 -21
  192. package/dist/lib/scaffold.d.ts.map +1 -1
  193. package/dist/lib/scaffold.js +34 -57
  194. package/dist/lib/scaffold.js.map +1 -1
  195. package/dist/lib/skeleton.d.ts +7 -7
  196. package/dist/lib/skeleton.d.ts.map +1 -1
  197. package/dist/lib/skeleton.js +10 -10
  198. package/dist/lib/skeleton.js.map +1 -1
  199. package/dist/terminal/index.d.ts +14 -0
  200. package/dist/terminal/index.d.ts.map +1 -1
  201. package/dist/terminal/index.js +12 -0
  202. package/dist/terminal/index.js.map +1 -1
  203. package/dist/terminal/pty-manager.d.ts +1 -1
  204. package/dist/terminal/pty-manager.d.ts.map +1 -1
  205. package/dist/terminal/pty-manager.js +10 -7
  206. package/dist/terminal/pty-manager.js.map +1 -1
  207. package/dist/terminal/pty-session.js +3 -3
  208. package/dist/terminal/pty-session.js.map +1 -1
  209. package/dist/terminal/session-manager.d.ts +64 -0
  210. package/dist/terminal/session-manager.d.ts.map +1 -1
  211. package/dist/terminal/session-manager.js +299 -10
  212. package/dist/terminal/session-manager.js.map +1 -1
  213. package/dist/terminal/shellper-client.d.ts +2 -1
  214. package/dist/terminal/shellper-client.d.ts.map +1 -1
  215. package/dist/terminal/shellper-client.js +4 -2
  216. package/dist/terminal/shellper-client.js.map +1 -1
  217. package/dist/terminal/shellper-main.js +33 -4
  218. package/dist/terminal/shellper-main.js.map +1 -1
  219. package/dist/terminal/shellper-process.d.ts +24 -7
  220. package/dist/terminal/shellper-process.d.ts.map +1 -1
  221. package/dist/terminal/shellper-process.js +139 -36
  222. package/dist/terminal/shellper-process.js.map +1 -1
  223. package/dist/terminal/shellper-protocol.d.ts +1 -0
  224. package/dist/terminal/shellper-protocol.d.ts.map +1 -1
  225. package/dist/terminal/shellper-protocol.js.map +1 -1
  226. package/package.json +4 -1
  227. package/skeleton/.claude/skills/af/SKILL.md +7 -7
  228. package/skeleton/.claude/skills/consult/SKILL.md +1 -1
  229. package/skeleton/builders.md +2 -2
  230. package/skeleton/maintain/.gitkeep +1 -1
  231. package/skeleton/porch/prompts/specify.md +1 -1
  232. package/skeleton/protocols/bugfix/prompts/pr.md +15 -4
  233. package/skeleton/protocols/experiment/protocol.md +17 -17
  234. package/skeleton/protocols/maintain/prompts/audit.md +2 -2
  235. package/skeleton/protocols/maintain/prompts/sync.md +1 -1
  236. package/skeleton/protocols/maintain/prompts/verify.md +1 -1
  237. package/skeleton/protocols/maintain/protocol.md +8 -9
  238. package/skeleton/protocols/maintain/templates/maintenance-run.md +2 -2
  239. package/skeleton/protocols/spir/protocol.json +5 -5
  240. package/skeleton/protocols/spir/protocol.md +8 -8
  241. package/skeleton/protocols/tick/protocol.md +31 -31
  242. package/skeleton/resources/commands/agent-farm.md +14 -14
  243. package/skeleton/resources/commands/codev.md +0 -1
  244. package/skeleton/resources/commands/consult.md +3 -3
  245. package/skeleton/resources/spikes.md +3 -3
  246. package/skeleton/resources/workflow-reference.md +14 -14
  247. package/skeleton/roles/architect.md +25 -25
  248. package/skeleton/roles/builder.md +1 -1
  249. package/skeleton/roles/consultant.md +6 -0
  250. package/skeleton/templates/AGENTS.md +5 -5
  251. package/skeleton/templates/CLAUDE.md +5 -5
  252. package/skeleton/templates/lifecycle.md +9 -9
  253. package/templates/open.html +19 -16
  254. package/templates/tower.html +54 -94
  255. package/templates/vendor/marked.min.js +6 -0
  256. package/templates/vendor/prism-bash.min.js +1 -0
  257. package/templates/vendor/prism-css.min.js +1 -0
  258. package/templates/vendor/prism-javascript.min.js +1 -0
  259. package/templates/vendor/prism-json.min.js +1 -0
  260. package/templates/vendor/prism-markdown.min.js +1 -0
  261. package/templates/vendor/prism-markup.min.js +1 -0
  262. package/templates/vendor/prism-python.min.js +1 -0
  263. package/templates/vendor/prism-tomorrow.min.css +1 -0
  264. package/templates/vendor/prism-typescript.min.js +1 -0
  265. package/templates/vendor/prism-yaml.min.js +1 -0
  266. package/templates/vendor/prism.min.js +1 -0
  267. package/templates/vendor/purify.min.js +3 -0
  268. package/dashboard/dist/assets/index-4n9zpWLY.css +0 -32
  269. package/dashboard/dist/assets/index-b38SaXk5.js +0 -136
  270. package/dashboard/dist/assets/index-b38SaXk5.js.map +0 -1
  271. package/dist/agent-farm/hq-connector.d.ts +0 -19
  272. package/dist/agent-farm/hq-connector.d.ts.map +0 -1
  273. package/dist/agent-farm/hq-connector.js +0 -351
  274. package/dist/agent-farm/hq-connector.js.map +0 -1
  275. package/dist/agent-farm/utils/deps.d.ts +0 -51
  276. package/dist/agent-farm/utils/deps.d.ts.map +0 -1
  277. package/dist/agent-farm/utils/deps.js +0 -162
  278. package/dist/agent-farm/utils/deps.js.map +0 -1
  279. package/dist/agent-farm/utils/gate-status.d.ts +0 -16
  280. package/dist/agent-farm/utils/gate-status.d.ts.map +0 -1
  281. package/dist/agent-farm/utils/gate-status.js +0 -79
  282. package/dist/agent-farm/utils/gate-status.js.map +0 -1
  283. package/dist/agent-farm/utils/gate-watcher.d.ts +0 -38
  284. package/dist/agent-farm/utils/gate-watcher.d.ts.map +0 -1
  285. package/dist/agent-farm/utils/gate-watcher.js +0 -122
  286. package/dist/agent-farm/utils/gate-watcher.js.map +0 -1
  287. package/dist/agent-farm/utils/session.d.ts +0 -32
  288. package/dist/agent-farm/utils/session.d.ts.map +0 -1
  289. package/dist/agent-farm/utils/session.js +0 -57
  290. package/dist/agent-farm/utils/session.js.map +0 -1
  291. package/dist/lib/projectlist-parser.d.ts +0 -70
  292. package/dist/lib/projectlist-parser.d.ts.map +0 -1
  293. package/dist/lib/projectlist-parser.js +0 -200
  294. package/dist/lib/projectlist-parser.js.map +0 -1
  295. package/skeleton/templates/projectlist-archive.md +0 -21
  296. package/skeleton/templates/projectlist.md +0 -147
  297. package/templates/dashboard/css/dialogs.css +0 -149
  298. package/templates/dashboard/css/files.css +0 -558
  299. package/templates/dashboard/css/layout.css +0 -133
  300. package/templates/dashboard/css/projects.css +0 -501
  301. package/templates/dashboard/css/statusbar.css +0 -23
  302. package/templates/dashboard/css/tabs.css +0 -314
  303. package/templates/dashboard/css/utilities.css +0 -50
  304. package/templates/dashboard/css/variables.css +0 -45
  305. package/templates/dashboard/index.html +0 -149
  306. package/templates/dashboard/js/dialogs.js +0 -368
  307. package/templates/dashboard/js/files.js +0 -448
  308. package/templates/dashboard/js/main.js +0 -476
  309. package/templates/dashboard/js/projects.js +0 -544
  310. package/templates/dashboard/js/state.js +0 -91
  311. package/templates/dashboard/js/tabs.js +0 -518
  312. package/templates/dashboard/js/utils.js +0 -191
@@ -1,501 +0,0 @@
1
- /* Projects Tab Styles (Spec 0045) */
2
-
3
- .projects-container {
4
- flex: 1;
5
- overflow-y: auto;
6
- padding: 16px;
7
- display: flex;
8
- flex-direction: column;
9
- gap: 16px;
10
- }
11
-
12
- /* Welcome Screen */
13
- .projects-welcome {
14
- max-width: 600px;
15
- margin: 40px auto;
16
- text-align: center;
17
- }
18
-
19
- .projects-welcome h2 {
20
- font-size: 24px;
21
- margin-bottom: 16px;
22
- color: var(--text-primary);
23
- }
24
-
25
- .projects-welcome p {
26
- color: var(--text-secondary);
27
- line-height: 1.6;
28
- margin-bottom: 16px;
29
- }
30
-
31
- .projects-welcome ol {
32
- text-align: left;
33
- margin: 24px 0;
34
- padding-left: 24px;
35
- }
36
-
37
- .projects-welcome li {
38
- margin-bottom: 8px;
39
- color: var(--text-secondary);
40
- }
41
-
42
- .projects-welcome li strong {
43
- color: var(--text-primary);
44
- }
45
-
46
- .projects-welcome .quick-tip {
47
- margin-top: 24px;
48
- padding: 12px;
49
- background: var(--bg-tertiary);
50
- border-radius: 6px;
51
- border-left: 3px solid var(--accent);
52
- color: var(--text-secondary);
53
- }
54
-
55
- .projects-welcome hr {
56
- border: none;
57
- border-top: 1px solid var(--border);
58
- margin: 24px 0;
59
- }
60
-
61
- /* Status Summary */
62
- .status-summary {
63
- background: var(--bg-secondary);
64
- border: 1px solid var(--border);
65
- border-radius: 6px;
66
- padding: 12px 16px;
67
- }
68
-
69
- .status-summary-header {
70
- display: flex;
71
- justify-content: space-between;
72
- align-items: center;
73
- margin-bottom: 8px;
74
- }
75
-
76
- .status-summary-header span {
77
- font-size: 11px;
78
- text-transform: uppercase;
79
- letter-spacing: 0.5px;
80
- color: var(--text-muted);
81
- }
82
-
83
- .status-summary-header button {
84
- padding: 4px 8px;
85
- border-radius: 4px;
86
- border: 1px solid var(--border);
87
- background: var(--bg-tertiary);
88
- color: var(--text-secondary);
89
- cursor: pointer;
90
- font-size: 14px;
91
- }
92
-
93
- .status-summary-header button:hover {
94
- background: var(--tab-hover);
95
- }
96
-
97
- .status-summary .active-projects {
98
- margin-bottom: 8px;
99
- }
100
-
101
- .status-summary .active-count {
102
- font-size: 14px;
103
- color: var(--text-primary);
104
- }
105
-
106
- .status-summary .active-list {
107
- margin-top: 4px;
108
- padding-left: 16px;
109
- font-size: 13px;
110
- color: var(--text-secondary);
111
- }
112
-
113
- .status-summary .active-list li {
114
- margin: 2px 0;
115
- }
116
-
117
- .status-summary .completed {
118
- font-size: 13px;
119
- color: var(--text-muted);
120
- }
121
-
122
- /* Kanban Grid */
123
- .kanban-grid {
124
- width: 100%;
125
- border-collapse: collapse;
126
- font-size: 13px;
127
- }
128
-
129
- .kanban-grid th,
130
- .kanban-grid td {
131
- padding: 8px 6px;
132
- text-align: center;
133
- border-bottom: 1px solid var(--border);
134
- }
135
-
136
- .kanban-grid th {
137
- background: var(--bg-secondary);
138
- font-size: 10px;
139
- text-transform: uppercase;
140
- letter-spacing: 0.5px;
141
- color: var(--text-muted);
142
- position: sticky;
143
- top: 0;
144
- z-index: 1;
145
- }
146
-
147
- .kanban-grid th:first-child,
148
- .kanban-grid td:first-child {
149
- text-align: left;
150
- padding-left: 12px;
151
- width: 40%;
152
- }
153
-
154
- .kanban-grid th:not(:first-child),
155
- .kanban-grid td:not(:first-child) {
156
- width: 8%;
157
- }
158
-
159
- .kanban-grid tbody tr {
160
- cursor: default;
161
- transition: background 0.15s;
162
- }
163
-
164
- .kanban-grid tbody tr:hover {
165
- background: var(--bg-secondary);
166
- }
167
-
168
- .kanban-grid tbody tr:focus {
169
- outline: 2px solid var(--accent);
170
- outline-offset: -2px;
171
- }
172
-
173
- .kanban-grid .project-cell {
174
- display: flex;
175
- align-items: center;
176
- gap: 8px;
177
- }
178
-
179
- .kanban-grid .project-id {
180
- font-family: monospace;
181
- color: var(--text-muted);
182
- }
183
-
184
- .kanban-grid .project-title {
185
- overflow: hidden;
186
- text-overflow: ellipsis;
187
- white-space: nowrap;
188
- }
189
-
190
- .kanban-grid .project-cell.clickable {
191
- cursor: pointer;
192
- }
193
-
194
- .kanban-grid .project-cell.clickable:hover .project-title {
195
- text-decoration: underline;
196
- color: var(--accent);
197
- }
198
-
199
- .kanban-grid .tick-badge {
200
- font-size: 10px;
201
- padding: 1px 4px;
202
- background: var(--bg-tertiary);
203
- border-radius: 3px;
204
- color: var(--text-muted);
205
- }
206
-
207
- /* Stage cell styling */
208
- .stage-cell {
209
- font-size: 12px;
210
- position: relative;
211
- }
212
-
213
- .stage-cell .checkmark {
214
- color: #22c55e;
215
- font-weight: bold;
216
- }
217
-
218
- .stage-cell .current-indicator {
219
- display: inline-block;
220
- width: 12px;
221
- height: 12px;
222
- border: 2px solid #f97316;
223
- border-radius: 50%;
224
- }
225
-
226
- .stage-cell .celebration {
227
- font-size: 16px;
228
- }
229
-
230
- .stage-cell a {
231
- color: var(--text-primary);
232
- text-decoration: underline;
233
- }
234
-
235
- /* Arrow between columns */
236
- .kanban-grid th:not(:first-child):not(:last-child)::after,
237
- .kanban-grid td.stage-cell:not(:last-child)::after {
238
- content: '→';
239
- position: absolute;
240
- right: -8px;
241
- color: var(--text-muted);
242
- font-size: 10px;
243
- }
244
-
245
- /* Projects info header */
246
- .projects-info {
247
- background: var(--bg-secondary);
248
- border: 1px solid var(--border);
249
- border-radius: 6px;
250
- padding: 12px 16px;
251
- margin-bottom: 12px;
252
- }
253
-
254
- .projects-info p {
255
- color: var(--text-secondary);
256
- font-size: 13px;
257
- margin: 0 0 8px 0;
258
- }
259
-
260
- .projects-info p:last-child {
261
- margin-bottom: 0;
262
- }
263
-
264
- .projects-info strong {
265
- color: var(--text-primary);
266
- }
267
-
268
- .projects-info a {
269
- color: var(--accent);
270
- text-decoration: none;
271
- }
272
-
273
- .projects-info a:hover {
274
- text-decoration: underline;
275
- }
276
-
277
- /* Project details row */
278
- .project-details-row td {
279
- padding: 0 !important;
280
- border-bottom: 1px solid var(--border);
281
- }
282
-
283
- .project-details-content {
284
- padding: 16px;
285
- background: var(--bg-secondary);
286
- }
287
-
288
- .project-details-content h3 {
289
- font-size: 16px;
290
- margin-bottom: 8px;
291
- color: var(--text-primary);
292
- }
293
-
294
- .project-details-content p {
295
- margin-bottom: 8px;
296
- color: var(--text-secondary);
297
- font-size: 13px;
298
- }
299
-
300
- .project-details-content .notes {
301
- font-style: italic;
302
- color: var(--text-muted);
303
- }
304
-
305
- .project-details-links {
306
- display: flex;
307
- gap: 8px;
308
- margin-top: 12px;
309
- }
310
-
311
- .project-details-links a {
312
- padding: 4px 10px;
313
- background: var(--bg-tertiary);
314
- border: 1px solid var(--border);
315
- border-radius: 4px;
316
- color: var(--text-secondary);
317
- text-decoration: none;
318
- font-size: 12px;
319
- }
320
-
321
- .project-details-links a:hover {
322
- background: var(--tab-hover);
323
- color: var(--text-primary);
324
- }
325
-
326
- .project-dependencies {
327
- margin-top: 8px;
328
- font-size: 12px;
329
- color: var(--text-muted);
330
- }
331
-
332
- .project-ticks {
333
- margin-top: 8px;
334
- font-size: 12px;
335
- display: flex;
336
- align-items: center;
337
- gap: 6px;
338
- flex-wrap: wrap;
339
- }
340
-
341
- .project-ticks .tick-badge {
342
- background: #238636;
343
- color: white;
344
- padding: 2px 6px;
345
- border-radius: 3px;
346
- font-size: 11px;
347
- }
348
-
349
- /* Collapsible project sections */
350
- .project-section {
351
- border: 1px solid var(--border);
352
- border-radius: 6px;
353
- background: var(--bg-secondary);
354
- margin-bottom: 12px;
355
- }
356
-
357
- .project-section summary {
358
- padding: 12px 16px;
359
- cursor: pointer;
360
- font-size: 14px;
361
- font-weight: 500;
362
- color: var(--text-primary);
363
- display: flex;
364
- align-items: center;
365
- gap: 8px;
366
- user-select: none;
367
- }
368
-
369
- .project-section summary:hover {
370
- background: var(--bg-tertiary);
371
- }
372
-
373
- .project-section summary::marker {
374
- content: '';
375
- }
376
-
377
- .project-section summary::before {
378
- content: '▶';
379
- font-size: 10px;
380
- transition: transform 0.2s;
381
- color: var(--text-muted);
382
- }
383
-
384
- .project-section[open] summary::before {
385
- transform: rotate(90deg);
386
- }
387
-
388
- .project-section .section-count {
389
- font-size: 12px;
390
- color: var(--text-muted);
391
- font-weight: normal;
392
- }
393
-
394
- .project-section .kanban-grid {
395
- margin: 0;
396
- border-radius: 0 0 6px 6px;
397
- }
398
-
399
- /* Terminal projects section */
400
- .terminal-projects {
401
- margin-top: 16px;
402
- border: 1px solid var(--border);
403
- border-radius: 6px;
404
- background: var(--bg-secondary);
405
- }
406
-
407
- .terminal-projects summary {
408
- padding: 12px 16px;
409
- cursor: pointer;
410
- font-size: 13px;
411
- color: var(--text-muted);
412
- display: flex;
413
- align-items: center;
414
- gap: 8px;
415
- }
416
-
417
- .terminal-projects summary:hover {
418
- background: var(--bg-tertiary);
419
- }
420
-
421
- .terminal-projects summary::marker {
422
- content: '';
423
- }
424
-
425
- .terminal-projects summary::before {
426
- content: '▶';
427
- font-size: 10px;
428
- transition: transform 0.2s;
429
- color: var(--text-muted);
430
- }
431
-
432
- .terminal-projects[open] summary::before {
433
- transform: rotate(90deg);
434
- }
435
-
436
- .terminal-projects ul {
437
- list-style: none;
438
- padding: 0 16px 16px;
439
- }
440
-
441
- .terminal-projects li {
442
- padding: 8px 0;
443
- border-bottom: 1px solid var(--border);
444
- display: flex;
445
- gap: 8px;
446
- align-items: center;
447
- }
448
-
449
- .terminal-projects li:last-child {
450
- border-bottom: none;
451
- }
452
-
453
- .terminal-projects .project-abandoned {
454
- color: var(--project-abandoned);
455
- text-decoration: line-through;
456
- }
457
-
458
- .terminal-projects .project-on-hold {
459
- color: var(--project-on-hold);
460
- font-style: italic;
461
- }
462
-
463
- /* Error banner */
464
- .projects-error {
465
- padding: 16px;
466
- background: rgba(239, 68, 68, 0.1);
467
- border: 1px solid var(--status-error);
468
- border-radius: 6px;
469
- display: flex;
470
- align-items: center;
471
- gap: 12px;
472
- }
473
-
474
- .projects-error-message {
475
- flex: 1;
476
- color: var(--text-secondary);
477
- }
478
-
479
- .projects-error button {
480
- padding: 6px 12px;
481
- background: var(--bg-tertiary);
482
- border: 1px solid var(--border);
483
- border-radius: 4px;
484
- color: var(--text-secondary);
485
- cursor: pointer;
486
- }
487
-
488
- .projects-error button:hover {
489
- background: var(--tab-hover);
490
- }
491
-
492
- /* Stage link styling */
493
- .stage-link {
494
- text-decoration: none;
495
- color: inherit;
496
- cursor: pointer;
497
- }
498
-
499
- .stage-link:hover .stage-indicator {
500
- transform: scale(1.2);
501
- }
@@ -1,23 +0,0 @@
1
- /* Status Bar */
2
-
3
- .status-bar {
4
- padding: 8px 16px;
5
- background: var(--bg-secondary);
6
- border-top: 1px solid var(--border);
7
- font-size: 12px;
8
- color: var(--text-muted);
9
- display: flex;
10
- gap: 16px;
11
- }
12
-
13
- .status-item {
14
- display: flex;
15
- align-items: center;
16
- gap: 6px;
17
- }
18
-
19
- .status-item .dot {
20
- width: 6px;
21
- height: 6px;
22
- border-radius: 50%;
23
- }