- TypeScript 95.5%
- CSS 4.3%
- HTML 0.2%
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> |
||
|---|---|---|
| docs | ||
| src | ||
| .gitignore | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
Computer Builder
A React + Effect TypeScript MVP for building PCs, workstations, and servers. The current slice stores and validates structured component catalogs for AMD Radeon/NVIDIA GeForce GPUs, motherboards, CPUs, PSUs, memory, storage, chassis, cooling, fans, expansion/server infrastructure, peripherals, and software licenses, then displays the GPU catalog with parsed labels, bounding dimensions, specifications, resources, capabilities, performance marks, and slot connection-point data in a sortable table.
Development
npm install
npm run dev
The dev server binds to http://127.0.0.1:5173/.
Verification
npm test
npm run build
Data scope
The seed catalogs cover modern AMD Radeon RX desktop GPUs from RX 5000, RX 6000, RX 7000, and RX 9000 generations, selected NVIDIA GeForce RTX 40/50 cards, modern AM5/LGA1700 motherboards, modern AM5/LGA1700/LGA1851 CPUs, representative ATX/SFX PSUs, RAM kits/modules, NVMe/SATA storage, desktop/rack chassis, CPU coolers, case fans, NICs, HBAs, backplanes, cables/risers, displays, input devices, and OS licenses. Specification data is stored locally in src/data/; PassMark mark fields include the source URL and collection date where available. The domain schema is data-model only: identity, classification, labels, lifecycle, dimensions, slots, resources, capabilities, marks, commercial facts, provenance, and category-specific facts. Labels parse variable marketing names into consistent fields: company, brand, segment, generation, model, suffixes, and raw text. Dimensions treat each component as a bounding cuboid. Slots model any component-to-component connection point, including required/provided plugs and sockets, side, interface/version/width, and coordinates. Resources model values a component provides or consumes in strongly typed structured objects, including capacity, clearances, airflow, thermal dissipation, network/storage throughput, cable power ratings, software entitlements, and power draw. Capabilities model discrete user/software-facing component features; they intentionally do not represent slots, resources, or benchmark cutoffs. Table sorting/filtering configuration lives outside the domain schema in UI-facing code.
License
AGPL-3.0-or-later. See LICENSE.