1414// GitHub Tags Config
1515// =============================================================================
1616
17+ interface GitHubLabel {
18+ name : string
19+ description : string
20+ color : string // 6-char hex without #
21+ }
22+
1723interface GitHubTagsConfig {
18- // To be defined
24+ typesOfWork : GitHubLabel [ ]
25+ systemComponents : GitHubLabel [ ]
1926}
2027
21- const githubTagsConfig : GitHubTagsConfig = { }
28+ const typesOfWork : GitHubLabel [ ] = [
29+ { name : 'documentation' , description : 'Improvements or additions to project documentation' , color : '0d6d6e' } ,
30+ { name : 'testing' , description : 'Writing, updating, or fixing automated tests' , color : '2da44e' } ,
31+ { name : 'bugfixing' , description : 'Fixing defects or unexpected behavior in existing code' , color : 'cf222e' } ,
32+ { name : 'development' , description : 'New features or functionality implementation' , color : '8250df' } ,
33+ { name : 'refactoring' , description : 'Code restructuring without changing external behavior' , color : 'bc4c00' } ,
34+ { name : 'research' , description : 'Investigation, spikes, or proof-of-concept work' , color : '0598bd' } ,
35+ { name : 'devops' , description : 'CI/CD, deployment, infrastructure, or tooling work' , color : '57606a' } ,
36+ { name : 'security' , description : 'Security fixes, audits, or vulnerability remediation' , color : 'a40e26' } ,
37+ { name : 'admin' , description : 'Project maintenance, dependency updates, or housekeeping' , color : '7c4a03' } ,
38+ { name : 'enhancement' , description : 'Minor improvements to existing functionality' , color : '1b7c83' } ,
39+ ]
40+
41+ const systemComponents : GitHubLabel [ ] = [
42+ // smartem-backend family (ocean blue scale: #0a3069 -> #0550ae -> #218bff)
43+ { name : 'smartem-backend' , description : 'Core backend services, messaging, and persistence layer' , color : '0a3069' } ,
44+ { name : 'smartem-backend:db' , description : 'Database schema, migrations, and data layer changes' , color : '0550ae' } ,
45+ { name : 'smartem-backend:api' , description : 'REST API endpoints and HTTP interface changes' , color : '218bff' } ,
46+
47+ // smartem-agent (gold - standalone)
48+ { name : 'smartem-agent' , description : 'EPU workstation agent for microscope integration' , color : '9a6700' } ,
49+
50+ // smartem-frontend (green - standalone)
51+ { name : 'smartem-frontend' , description : 'User-facing web UI for acquisition sessions and ML decisions' , color : '1a7f37' } ,
52+
53+ // smartem-aria-connector (purple - standalone)
54+ { name : 'smartem-aria-connector' , description : 'ARIA deposition integration via FandanGO plugin' , color : '6639ba' } ,
55+
56+ // smartem-devtools family (warm pink scale: #99154b -> #bf3989 -> #db61a2 -> #f09bc8)
57+ { name : 'smartem-devtools' , description : 'Developer tooling, documentation, and workspace configuration' , color : '99154b' } ,
58+ { name : 'smartem-devtools:webui' , description : 'Developer dashboard web interface' , color : 'bf3989' } ,
59+ { name : 'smartem-devtools:claude' , description : 'Claude Code configuration, skills, and prompts' , color : 'db61a2' } ,
60+ { name : 'smartem-devtools:e2e-test' , description : 'End-to-end testing infrastructure and scenarios' , color : 'f09bc8' } ,
61+ ]
62+
63+ const githubTagsConfig : GitHubTagsConfig = {
64+ typesOfWork,
65+ systemComponents,
66+ }
2267
2368// =============================================================================
2469// Repos and Refs
@@ -94,6 +139,161 @@ const diamondLightSourceRepos: Repository[] = [
94139 } ,
95140]
96141
142+ const gitlabAriaPHPRepos : Repository [ ] = [
143+ {
144+ name : 'data-deposition-api' ,
145+ description : 'ARIA GraphQL/REST API for metadata deposition (primary)' ,
146+ urls : {
147+ https : 'https://gitlab.com/aria-php/data-deposition-api.git' ,
148+ ssh :
'[email protected] :aria-php/data-deposition-api.git' , 149+ } ,
150+ } ,
151+ {
152+ name : 'aria-graphql-client' ,
153+ description : 'PHP library for communicating with ARIA GraphQL API' ,
154+ urls : {
155+ https : 'https://gitlab.com/aria-php/aria-graphql-client.git' ,
156+ ssh :
'[email protected] :aria-php/aria-graphql-client.git' , 157+ } ,
158+ } ,
159+ {
160+ name : 'aria-elasticsearch-client' ,
161+ description : 'Elasticsearch client for ARIA search records' ,
162+ urls : {
163+ https : 'https://gitlab.com/aria-php/aria-elasticsearch-client.git' ,
164+ ssh :
'[email protected] :aria-php/aria-elasticsearch-client.git' , 165+ } ,
166+ } ,
167+ {
168+ name : 'aria-rest' ,
169+ description : 'REST API framework for defining versioned APIs' ,
170+ urls : {
171+ https : 'https://gitlab.com/aria-php/aria-rest.git' ,
172+ ssh :
'[email protected] :aria-php/aria-rest.git' , 173+ } ,
174+ } ,
175+ {
176+ name : 'aria-storage-interface' ,
177+ description : 'Storage provider interface' ,
178+ urls : {
179+ https : 'https://gitlab.com/aria-php/aria-storage-interface.git' ,
180+ ssh :
'[email protected] :aria-php/aria-storage-interface.git' , 181+ } ,
182+ } ,
183+ {
184+ name : 'aria-webhooks' ,
185+ description : 'Standard webhook payload format for ARIA platform' ,
186+ urls : {
187+ https : 'https://gitlab.com/aria-php/aria-webhooks.git' ,
188+ ssh :
'[email protected] :aria-php/aria-webhooks.git' , 189+ } ,
190+ } ,
191+ {
192+ name : 'aria-incoming-email' ,
193+ description : 'Incoming email message routing' ,
194+ urls : {
195+ https : 'https://gitlab.com/aria-php/aria-incoming-email.git' ,
196+ ssh :
'[email protected] :aria-php/aria-incoming-email.git' , 197+ } ,
198+ } ,
199+ {
200+ name : 'aria-mailer' ,
201+ description : 'Email wrapper (PHPMailer + Swiftmailer)' ,
202+ urls : {
203+ https : 'https://gitlab.com/aria-php/aria-mailer.git' ,
204+ ssh :
'[email protected] :aria-php/aria-mailer.git' , 205+ } ,
206+ } ,
207+ {
208+ name : 'aria-mailgun-webhooks' ,
209+ description : 'Mailgun webhook event parser' ,
210+ urls : {
211+ https : 'https://gitlab.com/aria-php/aria-mailgun-webhooks.git' ,
212+ ssh :
'[email protected] :aria-php/aria-mailgun-webhooks.git' , 213+ } ,
214+ } ,
215+ {
216+ name : 'aria-invite-users' ,
217+ description : 'User invitation framework' ,
218+ urls : {
219+ https : 'https://gitlab.com/aria-php/aria-invite-users.git' ,
220+ ssh :
'[email protected] :aria-php/aria-invite-users.git' , 221+ } ,
222+ } ,
223+ {
224+ name : 'aria-data-subscription' ,
225+ description : 'Data source subscription framework for feeds' ,
226+ urls : {
227+ https : 'https://gitlab.com/aria-php/aria-data-subscription.git' ,
228+ ssh :
'[email protected] :aria-php/aria-data-subscription.git' , 229+ } ,
230+ } ,
231+ {
232+ name : 'aria-stats' ,
233+ description : 'Performance statistics monitoring' ,
234+ urls : {
235+ https : 'https://gitlab.com/aria-php/aria-stats.git' ,
236+ ssh :
'[email protected] :aria-php/aria-stats.git' , 237+ } ,
238+ } ,
239+ {
240+ name : 'aria-site-logger' ,
241+ description : 'Monolog plugin for ARIA site logging' ,
242+ urls : {
243+ https : 'https://gitlab.com/aria-php/aria-site-logger.git' ,
244+ ssh :
'[email protected] :aria-php/aria-site-logger.git' , 245+ } ,
246+ } ,
247+ {
248+ name : 'aria-service-ai' ,
249+ description : 'Service AI library' ,
250+ urls : {
251+ https : 'https://gitlab.com/aria-php/aria-service-ai.git' ,
252+ ssh :
'[email protected] :aria-php/aria-service-ai.git' , 253+ } ,
254+ } ,
255+ {
256+ name : 'keycloak-api' ,
257+ description : 'PHP bindings for Keycloak Account API' ,
258+ urls : {
259+ https : 'https://gitlab.com/aria-php/keycloak-api.git' ,
260+ ssh :
'[email protected] :aria-php/keycloak-api.git' , 261+ } ,
262+ } ,
263+ {
264+ name : 'doi-package' ,
265+ description : 'DOI microservice client' ,
266+ urls : {
267+ https : 'https://gitlab.com/aria-php/doi-package.git' ,
268+ ssh :
'[email protected] :aria-php/doi-package.git' , 269+ } ,
270+ } ,
271+ {
272+ name : 'molgenis-php-client' ,
273+ description : 'PHP client for Molgenis database' ,
274+ urls : {
275+ https : 'https://gitlab.com/aria-php/molgenis-php-client.git' ,
276+ ssh :
'[email protected] :aria-php/molgenis-php-client.git' , 277+ } ,
278+ } ,
279+ {
280+ name : 'shibboleth-idp-dockerized' ,
281+ description : 'Dockerized Shibboleth IdP (identity federation)' ,
282+ urls : {
283+ https : 'https://gitlab.com/aria-php/shibboleth-idp-dockerized.git' ,
284+ ssh :
'[email protected] :aria-php/shibboleth-idp-dockerized.git' , 285+ } ,
286+ } ,
287+ {
288+ name : 'rtd-compiler' ,
289+ description : 'ReadTheDocs compiler for ARIA documentation' ,
290+ urls : {
291+ https : 'https://gitlab.com/aria-php/rtd-compiler.git' ,
292+ ssh :
'[email protected] :aria-php/rtd-compiler.git' , 293+ } ,
294+ } ,
295+ ]
296+
97297const fragmentScreenRepos : Repository [ ] = [
98298 {
99299 name : 'fandanGO-core' ,
@@ -148,7 +348,7 @@ const fragmentScreenRepos: Repository[] = [
148348const reposAndRefsConfig : ReposAndRefsConfig = {
149349 links : {
150350 docs : 'https://diamondlightsource.github.io/smartem-decisions/' ,
151- projectBoard : 'https://github.com/orgs/DiamondLightSource/projects/33 /views/1' ,
351+ projectBoard : 'https://github.com/orgs/DiamondLightSource/projects/51 /views/1' ,
152352 } ,
153353 repositories : [
154354 {
@@ -161,6 +361,11 @@ const reposAndRefsConfig: ReposAndRefsConfig = {
161361 orgUrl : 'https://github.com/FragmentScreen' ,
162362 repos : fragmentScreenRepos ,
163363 } ,
364+ {
365+ org : 'aria-php' ,
366+ orgUrl : 'https://gitlab.com/aria-php' ,
367+ repos : gitlabAriaPHPRepos ,
368+ } ,
164369 ] ,
165370}
166371
0 commit comments