-
Notifications
You must be signed in to change notification settings - Fork 0
Home
JumpStart Wiki Bot edited this page Aug 8, 2026
·
3 revisions
JumpStart is a cross-platform desktop control panel for local apps and development projects. Add a project once, auto-detect runnable processes, then start/stop, inspect logs and ports, manage git, Docker, scripts, tests, and a per-project Kanban — all from one native-feeling Wails app.
Stack: Go (Wails v2) · React 18 · Vite · SCSS
Module path: devdeck (historical; product name is JumpStart)
Vendor: Workvar · Repo: canaryGrapher/JumpStart
| Page | What it covers |
|---|---|
| Architecture | Layering, App bootstrap, events, data flow |
| Code-Structure | Repository layout and package map |
| Features | Product features mapped to code |
| Data-Model |
~/.jumpstart/ files and JSON shapes |
| Backend-API | All Wails-bound App methods |
| Frontend | React shell, API layer, styles, hooks |
| Process-Management | procman, ports, logs, platform nuances |
| AI-and-Chat | Ollama, codectx, chatstore |
| Analytics-and-Privacy | PostHog, consent, redaction |
| Build-and-Release | Dev, CI, ldflags, signing |
| Contributing | How to change things safely |
| How-to-Change | Concrete recipes for common edits |
| Landing-Site | Marketing site (landing/) |
# Prerequisites: Go 1.22+, Node 18+, Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@v2.13.0
wails dev # hot reload; generates frontend/wailsjs/
wails build # output in build/bin/
go test ./... # Go unit testsFirst wails dev installs frontend deps and generates the Go↔JS bindings under frontend/wailsjs/.
┌─────────────────────────────────────────────────────────┐
│ frontend/ (React) │
│ App.jsx → panels → api.js → wailsjs/go/main/App │
└───────────────────────────┬─────────────────────────────┘
│ Wails bindings + EventsEmit
┌───────────────────────────▼─────────────────────────────┐
│ main package: App (app.go + *_api.go) │
│ Thin orchestration + analytics instrumentation │
└───────────────────────────┬─────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────┐
│ internal/* domain packages (store, procman, detect,…) │
└─────────────────────────────────────────────────────────┘
-
Frontend never owns product analytics ingestion. It only bridges UI-only signals (
panel_opened, AI accept) through Go. -
Appis the only Wails-bound type. Domain logic lives ininternal/. -
Projects live in
~/.jumpstart/config.json. Sidecars (chats, code index, analytics) are separate files so they do not rewrite the main config on every chat turn.
| Goal | Start here |
|---|---|
| Add a backend method |
app.go or a focused *_api.go, export from frontend/src/api.js
|
| Change process start/stop | internal/procman/ |
| Add a language detector | internal/detect/frameworks.go |
| Change Kanban UI | frontend/src/components/kanban/ |
| Touch privacy/events |
internal/analytics/ + docs/privacy.md
|
| Ship a release | tag vX.Y.Z → .github/workflows/release.yml
|