Commit Graph

10 Commits

Author SHA1 Message Date
david bc12130dd6 fix: ensure output dirs exist in extract and API extract
cmdExtract and handleAPIExtract were missing os.MkdirAll calls
while cmdDownload, cmdPipeline, and handleAPIDownload all had
them. The bash script creates dirs internally but this is not
robust — create dirs in Go before shelling out.

Closes #13
2026-06-21 22:04:47 -07:00
david 4c09fb8d9b fix: useful Docker bind address output in serve
When binding to 0.0.0.0 (--host 0.0.0.0), print "localhost" and
"<host-ip>" URLs instead of the raw 0.0.0.0 address. Also handles
nil TCPAddr.IP to avoid the ":::" garbled display in Docker.
2026-06-21 22:03:01 -07:00
david ca0cd10436 docs: update README/AGENTS for current codebase state
- README: added --host flag, toolchain check commands, docker output fix
- AGENTS: documented --host bind address behavior, macOS bcopy fix,
  check-toolchain scripts, updated architecture tree
2026-06-21 22:00:08 -07:00
david e671320bbb feat: add toolchain check scripts and mise tasks
- scripts/check-toolchain.sh: checks gcc, homebrew, mise, go, node
- scripts/check-docker-toolchain.sh: checks docker, compose, colima (macOS), buildx
- mise tasks: check-toolchain, check-docker-toolchain, check-all
2026-06-21 21:46:11 -07:00
david 48d6d8c4d3 fix: macOS bcopy conflict and Docker host binding
- Fix #11: Guard bcopy/bzero declarations with _VISUALCPP in commoninclude.h
  to avoid redefinition errors on macOS where <strings.h> provides them
- Fix #12: Add --host flag to serve command, default 127.0.0.1
  Docker now binds to 0.0.0.0 so Colima can reach the server from host
- Also fix truncate() panic when n < 3
2026-06-21 21:40:41 -07:00
david 649a73984d docs: README and AGENTS.md
- README.md: project overview, quickstart (mise/docker/build),
  architecture diagram, feature roadmap linking to issues #1-#9
- AGENTS.md: development guide covering toolchain, key patterns,
  API conventions, akaiutil integration, formatting rules
2026-06-21 19:46:38 -07:00
david 9657aaa523 chore: docker compose, mise.toml, updated toolchain
- Dockerfile: updated to serve mode with web/ embed, expose 8080
- docker-compose.yml: new, maps :8080 and output volume
- Makefile: added serve, akaiutil, electron-* targets
- mise.toml: new, go 1.26 + node 22, all build/run tasks
- .gitignore: exclude built akaiutil binary
2026-06-21 19:46:34 -07:00
david e2dbb66525 feat: web UI + HTTP server + Electron shell
- serve.go: embedded web UI (embed.FS), REST API endpoints for
  search, list, download (SSE progress), and WAV extraction
- main.go: added serve subcommand and flag registration
- web/ui: vanilla JS frontend with search cards, download queue,
  extract controls; dark theme, zero dependencies
- electron/: Electron wrapper that spawns fetch serve as sidecar,
  reads port from stdout, creates BrowserWindow; electron-builder
  config for macOS .app bundle with akaiutil + script as resources

Refs #1, #9
2026-06-21 19:46:30 -07:00
casaos 815d43ee97 WIP 2026-06-21 22:05:18 -04:00
david 9f107b5f80 Initial commit: akai-fetch - AKAI sampler ISO downloader & extractor
- fetch: Go CLI tool for searching, downloading, and extracting
  AKAI sampler ISOs from archive.org
- scripts/extract_wavs.sh: Shell script driving akaiutil to
  convert samples to WAV
- Dockerfile: Multi-stage build packaging akaiutil + fetch
- third_party/akaiutil: Vendored akaiutil v4.6.7 source (GPLv2)
- docs/akaiutil.md: Full akaiutil reference
2026-06-15 22:33:53 -07:00