|
1 | 1 | /** |
2 | | - * GitHub tags configuration for SmartEM repositories. |
3 | | - * Used for version tracking and release management. |
| 2 | + * GitHub labels configuration for SmartEM repositories. |
| 3 | + * Used for issue/PR categorisation and project management. |
4 | 4 | */ |
5 | 5 |
|
| 6 | +export interface GitHubLabel { |
| 7 | + name: string |
| 8 | + description: string |
| 9 | + color: string // 6-char hex without # |
| 10 | +} |
| 11 | + |
6 | 12 | export interface GitHubTagsConfig { |
7 | | - // To be defined |
| 13 | + typesOfWork: GitHubLabel[] |
| 14 | + systemComponents: GitHubLabel[] |
8 | 15 | } |
9 | 16 |
|
10 | | -export const githubTagsConfig: GitHubTagsConfig = {} |
| 17 | +/** |
| 18 | + * Types of work labels - categorise the nature of the work being done. |
| 19 | + * Colors: Distinct hues avoiding blue/pink families (reserved for components). |
| 20 | + */ |
| 21 | +const typesOfWork: GitHubLabel[] = [ |
| 22 | + { name: 'documentation', description: 'Improvements or additions to project documentation', color: '0d6d6e' }, |
| 23 | + { name: 'testing', description: 'Writing, updating, or fixing automated tests', color: '2da44e' }, |
| 24 | + { name: 'bugfixing', description: 'Fixing defects or unexpected behavior in existing code', color: 'cf222e' }, |
| 25 | + { name: 'development', description: 'New features or functionality implementation', color: '8250df' }, |
| 26 | + { name: 'refactoring', description: 'Code restructuring without changing external behavior', color: 'bc4c00' }, |
| 27 | + { name: 'research', description: 'Investigation, spikes, or proof-of-concept work', color: '0598bd' }, |
| 28 | + { name: 'devops', description: 'CI/CD, deployment, infrastructure, or tooling work', color: '57606a' }, |
| 29 | + { name: 'security', description: 'Security fixes, audits, or vulnerability remediation', color: 'a40e26' }, |
| 30 | + { name: 'admin', description: 'Project maintenance, dependency updates, or housekeeping', color: '7c4a03' }, |
| 31 | + { name: 'enhancement', description: 'Minor improvements to existing functionality', color: '1b7c83' }, |
| 32 | +] |
| 33 | + |
| 34 | +/** |
| 35 | + * System component labels - identify which part of the system is affected. |
| 36 | + * Colors: Blue family for backend, pink family for devtools, unique colors for standalone. |
| 37 | + */ |
| 38 | +const systemComponents: GitHubLabel[] = [ |
| 39 | + // smartem-backend family (ocean blue scale: #0a3069 -> #0550ae -> #218bff) |
| 40 | + { name: 'smartem-backend', description: 'Core backend services, messaging, and persistence layer', color: '0a3069' }, |
| 41 | + { name: 'smartem-backend:db', description: 'Database schema, migrations, and data layer changes', color: '0550ae' }, |
| 42 | + { name: 'smartem-backend:api', description: 'REST API endpoints and HTTP interface changes', color: '218bff' }, |
| 43 | + |
| 44 | + // smartem-agent (gold - standalone) |
| 45 | + { name: 'smartem-agent', description: 'EPU workstation agent for microscope integration', color: '9a6700' }, |
| 46 | + |
| 47 | + // smartem-frontend (green - standalone) |
| 48 | + { name: 'smartem-frontend', description: 'User-facing web UI for acquisition sessions and ML decisions', color: '1a7f37' }, |
| 49 | + |
| 50 | + // smartem-aria-connector (purple - standalone) |
| 51 | + { name: 'smartem-aria-connector', description: 'ARIA deposition integration via FandanGO plugin', color: '6639ba' }, |
| 52 | + |
| 53 | + // smartem-devtools family (warm pink scale: #99154b -> #bf3989 -> #db61a2 -> #f09bc8) |
| 54 | + { name: 'smartem-devtools', description: 'Developer tooling, documentation, and workspace configuration', color: '99154b' }, |
| 55 | + { name: 'smartem-devtools:webui', description: 'Developer dashboard web interface', color: 'bf3989' }, |
| 56 | + { name: 'smartem-devtools:claude', description: 'Claude Code configuration, skills, and prompts', color: 'db61a2' }, |
| 57 | + { name: 'smartem-devtools:e2e-test', description: 'End-to-end testing infrastructure and scenarios', color: 'f09bc8' }, |
| 58 | +] |
| 59 | + |
| 60 | +export const githubTagsConfig: GitHubTagsConfig = { |
| 61 | + typesOfWork, |
| 62 | + systemComponents, |
| 63 | +} |
11 | 64 |
|
12 | 65 | export default githubTagsConfig |
0 commit comments