Repository navigation
feat: scaffold the demo repo and ACME Commerce Lenders - #1
Merged
Merged
Conversation
added 6 commits
November 3, 2026 17:50
The repo held a one-line README. Say what an app emulator is and describe ACME Commerce Lenders, the first demo, with its first scenario.
The offline kit runs app emulators as child processes and needs one place to read vendor base URLs. The launcher waits for the /admin/health contract LocalStack's apps plugin uses. URLs default to the real vendor host, and reset tooling must pass one explicitly so it cannot hit another demo's port.
Adds the app module with the core interfaces both run modes share, an embedded placeholder UI, and entry points for the offline kit and LocalStack mode. The Makefile builds every apps/<demo>/cmd/<name>, so later demos need no edits.
Every demo carries a Usage Guide, Demo Scenarios and a Troubleshooting Guide. The template keeps them uniform, and the README now explains the layout and the offline kit rule.
UIs build as static assets that each demo's Go binary embeds, so Node stays a build-time tool and the offline kit needs no network.
Run vet, gofmt, tests with -race and a kit check on every PR. A demo with no cmd/kit fails, since every demo needs an offline kit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The repo held a LICENSE and a one-line README. It needs a layout that holds many demo apps, a way to share code between them, and a rule that every demo works offline, before the first demo (ACME Commerce Lenders) is built on it.
Changes
docs(readme): explain what an app emulator is and describe ACME Commerce Lenders, the first demo, with its first scenario.feat(shared): addshared/emulator, which starts an app emulator binary as a child process and waits for/admin/healthto return exactly{"status":"ok"}, andshared/vendorcfg, which reads vendor base URLs from<VENDOR>_BASE_URL. URLs default to the real vendor host, andRequirerefuses an empty one so reset tooling cannot fall back to another demo's port. Neither package names a vendor.feat(acme): scaffoldapps/acme-commerce-lenderswith thecoreinterfaces both run modes share, an embedded placeholder UI,cmd/kit(the offline kit) andcmd/lambda(LocalStack mode, a stub). TheMakefilebuilds everyapps/<demo>/cmd/<name>, so later demos need no edits.docs: addtemplates/demo-docs/(Usage Guide, Demo Scenarios, Troubleshooting Guide), the app's copies, and the repo layout and offline kit sections of the README.chore(web): add the pnpm workspace skeleton. UIs build as static assets that each demo's Go binary embeds.ci: add.no-mistakes.yamland a CI workflow that checks gofmt, vets and tests every module with-race, and builds every demo's offline kit. A demo with nocmd/kitfails.This is structure only. There is no lender logic, UI or app emulator startup yet, and
cmd/lambdaexits with "not implemented".Tests
Run on the final tree of this branch:
Each of the six commits was also checked out on its own and passes gofmt,
go vetandgo test -race(andmake check-kitsandmake buildfrom the third commit on). Theshared/emulatortests start and stop a fake app emulator and check thatStartfails fast when the process exits. Acmd/kit-less demo makesmake check-kitsfail. The built kit serves the placeholder page with HTTP 200.The CI workflow runs for the first time on this PR.
Related
DOC-581