How kinncj/maple works
MAPLE is a local-first Go application for orchestrating AI coding harnesses through an artifact-driven, phase-gated development lifecycle. The user initializes a project, captures requirements as Gherkin stories, then works from a dashboard that presents project activity and launches a harness; UI stories can pause for design review and approval in the built-in portal. The graph also includes template setup, GitHub support, and the state layer. Source excerpts are partial, so some documented capabilities are shown without speculative internal call chains.
Main entry points: main.go Maple CLI · model.go Project dashboard · ui.go Requirements UI · portal.go Review server
Components 21
CLI and Setup
- Maple CLI
app/cmd/maple/main.go - Setup menu
app/internal/tui/menu/menu.go - Project scaffolding
app/internal/scaffold/scaffold.go - Embedded template
app/cmd/maple/embed.go
Requirements and Harness
- Requirements UI
app/internal/tui/req/ui.go - Harness handoff
app/internal/tui/req/launch.go - Requirement parsing
app/internal/req/parse.go - Gherkin conversion
app/internal/req/convert.go - Story persistence
app/internal/req/save.go - AI harnesses
app/internal/harness/harness.go
Dashboard and State
- Project dashboard
app/internal/tui/dashboard/model.go - Dashboard views
app/internal/tui/dashboard/sources.go - Focus and scroll panes
app/internal/tui/pane/pane.go - Project state
app/internal/state - GitHub integration
app/internal/gh/gh.go
Design Review Portal
- Review server
app/internal/portal/portal.go - Artifact discovery
app/internal/portal/artifacts.go - Review actions
app/internal/portal/actions.go
Other components
- Project developer
- Human reviewer
- Browser
Connections 24
- Project developer → Maple CLI: runs
- Maple CLI → Setup menu: offers setup
app/cmd/maple/main.go - Maple CLI → Project scaffolding: initializes project
app/cmd/maple/main.go - Project scaffolding → Embedded template: scaffolds from
- Maple CLI → Requirements UI: runs requirements
app/cmd/maple/main.go - Requirements UI → Requirement parsing: converts input
app/internal/tui/req/ui.go - Requirements UI → Gherkin conversion: creates stories
app/internal/tui/req/ui.go - Requirements UI → Story persistence: saves stories
- Requirements UI → Harness handoff: starts handoff
app/internal/tui/req/ui.go - Harness handoff → AI harnesses: launches in pane
- Maple CLI → Project dashboard: runs dashboard
app/cmd/maple/main.go - Project dashboard → Dashboard views: builds views
app/internal/tui/dashboard/model.go - Project dashboard → Focus and scroll panes: composes panes
app/internal/tui/dashboard/model.go - Project dashboard → Project state: reads project data
app/internal/tui/dashboard/model.go - Project dashboard → AI harnesses: launches harness
- Project dashboard → GitHub integration: refreshes GitHub data
- Maple CLI → GitHub integration: supports GitHub actions
- Maple CLI → Review server: starts review portal
app/cmd/maple/main.go - Review server → Artifact discovery: serves artifacts
app/internal/portal/portal.go - Artifact discovery → Project state: reads stories
app/internal/portal/artifacts.go - Human reviewer → Browser: reviews design
- Browser → Review server: opens portal
- Human reviewer → Review actions: approves gate
- Review actions → AI harnesses: nudges to resume
app/internal/portal/actions.go