Skip to content

refactor: split catalog into individual files per software/config#12

Merged
kaic merged 4 commits into
mainfrom
refactor/split-catalog-files
Dec 10, 2025
Merged

refactor: split catalog into individual files per software/config#12
kaic merged 4 commits into
mainfrom
refactor/split-catalog-files

Conversation

@kaic

@kaic kaic commented Dec 10, 2025

Copy link
Copy Markdown
Owner

Summary

Addresses #11 - Splits monolithic software-catalog.js (1584 lines) and configurations.js (1095 lines) into individual files organized by category.

Changes

  • Created directory structure: src/data/software/<category>/<item>.js
  • Created directory structure: src/data/configurations/<category>/<item>.js
  • Extracted 122 software items into individual files
  • Extracted 80 configuration items into individual files
  • Converted catalog files to aggregators that import all individual files
  • Updated CONTRIBUTING.md with new structure and examples

Benefits

  • ✅ Prevents merge conflicts when multiple PRs add different software
  • ✅ Easier to find and modify specific items
  • ✅ Better code organization
  • ✅ Each file is small and focused
  • ✅ No manual aggregator updates needed - just add file to correct folder

Testing

  • Build succeeds (264 modules)
  • All software items still appear in UI
  • All configurations still appear in UI
  • No broken imports

Structure Example

src/data/
├── software-catalog.js (aggregator)
├── configurations.js (aggregator)
├── software/
│   ├── browsers/brave.js
│   ├── development/vscode.js
│   └── ...
└── configurations/
    ├── privacy/disable-telemetry.js
    └── ...

Closes #11

@kaic kaic merged commit 3f8c89c into main Dec 10, 2025
1 of 2 checks passed
@kaic kaic deleted the refactor/split-catalog-files branch December 11, 2025 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Discussion: Break apart software list

1 participant