An experiment in using BMad Method to create a greenfield todo-list application.
In addition to the source code and the bmad files, you will find the following documentation files:
| Location | What is it? |
|---|---|
/requirements/requirements.md |
The original requirements document, which was the only input to the bmad flow. |
/notes/notes.md |
Notes that I made as I progressed through the workflow, capturing my observations and thoughts. I didn't make notes of every story create/dev/code review step, but I did make notes on all of the key workflow stages. |
/chats/*.md |
Exported transcripts from the various chats that I had with the different agent personas at different stages of the workflow. Again, I only included one create/dev/code review transcript, but included others from the key workflow stages. |
npm run devRun a production build first, then start the built artifacts:
npm run build # compile all packages (must run before start)
npm run start # starts backend (node dist/index.js) and frontend (next start) togetherdocker compose up # build and start both backend and frontend apps
docker compose down # teardown both backend and frontend appsTip
When running the app is available at http://localhost:3000 and the API at http://localhost:3001.
npm run test288 unit tests over all three packages giving 100% coverage with the exception of some excluded framework-level files.
npm run test:e2e # run in terminal
npm run test:e2e:ui # open playwright ui21 playwright tests covering all user journeys and error handling.
npm run test:lighthouse
npm run test:lighthousealways runsnpm run buildfirst, then starts the production stack (notnpm run dev), audits it, and stops the stack when done. Scores reflect the production build, not the dev server.
Lighthouse scores when running this script are generally Performance: 93, Accesibility: 100, Best Practices: 100, SEO: 100.
Lighthouse scores when run in the browser are 100 across the board:
To clear the local database for a fresh start, run:
npm run db:resetSee ./chats/13-security-review.md for the chat transcript when I asked for a security review.
I opted for brevity to fix the critical and high issues via the "quick spec" and "quick dev" approach.