How gbillois/crisismaker works
CrisisMaker is a browser-based authoring and export tool for cyber crisis exercise stimuli. Users shape an exercise scenario, create and preview timed stimuli, optionally use AI or Agent mode to draft and revise content, check the exercise, then save or export it. A separate Video Debrief studio supports documentary-style video production. The map follows README-described capabilities and the sampled runtime code; unsampled subsystem links are included only where the README documents them.
Main entry points: app.js App controller · agent-runner.js Agent runner · ai.js AI transport · persistence.js Project persistence
Components 23
Exercise authoring
- App controller
js/app.js - Scenario data
js/data.js - Editor views
js/views.js - Stimulus templates
js/templates.js - Stimulus renderer
js/templates.js
AI and Agent
- AI transport
js/ai.js - Provider settings
js/config.js - Agent runner
js/agent-runner.js - Agent tools
js/agent-tools.js - Agent prompts
js/agent-prompts.js
Review and export
- Exercise checker
js/checker.js - Project persistence
js/persistence.js
Debrief studios
- Timeline debrief
js/debrief.js - Video Debrief studio
video-debrief/index.html - Video render engine
video-debrief/engine/scene.html - Video production
video-debrief/pipeline/build.py - Local production server
video-debrief/pipeline/server.py - Rendered video
External services
- Browser storage
- Project files
- AI provider
- Cloudflare relay
functions/api/llm.js
Other components
- Exercise designer
Connections 27
- Exercise designer → App controller: edits exercise
- App controller → Editor views: renders interface
- App controller → Scenario data: manages exercise
- Editor views → App controller: dispatches actions
- App controller → Stimulus templates: creates stimuli
- Stimulus templates → Stimulus renderer: renders preview
- App controller → Exercise checker: checks exercise
- App controller → Project persistence: saves and loads
- Project persistence → Browser storage: stores checkpoint
- Project persistence → Project files: imports and exports
- App controller → AI transport: requests generation
- App controller → Provider settings: reads settings
- AI transport → AI provider: sends prompts
- AI transport → Cloudflare relay: retries network failures
- Cloudflare relay → AI provider: forwards request
- App controller → Agent runner: starts agent run
- Agent runner → Agent prompts: uses instructions
- Agent runner → Agent tools: dispatches tools
- Agent tools → Scenario data: edits exercise
- Agent runner → AI transport: requests model steps
- App controller → Timeline debrief: opens timeline debrief
- App controller → Video Debrief studio: embeds studio
- Video Debrief studio → Video render engine: previews scenes
- Video Debrief studio → Local production server: requests local production
- Local production server → Video production: starts build
- Video production → Video render engine: renders frames
- Video production → Rendered video: produces MP4