Skip to content

Commit d096218

Browse files
vredchenkoclaude
andcommitted
feat: add GitHub labels configuration with descriptions and colors
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 1ee26f5 commit d096218

File tree

1 file changed

+57
-4
lines changed

1 file changed

+57
-4
lines changed

core/github-tags-config.ts

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,65 @@
11
/**
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.
44
*/
55

6+
export interface GitHubLabel {
7+
name: string
8+
description: string
9+
color: string // 6-char hex without #
10+
}
11+
612
export interface GitHubTagsConfig {
7-
// To be defined
13+
typesOfWork: GitHubLabel[]
14+
systemComponents: GitHubLabel[]
815
}
916

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+
}
1164

1265
export default githubTagsConfig

0 commit comments

Comments
 (0)