@grainulation/orchard 1.0.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.
@@ -0,0 +1,171 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Orchard Dashboard</title>
7
+ <style>
8
+ * { margin: 0; padding: 0; box-sizing: border-box; }
9
+ body {
10
+ font-family: system-ui, -apple-system, sans-serif;
11
+ background: #0a0a0a;
12
+ color: #e5e5e5;
13
+ padding: 2rem;
14
+ line-height: 1.5;
15
+ }
16
+ h1 { color: #ec4899; margin-bottom: 0.25rem; font-size: 1.8rem; }
17
+ .subtitle { color: #737373; margin-bottom: 2rem; font-size: 0.9rem; }
18
+ .stats {
19
+ display: flex;
20
+ gap: 1.5rem;
21
+ margin-bottom: 2.5rem;
22
+ flex-wrap: wrap;
23
+ }
24
+ .stat {
25
+ background: #171717;
26
+ border: 1px solid #262626;
27
+ border-radius: 8px;
28
+ padding: 1rem 1.5rem;
29
+ min-width: 130px;
30
+ }
31
+ .stat-value {
32
+ font-size: 2.2rem;
33
+ font-weight: 700;
34
+ line-height: 1.2;
35
+ }
36
+ .stat-label {
37
+ color: #737373;
38
+ font-size: 0.8rem;
39
+ text-transform: uppercase;
40
+ letter-spacing: 0.05em;
41
+ }
42
+ .stat-active .stat-value { color: #22c55e; }
43
+ .stat-done .stat-value { color: #ec4899; }
44
+ .stat-blocked .stat-value { color: #ec4899; }
45
+ .stat-conflicts .stat-value { color: #f59e0b; }
46
+
47
+ table {
48
+ width: 100%;
49
+ border-collapse: collapse;
50
+ margin-bottom: 2rem;
51
+ }
52
+ th {
53
+ text-align: left;
54
+ padding: 0.75rem;
55
+ border-bottom: 2px solid #262626;
56
+ color: #ec4899;
57
+ font-size: 0.8rem;
58
+ text-transform: uppercase;
59
+ letter-spacing: 0.05em;
60
+ }
61
+ td {
62
+ padding: 0.75rem;
63
+ border-bottom: 1px solid #1a1a1a;
64
+ font-size: 0.9rem;
65
+ }
66
+ tr:hover { background: #171717; }
67
+
68
+ .status-active { color: #22c55e; font-weight: 600; }
69
+ .status-done { color: #ec4899; }
70
+ .status-blocked { color: #ec4899; font-weight: 600; }
71
+ .status-unknown { color: #525252; }
72
+ .status-compiled { color: #3b82f6; }
73
+ .status-not-started { color: #737373; }
74
+
75
+ .section { margin-bottom: 2.5rem; }
76
+ .section h2 {
77
+ color: #d4d4d4;
78
+ margin-bottom: 1rem;
79
+ font-size: 1.1rem;
80
+ font-weight: 600;
81
+ }
82
+
83
+ footer {
84
+ color: #525252;
85
+ font-size: 0.75rem;
86
+ margin-top: 3rem;
87
+ padding-top: 1rem;
88
+ border-top: 1px solid #1a1a1a;
89
+ }
90
+
91
+ @media (max-width: 768px) {
92
+ body { padding: 1rem; }
93
+ .stats { gap: 0.75rem; }
94
+ .stat { min-width: 100px; padding: 0.75rem 1rem; }
95
+ .stat-value { font-size: 1.5rem; }
96
+ td, th { padding: 0.5rem; font-size: 0.8rem; }
97
+ }
98
+ </style>
99
+ </head>
100
+ <body>
101
+
102
+ <h1>Orchard Dashboard</h1>
103
+ <p class="subtitle">Multi-sprint overview &mdash; generated {{GENERATED_DATE}}</p>
104
+
105
+ <div class="stats">
106
+ <div class="stat">
107
+ <div class="stat-value">{{TOTAL_SPRINTS}}</div>
108
+ <div class="stat-label">Sprints</div>
109
+ </div>
110
+ <div class="stat stat-active">
111
+ <div class="stat-value">{{ACTIVE_SPRINTS}}</div>
112
+ <div class="stat-label">Active</div>
113
+ </div>
114
+ <div class="stat stat-done">
115
+ <div class="stat-value">{{DONE_SPRINTS}}</div>
116
+ <div class="stat-label">Done</div>
117
+ </div>
118
+ <div class="stat stat-blocked">
119
+ <div class="stat-value">{{BLOCKED_SPRINTS}}</div>
120
+ <div class="stat-label">Blocked</div>
121
+ </div>
122
+ <div class="stat">
123
+ <div class="stat-value">{{TOTAL_CLAIMS}}</div>
124
+ <div class="stat-label">Claims</div>
125
+ </div>
126
+ <div class="stat stat-conflicts">
127
+ <div class="stat-value">{{CONFLICT_COUNT}}</div>
128
+ <div class="stat-label">Conflicts</div>
129
+ </div>
130
+ </div>
131
+
132
+ <div class="section">
133
+ <h2>Sprints</h2>
134
+ <table>
135
+ <thead>
136
+ <tr>
137
+ <th>Sprint</th>
138
+ <th>Status</th>
139
+ <th>Claims</th>
140
+ <th>Assigned</th>
141
+ <th>Deadline</th>
142
+ <th>Question</th>
143
+ </tr>
144
+ </thead>
145
+ <tbody>
146
+ {{SPRINT_ROWS}}
147
+ </tbody>
148
+ </table>
149
+ </div>
150
+
151
+ <div class="section">
152
+ <h2>Cross-Sprint Conflicts</h2>
153
+ <table>
154
+ <thead>
155
+ <tr>
156
+ <th>Type</th>
157
+ <th>Tag</th>
158
+ <th>Sprints</th>
159
+ <th>Reason</th>
160
+ </tr>
161
+ </thead>
162
+ <tbody>
163
+ {{CONFLICT_ROWS}}
164
+ </tbody>
165
+ </table>
166
+ </div>
167
+
168
+ <footer>@grainulation/orchard &mdash; orchestrate research across your organization</footer>
169
+
170
+ </body>
171
+ </html>