https://github.com/devlikebear/wirecraft
https://github.com/devlikebear/wirecraft
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/devlikebear/wirecraft
- Owner: devlikebear
- Created: 2026-04-18T05:24:26.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T05:48:22.000Z (3 months ago)
- Last Synced: 2026-04-18T07:28:00.609Z (3 months ago)
- Language: Go
- Size: 36.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WireCraft
WireCraft is an online maker sandbox for building circuits, mechanisms, and small robotic systems in a shared 3D workspace. The project starts with a server-authoritative voxel and circuit simulation, then grows toward a Reality Bridge that can turn virtual builds into parts lists, wiring guides, controller code, and 3D-printable model candidates.
## Planning
- [PRD](docs/plans/wire-craft-prd.md)
- [Development Roadmap](docs/plans/wire-craft-roadmap.md)
- [Research Notes](docs/plans/wire-craft-research-notes.md)
## Task Tracking
- [Current Status](docs/tasks/current-status.md)
- [Phase 1 Work Orders](docs/tasks/phase-1-work-orders.md)
- [GitHub Issue: Phase 1](https://github.com/devlikebear/wirecraft/issues/1)
- [GitHub Issues](https://github.com/devlikebear/wirecraft/issues)
## Current Status
Phase 1 implementation is in progress.
- Completed: WO-1 scaffolded the Go server and embedded web boundary.
- Completed: WO-2 added the fixed tick clock and voxel world core.
- Completed: WO-3 initialized the Vite + Three.js client skeleton.
- Next: WO-4 adds command and snapshot protocol types.
## Development
Run the Go server:
```sh
go run ./cmd/wirecraft-server
```
The server listens on `127.0.0.1:8080` by default.
Health check:
```sh
curl http://127.0.0.1:8080/healthz
```
Run tests:
```sh
go test ./...
```
Run the web client:
```sh
cd web
npm install
npm run dev
```
Build the web client:
```sh
cd web
npm run build
```
## Web UI Packaging
During development, the TypeScript/Three.js app will run through Vite. For release builds, Vite output will be copied into `internal/webui/dist` and embedded in the Go binary with `go:embed`.