- Bun for installs/scripts
- Node.js 24 LTS runtime target
- Electron
- React + Vite
- Tailwind CSS v4
- SQLite via
better-sqlite3
bun install
bun run devbun run build
bun run build:release
bun run build:launcher-artifacts
bun run release:prepare
bun run publish:howcode:dry-runBuild release artifacts:
bun run release:prepareThis produces:
artifacts/electron/— Electron unpacked release artifactsartifacts/electron/*.AppImage— Linux AppImage artifacts on Linux buildsartifacts/npm-launcher/— launcher archives consumed by the npm package
For a GitHub release, upload both:
stable-<os>-<arch>-update.json- Electron unpacked bundle artifacts
- Linux
.AppImageartifacts howcode-<os>-<arch>.tar.gz
Launcher base URL:
https://github.com/IgorWarzocha/howcode/releases/latest/download
GitHub workflow:
- push a tag like
v0.1.0to build all release artifacts and publish a GitHub release automatically
The user-facing npm package lives in:
packages/howcode
It is a thin launcher that:
- resolves the latest GitHub release metadata
- downloads the matching platform archive on first run
- caches it locally
- launches the packaged desktop app
Desktop release builds bundle Electron with Chromium on macOS, Linux, and Windows.
src/app/*— renderer appsrc/electron/*— Electron main and preload layersdesktop/*— desktop runtime lanesshared/*— shared contracts and helperspackages/howcode/*— npm launcher packagescripts/*— build and packaging scripts
Main checks:
bun run ai:check
bun run checkHooks:
.husky/pre-commit— lint-staged, thenbun run ai:check.husky/pre-push— clean build outputs, thenbun run ai:check
docs/roadmap.mddocs/todolist.mddocs/mock-features.mddocs/implementation-todo.mddocs/lane-map.md