Compare commits

..
Author SHA1 Message Date
Claude 07fd43a5ed Add GEMINI_API_KEY env var fallback for TTS
Add GEMINI_API_KEY to docker-compose so it can be set in Portainer.
Fall back to this env var when the DB app_config has no geminiApiKey,
so Gemini TTS works without requiring the user to save the key through
the Settings UI.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 13:39:37 +00:00
Claude 89bc1bf88b Decode Gemini TTS raw PCM with correct format flags
Gemini returns raw PCM (audio/L16;codec=pcm;rate=24000), not a real WAV
file with a header, so FFmpeg fails to auto-detect the format. Pass
-f s16le, -ar (from mime type), and -ac 1 explicitly so FFmpeg can
decode the byte stream. Also surface FFmpeg stderr on failure instead
of swallowing it.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 13:31:15 +00:00
Claude 50a011ce23 Simplify Gemini voice options and default to male voice (Charon)
Replace the 8-item Google Cloud TTS voice list with 2 Gemini native
voices: Charon (homme) and Kore (femme). Set Charon as the default
when switching to Gemini engine in all four reel pages.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 13:19:15 +00:00
Claude 46c31a1447 Switch Gemini TTS from Google Cloud TTS to Gemini native API
Replace the texttospeech.googleapis.com call (which requires a separate
GCP project with Cloud TTS enabled and billing) with the Gemini native
TTS endpoint (gemini-2.5-flash-preview-tts). This uses the same Gemini
API key already configured in the app, with no extra GCP setup needed.

Voice mapping: fr-FR-Standard-A/C -> Kore (female), B/D -> Charon (male).
Audio is returned as WAV and converted to MP3 via FFmpeg. Subtitle sync
uses ffsubsync as Gemini TTS does not return word boundaries.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 13:15:30 +00:00
Claude e2002cf163 Pass Gemini API key in /reels/tts-preview route
The TTS preview route hardcoded the Gemini API key to undefined when
calling the ffmpeg service, causing the service to silently fall back to
Edge TTS even when the user selected Gemini. Mirror the lookup already
used in the reel processing route so the selected engine is honored.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 12:49:16 +00:00
Claude a146705d15 Fix Gemini TTS crash from surrogate escape sequences in log strings
Replace \uXXXX surrogate-pair escapes with the actual emoji characters
in print() calls. Lone surrogates are invalid in UTF-8, causing
UnicodeEncodeError on stdout encode and aborting TTS generation before
the Gemini API call.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
2026-05-19 12:39:06 +00:00
Michael 2ffa30133d Fix sync-info to send ttsEngine and ttsVoice (not voice)
- new-reel.tsx was still sending 'voice' parameter instead of 'ttsVoice/ttsEngine'
- This caused sync-info to always fail with 400 'Texte et voix requis' for Gemini users
2026-05-19 14:19:18 +02:00
Michael a9cda4ffd4 Fix sync-info route to use ttsEngine and ttsVoice
- ttsSyncService.calculateSyncTiming now accepts ttsEngine parameter
- sync-info route extracts ttsVoice/ttsEngine from req.body instead of voice
- Previously it always fell back to Edge TTS even when Gemini was selected
  (because server stored 'fr-FR-Standard-B' but route only used 'voice')
2026-05-19 14:12:08 +02:00
Michael 6ff8f6b283 Debug Gemini TTS timepoints and add verbose logging
- Add response structure logging to see actual keys returned by Gemini API
- Log timepoints count and first item to diagnose word boundary parsing
- Add 'unexpected timepoint format' warning for easier debugging
- Convert emoji to ASCII-safe versions for container logs
2026-05-19 13:55:47 +02:00
Michael 64fe3810b5 Fix Edge TTS voice fallback and Gemini voice validation
- Edge TTS fallback list now includes fr-FR-RemyMultilingualNeural
- Removed 'Neural not in voice' check that rejected Gemini voices (fr-FR-Standard-A etc) before falling back - these are valid voices and Edge-tts handles them properly
- Improved is_male check to match 'Remy' not 'Remi'
2026-05-19 12:56:21 +02:00
Michael a2c2753b0b Add gemini_api_key column migration to migrate.ts 2026-05-19 12:25:14 +02:00
Michael 72b13b3e42 Add Google Gemini TTS as alternative to Edge TTS
- Store Gemini API key globally in appConfig (single key for all users)
- Add /api/settings/gemini GET/POST/DELETE routes for API key management
- Backend: add tts_engine parameter ("edge" or "gemini") to FFmpeg service
- Backend: add generate_tts_gemini() using Google Cloud TTS REST API
- Frontend: Settings page shows Google Gemini API key input card
- Frontend: new-reel, mobile/new-reel, remotion-video, mobile/remotion-video
  pages now have Edge/Gemini engine toggle and French voice selector
- Fix tts-preview route to extract ttsVoice from req.body instead of
  undefined voice variable
2026-05-19 12:17:42 +02:00
Michael 59bc56aedc refactor: remove Piper TTS, keep edge_tts only
- Remove piper_url from ReelRequest model and all function signatures
- Remove generate_tts_piper() function and Piper branch in generate_tts_with_subs()
- Remove /api/piper/config routes from server/routes.ts
- Remove piperConfig table, schemas and storage methods
- Remove piper_config migration
- Remove Piper TTS settings UI card
- Update "Piper TTS" labels to "TTS — voix activée"

edge_tts is now the only TTS engine, using precise word-boundary timing
2026-05-19 10:55:01 +02:00
Michael 8736e4f6a0 fix: pin edge-tts to 6.1.12 for reproducible builds 2026-05-19 10:30:02 +02:00
MichaelandClaude Sonnet 4.6 797e12dde5 refactor(tts): replace Minimax+Freesound with Piper TTS
Remove Minimax Speech API and Freesound integrations entirely.
Add Piper TTS as the sole TTS provider via configurable HTTP URL.

- Add piper_config DB table (url field, per-user)
- Add GET/POST /api/piper/config routes
- Python: replace generate_tts_minimax with generate_tts_piper (GET ?text=, WAV→MP3)
- Simplify generate_tts_with_subs: piper_url param replaces tts_provider+minimax fields
- Drop ttsVoice/ttsProvider from all UI, API, and background job params
- Settings page: replace Minimax+Freesound cards with single Piper URL input
- Remove freeSoundService init from server startup and CSP headers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 09:15:26 +02:00
Michael 0209c3eacf feat(minimax): add Group ID support to fix rate limit quota
Pass GroupId query param to Minimax T2A v2 API — required for paid
plan quota allocation. Without it, Minimax defaults to (0/0 used).

- shared/schema.ts: groupId field on minimaxConfig table
- server/migrate.ts: ADD COLUMN IF NOT EXISTS group_id
- server/routes/reels.ts: fetch and pass groupId alongside apiKey
- server/services/ffmpeg.ts: minimax_group_id in request interface/body
- ffmpeg-service/main.py: GroupId in URL, threaded through all call sites
- client/src/pages/settings.tsx: Group ID input in Minimax settings card
2026-05-18 13:50:41 +02:00
Michael cf20b0a264 fix(tts): surface TTS errors from Python to Node.js logs and DB
- Python: capture tts_error_msg on exception, return in response
- Python: log tts_provider, minimax_api_key presence before call
- ffmpeg.ts: read tts_error from response, log and return it
- reels.ts: store TTS error in post.generationError for visibility
2026-05-18 13:26:13 +02:00
Michael 211b7dc272 fix(minimax): correct API payload and add TTS debug logging
- Fix model name: speech-2.8-hd -> speech-02-hd
- Fix bitrate: 128 -> 128000 bps
- Add channel, speed, pitch, vol to voice/audio settings
- Handle binary audio response (Content-Type: audio/*)
- Fallback audio field lookup: data.data.audio || data.audio
- Add background job log: ttsProvider + hasMinimaxKey
- Log full FFmpeg request body (text truncated, key masked)
2026-05-18 12:50:59 +02:00
Michael 35cf21209f fix(settings): prevent empty string API keys from being saved or preserved
- Add .min(1) validation to insertOpenrouterConfigSchema
- Strip empty/whitespace-only apiKey before fallback to existing key
- Return 400 if resulting apiKey is empty (forces user to enter valid key)
2026-05-18 12:32:11 +02:00
Michael b7ef4940f7 feat: add Minimax Speech as alternative TTS provider for Reels
- Add minimax_config table (migration + schema + storage CRUD)
- Add GET/POST /api/minimax/config routes
- Pass tts_provider + minimax_api_key through ffmpeg service
- Add generate_tts_minimax() in Python using Minimax T2A v2 API
- Fall back to ffsubsync for subtitle sync (no WordBoundary events)
- Add Minimax config card in Settings page
- Add provider toggle (Edge TTS / Minimax) + French voices in new-reel
2026-05-18 11:55:07 +02:00
MichaelandClaude Opus 4.7 9932561050 feat: add list, edit, delete endpoints to external API
GET /api/v1/posts - list upcoming scheduled posts with filters
PATCH /api/v1/posts/:id - edit content, schedule, or image
DELETE /api/v1/posts/:id - remove scheduled post and cascading relations

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 22:05:20 +02:00
MichaelandClaude Sonnet 4.6 391acfdb83 feat: add external API for publishing posts with image URL and scheduling
- New POST /api/v1/publish endpoint: download image from URL, create post and schedule it per page
- New GET /api/v1/pages endpoint: list available pages for external callers
- API key auth via X-API-Key header, configurable from admin settings (stored in DB)
- New app_config table (migration included) to store the external API key
- Admin-only settings section (desktop + mobile) to set/revoke the key
- Fallback to EXTERNAL_API_KEY env var if no DB key is configured

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 13:12:27 +02:00
MichaelandClaude Opus 4.7 9e6fe9fe31 fix(ffmpeg): fallback to ffsubsync when edge_tts emits no word boundaries
Some voices/texts do not produce WordBoundary events from edge_tts.
When word_boundaries is empty, generate_ass_from_word_boundaries returns
without writing the ASS file, causing FFmpeg to fail with ENOENT.

Fallback to the old ffsubsync path when no boundaries are captured.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 14:34:20 +02:00
MichaelandClaude Opus 4.7 d763be6322 fix: prevent ENOENT on scheduled reel publishing when local file deleted early
- facebook.ts: use resolvePublicUrl + getMediaBuffer for reels so missing local files fall back to HTTP fetch.
- scheduler.ts: only delete local video files after the last pending scheduled post for that postId is published.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 14:08:15 +02:00
MichaelandClaude Opus 4.7 37aba33425 fix: precise TTS word-boundary timing and remove wasted sync calculations
- ffmpeg-service/main.py: replace ffsubsync path with exact word-boundary timing from edge_tts for TTS subtitles. Karaoke styling preserved.
- server/services/ttsSync.ts: fix word count to match TTS-cleaned text, remove artificial punctuationPause subtraction, strip punctuation tokens from count.
- server/routes/reels.ts: remove redundant ttsSyncService calls in preview/background; word_duration is ignored by Python, these only wasted TTS generations.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 13:13:55 +02:00
MichaelandClaude Opus 4.7 9ce735dc23 feat: add adaptive TTS text-to-speech synchronization for Reels with real-time sync info widget
Calculate optimal word_duration based on actual TTS audio duration and text punctuation.

- server/services/ttsSync.ts: new service to measure TTS audio and compute sync timing

- server/routes/reels.ts: integrate sync into preview and background processing

- client: auto-calculate sync info widget in desktop and mobile Reel creation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 12:35:04 +02:00
Michael 9913c307ed feat: implement Remotion video generation, text-to-speech, and automated social media publishing workflow 2026-04-29 11:09:28 +02:00
Michael 73e3a9d30f feat: add remotion router for video rendering with automated TTS synchronization and asset embedding 2026-04-29 10:33:05 +02:00
Michael f56a89e61c feat: implement FacebookService to handle post publishing for text, photos, videos, and multi-photo carousels 2026-04-01 20:19:48 +02:00
Michael 3122e162cc feat: implement user authentication and management routes with multer file upload support 2026-03-30 11:30:56 +02:00
Michael 0eca57efab feat: Introduce Remotion video creation and publishing page with a media thumbnail component and backend routes. 2026-03-27 09:45:38 +01:00
Michael e82d73c4e1 feat: Add FFmpeg service for video processing, TTS generation, and dynamic subtitles. 2026-03-27 09:34:16 +01:00
MichaelandClaude Sonnet 4.6 2a93c2aea7 fix: detect publish_video permission error + show required permissions in Pages UI
- Detect Facebook error subcode 1363042 (missing publish_video permission)
  and throw a clear actionable message explaining how to fix it
- Add permission notice banner in Pages admin showing the 3 required
  Facebook permissions: pages_manage_posts, pages_read_engagement, publish_video

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 20:51:47 +01:00
MichaelandClaude Sonnet 4.6 8f13d3021e fix: use multipart/form-data for all resumable upload phases + verbose logging
Facebook resumable upload START/FINISH phases require multipart/form-data
(not application/x-www-form-urlencoded). Add full raw response logging for
each phase to diagnose any remaining issues (subcode, etc).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 20:46:35 +01:00
MichaelandClaude Sonnet 4.6 47ed1711dd fix: use Facebook Resumable Upload API for video publishing
Replace simple multipart upload (which fails with error 6000 on large
files) with the 3-phase Resumable Upload API (start → transfer → finish).
This is the recommended Facebook approach for files > ~50 MB and is much
more reliable regardless of file size.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 20:15:11 +01:00
MichaelandClaude Sonnet 4.6 b8dc93eb2d fix: invalidate scheduled-posts cache after video publish/schedule
Calendar now updates instantly without page reload after creating
a video publication or scheduling from the Remotion generator.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 17:11:58 +01:00
MichaelandClaude Sonnet 4.6 5d7ab93bf8 feat: add Ken Burns effect, fix caption visibility and Facebook binary upload
- Add slow zoom/pan (Ken Burns) effect to each image slide, cycling through
  8 deterministic presets per image index for natural variety
- CapCut-style captions: semi-transparent pill background + yellow glow on
  active word; background/text now only visible while voice is speaking
- Fix Facebook error 6000: pass Node.js Buffer directly instead of unsafe
  ArrayBuffer pool-slice conversion which could corrupt the upload payload
- Fix TypeScript error: replace u-flag emoji regex with BMP surrogate pairs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 17:01:52 +01:00
Michael 487a8ee352 feat: Add Remotion video rendering API and composition for dynamic video generation from images, text, and audio. 2026-03-25 16:52:58 +01:00
Michael 56210687a2 feat: implement Facebook posting service, add new sidebar component, and introduce Remotion server route. 2026-03-25 16:36:57 +01:00
Michael e1a6d1e06c feat: add mobile Remotion video generator with image, text, audio, and Facebook publishing features. 2026-03-25 16:16:30 +01:00
Michael 3d51fdc90b feat: implement Remotion video rendering endpoint with image, audio, and TTS capabilities. 2026-03-25 13:07:17 +01:00
Michael 0c525665d8 feat: implement Remotion image composition with dynamic text, audio, and branding, and a server-side rendering API. 2026-03-25 12:53:52 +01:00
Michael 1957445225 feat: Implement Remotion video generation and publishing page with image selection, text-to-speech, music, and social media integration. 2026-03-25 11:58:34 +01:00
Michael 59caa19fbe feat: add mobile video generator page with Remotion integration for rendering and publishing. 2026-03-25 11:46:15 +01:00
MichaelandClaude Sonnet 4.6 0f49218f62 fix: embed local images as base64 data URLs for Remotion renderer
Remotion's headless Chromium cannot reliably fetch http://localhost
inside Docker due to network sandboxing. Instead of HTTP URLs, convert
all local /uploads/... files to data:image/...;base64,... before passing
to inputProps. This is reliable in all environments (Docker, dev, CI).

Audio files remain as HTTP URLs since they are loaded via Web Audio API
which has different network handling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:26:04 +01:00
Michael b1c9ffccbb feat: Add .claude settings to allow Bash git push. 2026-03-25 11:20:02 +01:00
MichaelandClaude Sonnet 4.6 a40a5a500e fix: read logo file from disk before uploading (multer uses diskStorage)
req.file.buffer is undefined with diskStorage — must read the temp file
from req.file.path using fs.readFileSync instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:14:17 +01:00
MichaelandClaude Sonnet 4.6 9681c62ae8 fix: resolve logo URL to absolute before passing to Remotion renderer
Logo stored as relative /uploads/logos/... was resolving to Remotion's
bundle server (port 3000) instead of the app (port 5555).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:12:59 +01:00
MichaelandClaude Sonnet 4.6 a638cfba6a fix: use localhost for Remotion image URLs instead of Docker service hostname
Remotion's headless Chromium runs inside the same container as the app,
so it must use http://localhost:PORT to fetch local media files.
The Docker service hostname (socialflow-app) is only reachable from
other containers on the Docker network, not from within the container itself.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:07:07 +01:00
MichaelandClaude Sonnet 4.6 abaee384bf fix: resolve relative media URLs to absolute before passing to Remotion renderer
Remotion's headless Chromium cannot load relative /uploads/... paths.
Library images were passed as-is, causing "Error loading image" at render time.
Now resolves them using INTERNAL_APP_URL (Docker) or the request host (dev).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:00:30 +01:00
MichaelandClaude Sonnet 4.6 281597e944 feat: add camera capture button to mobile video generator
Users can now take photos directly with the phone camera in the
Générateur Vidéo page, matching the behavior of Nouvelle Publication.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 10:56:33 +01:00
MichaelandClaude Sonnet 4.6 545dfec17f fix: add migration endpoint to convert absolute localhost media URLs to relative
Images uploaded between the local storage switch and the relative URL
fix have http://hostname/uploads/... stored in DB, which is blocked by
CSP. POST /api/media/fix-urls (admin only) updates all affected rows
to use relative /uploads/... paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:26:43 +01:00
MichaelandClaude Sonnet 4.6 695d219724 fix: restore 12-image limit and fix blank thumbnails on mobile
Thumbnails were blank (empty squares) on iOS/Android because h-full
does not resolve correctly inside a button with aspect-ratio sizing.
Switched to absolute inset-0 positioning which works in all mobile
browsers.

Also restored the slice(0, 12) limit on the media grid.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:02:30 +01:00
MichaelandClaude Sonnet 4.6 be46d43dd6 fix: show camera-uploaded images immediately in mobile new post
- Remove 12-item limit so all library images are visible (scrollable grid)
- Track newly uploaded items in recentUploads state so camera captures
  appear instantly without waiting for the API refetch to complete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:40:16 +01:00
MichaelandClaude Sonnet 4.6 b353fb6ded fix: use relative URLs for local media storage to fix CSP blocking
Media files were stored with absolute http://localhost:5555/... URLs,
which got blocked by the Content Security Policy when the app runs at
https://socialflow.fnancy.fr. Now stores relative /uploads/... paths
and resolves to absolute URLs only when needed by external APIs
(Facebook, FFmpeg internal service).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:30:07 +01:00
Michael 8f7f580b2f feat: Implement Facebook Reels API, including Jamendo music management, AI text generation, and MinIO storage integration. 2026-03-25 08:14:17 +01:00
MichaelandClaude Sonnet 4.6 2744b538e3 fix: Replace broken media thumbnails with MediaThumbnail component
Old Cloudinary URLs no longer load (account full). The new MediaThumbnail
component handles broken URLs gracefully with a fallback icon, and uses
<video preload="metadata"> for local video files to show the first frame.

- New component: client/src/components/media-thumbnail.tsx
- Updated: new-reel.tsx, new-post.tsx, media-upload.tsx,
           edit-scheduled-post-dialog.tsx

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:05:04 +01:00
MichaelandClaude Sonnet 4.6 7733acbc22 feat: Replace external storage with local file storage + auto cleanup
Media is now stored directly on the server disk (no external service).
Files are served via Express static middleware at /uploads/*.

Cleanup rules:
- Videos deleted immediately after successful publish to Facebook/Instagram
- Videos older than 7 days purged daily by cron job
- Images older than 30 days purged daily by cron job

Changes:
- server/services/minio.ts: replaced S3 client with local fs read/write
- server/index.ts: added static serving for /uploads/media, /logos, /stories
- server/services/media-purge.ts: new rules (images 30d, videos 7d)
- server/services/scheduler.ts: delete local videos after successful publish
- docker-compose.yml: add media_uploads, logos_uploads, stories_uploads volumes
- settings UI: removed credentials card, shows local storage info
- package.json: removed googleapis (unneeded)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 07:35:27 +01:00
MichaelandClaude Sonnet 4.6 ba94e7cc7d feat: Add MinIO endpoint/public URL configuration via settings UI
Store endpointUrl and publicUrl in cloudinary_config DB table so
MinIO connection can be fully configured from the app settings
without needing environment variables.

- DB migration: adds endpoint_url and public_url columns
- Schema: adds endpointUrl/publicUrl to cloudinaryConfig table
- MinIO service: reads endpoint from DB (falls back to MINIO_ENDPOINT env)
- buildMinioUrl: accepts optional publicUrl override from DB config
- All routes updated to pass config.publicUrl to buildMinioUrl
- Settings UI (desktop + mobile): adds Endpoint URL and Public URL fields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 21:19:49 +01:00
MichaelandClaude Sonnet 4.6 841ffb306c fix: add sidebar and topbar to desktop remotion video page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 21:09:03 +01:00
MichaelandClaude Sonnet 4.6 e39fa1026d feat: replace Cloudinary with MinIO for all media storage
- Create server/services/minio.ts: S3-compatible service (same interface as
  cloudinaryService) using @aws-sdk/client-s3 and MINIO_ENDPOINT env var
- Replace all cloudinaryService imports with minioService across routes.ts,
  routes/reels.ts, routes/remotion.ts, services/media-purge.ts
- Replace Cloudinary logo URL pattern (res.cloudinary.com/...) with
  buildMinioUrl() helper throughout all server routes
- GET /api/cloudinary/config now returns a logoUrl field (full MinIO URL)
  so clients never need to build the URL themselves
- Update settings pages (desktop + mobile): labels changed to MinIO
  (Bucket Name, Access Key, Secret Key)
- Update image-editor.tsx: remove Cloudinary URL transformation, use logoUrl
- Update media-utils.ts: simplify getVideoThumbnailUrl (no URL transforms)
- Add MINIO_ENDPOINT and MINIO_PUBLIC_URL to docker-compose.yml + .env.example
- DB table reuse: cloudinary_config.cloud_name = bucket, api_key = access key,
  api_secret = secret key — no migration needed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 21:05:37 +01:00
MichaelandClaude Sonnet 4.6 b0e11cb8ab feat: clean up desktop remotion page — remove preview player and unused code
Remove Player, ImageComposition, useMemo imports, estimateWordTimings,
stripForTTS, cloudinaryConfig query, and all preview-related computed values
from the desktop page. Same cleanup already applied to mobile page.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:29:04 +01:00
MichaelandClaude Sonnet 4.6 ff5e02e30d feat: clean up mobile remotion page — remove preview player and download button
Remove unused Player, ImageComposition, useMemo imports and all associated
computed values (combinedUrls, previewWordTimings, ENDING_FRAMES, totalFrames,
previewLogoUrl, previewStoreName, cloudinaryConfig query). Remove Aperçu card
with broken Player preview, download button, and conditional generate button wrapper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:27:55 +01:00
MichaelandClaude Sonnet 4.6 36fe05c04b feat: show 3 words at a time in text overlay (TikTok style)
Groups word timings by chunks of 3. The active word is highlighted in
yellow/scaled; the 2 surrounding words show in white. Gives enough
reading time while staying in sync with the voice.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:41:29 +01:00
MichaelandClaude Sonnet 4.6 4072f8954f feat: add publication scheduling to Remotion video generator
- New POST /api/remotion/publish endpoint: uploads MP4 to Cloudinary,
  creates post/media records, publishes or schedules per-page as a Reel
- Desktop and mobile pages show page selector + DateTimePicker + description
  after video generation, matching the Reels publication workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:36:53 +01:00
MichaelandClaude Sonnet 4.6 32c308c2af fix: use exact MP3 duration for word-timing sync instead of byte estimate
Parses the generated TTS audio file with music-metadata to get the real
duration before computing word timings, eliminating desync between text
overlay and voice playback.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:22:28 +01:00
MichaelandClaude Sonnet 4.6 9145bc5941 feat: add logo watermark, ending slide, 25-30s duration, and word-sync text
- Video duration forced to 25-30s (content 22-27s + 3s ending)
- Logo watermark (bottom-right) visible throughout content section
- Ending slide: logo centered + store name with spring animation (3s)
- Text overlay now shows only the active spoken word (true TikTok sync)
- Server fetches logo from Cloudinary config and store name from user's pages
- Player preview also shows logo/storeName via /api/cloudinary/config + /api/pages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 19:13:07 +01:00
MichaelandClaude Sonnet 4.6 57c18e24df fix: switch back to Debian-slim for native glibc (posix_fallocate64 fix)
Alpine + gcompat lacks posix_fallocate64 symbol required by Remotion's Chrome
headless shell. Debian-slim has real glibc so Chrome runs correctly.
NODE_OPTIONS stays before npm install to prevent OOM during build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:19:57 +01:00
MichaelandClaude Sonnet 4.6 eba9c9da5e fix: resolve music URL 404 and revert Dockerfile to Alpine + gcompat
- Convert relative music track URLs to absolute before passing to Remotion renderer
- Reverts Dockerfile from Debian-slim back to Alpine + gcompat/libc6-compat for lighter image

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 17:13:51 +01:00
Michael aa01c7a7fd chore: Optimize Docker build by setting Node.js memory before npm install and adding --no-audit --no-fund flags. 2026-03-24 17:07:16 +01:00
Michael abfb958340 deps: Add music-metadata dependency. 2026-03-24 16:55:18 +01:00
Michael 24a1d39e88 feat: Implement Remotion video generation feature, allowing users to combine images with text overlay and text-to-speech. 2026-03-24 16:44:06 +01:00
Michael 4f69a2edda feat: Add Remotion rendering API with TTS and update Dockerfile to use Debian-slim for Remotion's glibc-dependent Chrome headless shell. 2026-03-24 14:18:57 +01:00
Michael fa4e6e3131 feat: Add Remotion video rendering endpoint with image and TTS support, and enhance Dockerfile's Chromium detection logic. 2026-03-24 14:15:07 +01:00
Michael 468e65091f feat: Add Remotion video rendering API with TTS integration and configure Docker to use system Chromium for rendering. 2026-03-24 14:01:13 +01:00
Michael d97c0ed73a feat: Add Remotion video rendering endpoint with image upload, TTS generation, and dynamic word timings. 2026-03-24 13:54:37 +01:00
Michael 297af0ab0d feat: add libcap to Dockerfile and ensure Remotion browser binary is downloaded 2026-03-24 13:49:43 +01:00
Michael b15ba68b78 feat: Add Remotion video rendering endpoint with image uploads, text overlay, and TTS generation. 2026-03-24 13:39:28 +01:00
Michael e472e05a3b feat: Implement Remotion video rendering API with TTS, word timings, and Docker pre-bundling. 2026-03-24 13:33:18 +01:00
Michael d98d43cd06 feat: Add Remotion video generation page and API for image-based videos with text overlay and text-to-speech capabilities. 2026-03-24 13:28:28 +01:00
Michael 1a7cbe6af9 feat: Implement Remotion bundling and rendering scripts. 2026-03-24 13:25:22 +01:00
Michael 526e608077 feat: Implement Remotion video generation with client-side image selection and server-side rendering. 2026-03-24 12:48:53 +01:00
Michael e41c43c1da feat: Implement Remotion video generation with dedicated client UI, components, and server-side rendering. 2026-03-24 12:35:52 +01:00
Michael 177f4db455 feat: introduce FastAPI FFmpeg service for video reel creation with TTS and synchronized subtitles. 2026-03-24 08:59:28 +01:00
Michael af082eaf2f feat: Add Dockerfile for the ffmpeg-service, including FFmpeg with vidstab support and Python dependencies. 2026-03-24 08:45:35 +01:00
Michael eff432b585 feat: implement initial FFmpeg processing service with FastAPI, TTS generation, and word-level subtitles. 2026-03-24 08:39:45 +01:00
Michael e6a1fdc9da feat: Implement new FFmpeg service with FastAPI for video processing, TTS, and subtitle generation, including font management and debugging endpoints. 2026-03-19 15:00:59 +01:00
Michael 3a5acd425c feat: Implement new Reel creation functionality with dedicated mobile and desktop UIs, server-side API routes, and a new FFmpeg processing service. 2026-03-19 14:51:16 +01:00
Michael ae0048a6e1 feat: Add initial application structure, client components, server services, and extensive BMAD/BMM workflow definitions. 2026-03-17 11:39:44 +01:00
Michael 5a67ed2e83 feat: add initial API routes for Reels, including music search, popular tracks, and favorite management. 2026-03-12 16:18:09 +01:00
Michael a01194cc79 fix(cloudinary): correct method name to getCloudinaryConfig across backend 2026-03-04 14:45:38 +01:00
Michael 60c830c88b feat: implement automatic purging of old media and schedule its daily execution via cron. 2026-03-04 14:32:27 +01:00
Michael f6376cb470 Merge branch 'main' of https://github.com/R0m1k3/Socialflow 2026-03-04 14:25:06 +01:00
Michael 82befb2264 feat: Implement analytics, media management, and third-party service configurations with new settings pages. 2026-03-04 14:25:02 +01:00
Michael 7c88527501 feat: Introduce FFmpeg service with TTS, synchronized subtitles, and video stabilization features. 2026-03-03 19:26:31 +01:00
Michael 5a8c548a62 feat: Implement FastAPI service for video processing with advanced TTS generation and word-level synchronized subtitles. 2026-03-03 19:13:03 +01:00
Michael 64969b17b5 feat: Create FastAPI service for generating TTS with word-level synchronized subtitles, robust font handling, and FFmpeg diagnostics. 2026-03-03 18:19:52 +01:00
Michael 0fd7812b05 feat: Implement mobile new reel creation page with multi-step workflow for video upload, music selection, text overlay, and scheduling. 2026-03-03 16:27:48 +01:00
Michael 108f020dc5 test: add sample ASS subtitle files for subtitle generation and styling tests. 2026-03-03 14:41:09 +01:00
Michael c3356c2140 feat: Introduce ffmpeg-service using FastAPI to process video, generate TTS with synchronized subtitles, and manage fonts. 2026-03-03 14:28:01 +01:00
Michael 101e27a2fd feat: Implement new FFmpeg service for video processing, including TTS with synchronized subtitles and font management. 2026-03-03 13:59:17 +01:00
Michael b413c1ca41 feat: implement an FFmpeg processing service with FastAPI, supporting TTS, word-level subtitles, and font management. 2026-03-03 13:11:43 +01:00
Michael 9d29e7784a feat: Implement core FastAPI service for video processing with TTS generation, dynamic subtitles, and FFmpeg enhancements. 2026-03-03 12:44:32 +01:00
Michael 4fcc8cf53c feat: Add music search and favorite API routes, and introduce FFmpeg service for Reels. 2026-03-03 12:34:09 +01:00
Michael cb42558e52 Merge branch 'main' of https://github.com/R0m1k3/Socialflow 2026-03-03 12:08:29 +01:00
Michael b4e48a1f0e feat: implement FastAPI service for video processing with TTS, synchronized subtitles, and stabilization. 2026-03-03 12:08:28 +01:00
Michael ccfa2dd354 feat(mobile): use internal audio tracks for reels instead of external search 2026-03-02 21:46:38 +01:00
Michael 4e189e7797 feat: add core API routes for authentication, user management, and file upload handling. 2026-03-02 14:16:19 +01:00
Michael 84d2012929 feat: Implement music search and favorite APIs for Facebook Reels, and configure the internal app URL for the ffmpeg service. 2026-03-02 14:11:18 +01:00
Michael a71c5a278f feat: Initialize the Express server with essential middleware, security, authentication, routing, and service configurations. 2026-03-02 14:06:50 +01:00
Michael 6d16dc9d41 feat: add API routes for Jamendo music search, popular tracks, user favorites, and track details, including a placeholder for AI text generation for Reels. 2026-03-02 13:49:08 +01:00
Michael 40a057e924 feat: Introduce FastAPI service for video processing, supporting TTS, dynamic subtitles, and video stabilization. 2026-03-02 13:39:51 +01:00
Michael 7e5c73cad9 feat: establish server API routes for authentication, user management, and media processing. 2026-03-02 13:33:23 +01:00
Michael 94429e86df feat: Initialize the core Express server with security, session management, and service integrations, and add a Docker volume for audio file persistence. 2026-03-02 13:21:05 +01:00
Michael 04373d2881 feat: introduce audio administration, reel generation, and enhanced analytics with new database schema and API routes. 2026-03-02 13:11:37 +01:00
Michael b31a45549a feat: initialize main application structure with routing, authentication, and responsive lazy-loaded pages. 2026-03-02 13:06:39 +01:00
Michael 451f0a441b feat: introduce a new collapsible sidebar navigation component and an audio administration page. 2026-03-02 12:39:24 +01:00
Michael 9e9eb7d1bb feat: implement multi-step reel creation flow with video upload, music selection, text generation, and scheduling. 2026-03-02 12:10:50 +01:00
Michael 0e9622b5eb feat: Implement internal MP3 management and logo overlay functionality for Reels. 2026-03-02 11:33:22 +01:00
Michael d89de20df2 feat: polish mobile hub design and navigation 2026-02-13 10:56:35 +01:00
Michael 08f82d4080 feat: simplify mobile dashboard & implement reel queue system 2026-02-13 10:32:58 +01:00
Michael dbddf3a74e feat: implement reel improvements (clean text, deletion, mobile TTS) 2026-02-13 10:11:04 +01:00
Michael cb0ff8a0ea docs: complete README rewrite based on full codebase analysis 2026-02-12 11:09:19 +01:00
Michael 3859170d35 fix(analytics): upsert history one data point per day per page, add gte/lt imports 2026-02-12 11:01:43 +01:00
Michael 8b13748f13 fix(analytics): reduce sync to 2x/day, remove frontend polling for cleaner charts 2026-02-12 10:59:17 +01:00
Michael a460255b93 fix(analytics): reset auto-refresh when switching pages in selector 2026-02-12 10:54:27 +01:00
Michael 330c42c6ff feat(analytics): resilient Graph API calls, CRON sync every 6h, polling frontend, engagement+views metrics 2026-02-12 10:51:06 +01:00
Michael 942e33df62 docs: rewrite README.md with user-centric focus and add screenshots placeholder 2026-02-12 10:42:51 +01:00
Michael 71b47a9b7c fix(migration): resolve SQL syntax error in migrate.ts (extra parenthesis) 2026-02-12 10:38:32 +01:00
Michael e1c6b51e0a feat(reels): add real-time generation progress tracking on dashboard (desktop & mobile) 2026-02-12 10:33:00 +01:00
Michael 11b5ef0ad2 feat(mobile-reel): suppression bouton caméra, amélioration sync TTS (chunks 3 mots + overlap) et style sous-titres (outline/shadow) 2026-02-12 10:08:46 +01:00
Michael cdabf13e94 feat(ffmpeg): synchronisation texte/voix precise via WordBoundary edge-tts 2026-02-11 15:29:12 +01:00
Michael 2b45b70fa4 fix(mobile): add TTS controls to mobile reel creation page 2026-02-10 15:05:56 +01:00
Michael f1b3628ac0 fix(ui): correct reel labeling in history and dashboard 2026-02-10 14:38:27 +01:00
Michael 11fac558c3 feat(reels): async upload + status indicators 2026-02-10 12:28:36 +01:00
Michael 4b5ab1ca16 feat: enable feed distribution for Reels via /videos endpoint 2026-02-10 11:11:42 +01:00
Michael a35b9e3d1c feat: implement video thumbnail generation from Cloudinary URLs 2026-02-10 10:11:33 +01:00
Michael 58f513d476 feat: Implement precise TTS sync using edge-tts WordBoundary events 2026-02-03 16:24:42 +01:00
Michael d4192ce209 feat: Switch to Freesound for Reels & add performance logging 2026-02-03 16:17:44 +01:00
Michael 8b62be83a0 refactor: Switch reels music service from Jamendo to Freesound 2026-02-03 16:07:21 +01:00
Michael a401aee213 fix: Update Freesound config schema to exclude userId from body 2026-02-03 15:59:46 +01:00
Michael 2129b3055a fix: Add missing freesound_config table to safe migration script 2026-02-03 15:50:11 +01:00
Michael 62562d37f1 feat: Implement dynamic Freesound configuration (DB, API, UI) 2026-02-03 15:45:08 +01:00
Michael 1f7d0d1675 feat: Implement a new FastAPI service for video processing with FFmpeg, TTS, and subtitle generation, including font management and diagnostic endpoints. 2026-02-03 15:24:10 +01:00
Michael 838d168239 fix: remove emojis from display overlay and increase font size to 65 2026-01-29 13:32:11 +01:00
Michael 5c33d7fac0 fix: auto-download Noto Color Emoji and use generic Sans font family for robust emoji support 2026-01-29 13:25:16 +01:00
Michael 70f348553f fix: revert to DejaVu Sans to fix emoji visibility regression 2026-01-29 13:19:17 +01:00
Michael 214ff257a2 fix: emojis color, remove hashtags from overlay, verify stabilization logic 2026-01-29 13:12:12 +01:00
Michael 8bc7109392 fix: move stabilization toggle to bottom for better visibility 2026-01-29 13:03:02 +01:00
Michael 817bd2a980 feat: emoji support in subtitles and clear stabilization UI 2026-01-29 12:58:53 +01:00
Michael eee6e65c94 fix: tune encoded stabilization for aggressive handheld shake 2026-01-29 12:20:12 +01:00
Michael 15397974e0 fix: optimize video stabilization with adaptive zoom and single-pass encoding 2026-01-29 12:15:09 +01:00
Michael d7377914e7 fix: synchronize text overlay speed with dynamic TTS duration 2026-01-29 12:08:52 +01:00
Michael c9f7f7e9ec fix: ensure persistence of video data for scheduled reels and correct publication type 2026-01-29 11:58:29 +01:00
Michael d62ecffaac fix: resolve mobile white screen crash and add tts configuration features 2026-01-29 11:53:47 +01:00
Michael 456139cf2d feat: optimize facebook reels video quality (1080p, 30fps, 10Mbps) and fix camera capture settings 2026-01-29 11:19:40 +01:00
Jacques c8943accb8 fix(ffmpeg): use ASS subtitles for precise centering and crop-to-fill for full height 2026-01-23 20:44:56 +01:00
Jacques 4cc416af1b fix(ffmpeg): switch to crop-to-fill scaling and center text overlay 2026-01-23 20:38:29 +01:00
Jacques a39ed12d1f style(ffmpeg): set font size to 10 and align to middle center 2026-01-23 20:29:14 +01:00
Jacques b33c9a30be style(ffmpeg): reduce font size to 30 for cleaner text overlay 2026-01-23 20:22:42 +01:00
Jacques 3d15a2e1f6 style(ffmpeg): refine subtitle style to standard white size 64 2026-01-23 20:21:44 +01:00
Jacques 80a13d02ae debug(ffmpeg): add env HOME, high-visibility style, and detailed SRT logs 2026-01-23 20:16:34 +01:00
Jacques 16435d499a fix(ffmpeg): use subtitles filter exclusively and fix SRT generation nameerror 2026-01-23 20:09:03 +01:00
Jacques c6bb589b09 fix(ffmpeg): use SRT format and explicit DejaVu Sans font for reliable text overlay 2026-01-23 20:03:37 +01:00
Jacques d752437138 fix(ffmpeg): fix python 3.11 syntax error in f-string 2026-01-23 19:56:23 +01:00
Jacques f2fef87ae9 fix(ffmpeg): fix indentation error in process_reel 2026-01-23 19:54:36 +01:00
Jacques 4d9ad3f239 fix(ffmpeg): use generic Sans font and add detailed font debug logs 2026-01-23 19:43:49 +01:00
Jacques 6334b49676 fix(ffmpeg): refactor to unified filter_complex chain for reliable text overlay 2026-01-23 19:38:24 +01:00
Jacques e25d2026df fix(ffmpeg): install fontconfig and add dynamic font detection to ensure text overlay works 2026-01-23 19:32:03 +01:00
Jacques faec0a17b1 fix(ffmpeg): use DejaVu Sans font for subtitles to fix missing text overlay 2026-01-23 19:26:07 +01:00
Jacques 8840520bda fix(mobile): explicitly send drawText param to ensure overlay appears 2026-01-23 19:24:31 +01:00
Jacques 248ec6b398 fix(client): fix dropzone syntax error and jsx lint issue preventing build 2026-01-23 18:50:08 +01:00
Jacques d3da988cc0 fix(mobile): improve upload error handling to debug ios failure 2026-01-23 18:33:29 +01:00
Michael 4954877c06 feat: optimize iPhone video quality and stabilization UI 2026-01-23 17:56:39 +01:00
Michael 027b0f7e73 feat(reels): add stabilization to desktop, improve mobile UX with Switch, and remove desktop camera 2026-01-23 17:39:50 +01:00
Michael 230a30b339 fix(reels): restore missing cmd initialization in ffmpeg service to fix text overlay 2026-01-23 17:27:53 +01:00
Michael 7223bbbfb2 feat(reels): optimize quality to 1080p, increase text size to 64, and add stabilization toggle 2026-01-23 17:19:32 +01:00
Michael f95f400202 feat(mobile): platform-specific camera - native for iOS, WebRTC for Android 2026-01-23 16:47:30 +01:00
Michael 06b635561d feat(client): use native iPhone camera for max quality recording 2026-01-23 16:36:32 +01:00
Michael 891b374500 feat: support large file uploads up to 4GB (disk storage + streaming) 2026-01-23 16:27:27 +01:00
Michael 427c0b290e chore(client): add window.alert for better mobile debugging 2026-01-23 15:52:45 +01:00
Michael 437661e2a6 chore(client): add verbose error logging for file upload debugging on iOS 2026-01-23 15:41:36 +01:00
Michael 19aa3d5b97 fix(client): improve iOS video upload compatibility (MIME types, size limit) 2026-01-23 14:53:26 +01:00
Michael 8b1f114383 fix(server): fix ReferenceError stabilize is not defined in reels route 2026-01-23 14:06:08 +01:00
Michael 8f5c3d0744 fix(client): fix JSX syntax error in new-reel.tsx causing build failure 2026-01-23 13:48:54 +01:00
Michael aac776777a feat(reels): add video stabilization, quality improvements and processing monitoring 2026-01-23 13:42:42 +01:00
Michael 4e20a84836 fix: allow data: scheme in CSP media-src for tts preview 2026-01-23 09:44:39 +01:00
Michael 9ff1c4aa18 feat: enhance reels with default overlay, more voices, and tts preview 2026-01-23 09:38:59 +01:00
Jacques 8295916915 revert: remove login pre-fill 2026-01-23 08:37:53 +01:00
Jacques 2a357a0d69 feat(auth): pre-fill login credentials for admin user 2026-01-23 08:33:52 +01:00
Jacques 783d8ffccb chore: initialize bmm workflow status 2026-01-23 08:21:23 +01:00
Jacques fe638b9895 fix: reduce font size to 16, improve TTS sync (3 words/chunk, 0.3s/word) 2026-01-22 21:39:06 +01:00
Jacques 3ce30e71f0 fix(reels): change fontSize default from 60 to 24 in routes (actual fix) 2026-01-22 21:33:34 +01:00
Jacques e9ff262991 fix(ffmpeg): reduce hardcoded font_size from 60 to 24 for smaller text overlay 2026-01-22 21:22:36 +01:00
Jacques be940cd54c fix(camera): default to back camera, add flip button, fix settings crash on mobile 2026-01-22 21:19:51 +01:00
Jacques 5e50399457 fix(mobile): use CameraRecorder in mobile new-reel page 2026-01-22 21:13:01 +01:00
Jacques e33f721360 fix: revert docker-compose volume mount causing import error, use build strategy instead 2026-01-22 21:11:29 +01:00
Jacques c9b7493c9c feat: refactor camera to react-webcam, add test route, and fix docker volume for ffmpeg 2026-01-22 21:05:17 +01:00
Jacques 986f9741c1 fix: reduce text overlay font size to 10 and add camera diagnostics 2026-01-22 20:46:20 +01:00
Jacques 07ac80057e feat: default tts on/text off, improve overlay style, and fix camera device selection 2026-01-22 20:39:11 +01:00
Jacques 07b3d1a62a fix: voice names labels and backend mapping + async syntax error in ffmpeg service 2026-01-22 20:15:03 +01:00
Jacques 901c8581f6 Fix: Switch male TTS voice to Henri and improve fallback logic 2026-01-22 20:05:19 +01:00
Michael ff9453a3e4 fix camera 2026-01-22 17:35:33 +01:00
Michael b4347d068d add stabilisation camera recorder 2026-01-22 17:27:17 +01:00
Michael 6add333ce6 fix tts to communicate save 2026-01-22 17:20:35 +01:00
Michael 8be0b467be tts fix 2026-01-22 17:16:57 +01:00
Michael 074de54c8b fix cam to 4k et ffmpeg TTS 2026-01-22 17:13:11 +01:00
Michael 77a6dd7188 fix 2026-01-22 16:58:12 +01:00
Michael 81baafd295 fix ffmpeg 2026-01-22 16:37:09 +01:00
Michael 95b1cf2187 fix réél 2026-01-22 16:31:02 +01:00
Michael 2911d132d4 fix quality and tts ffmpeg 2026-01-22 16:28:22 +01:00
Michael 23abe41903 fix tts and texte on vidéo 2026-01-22 16:20:56 +01:00
Michael a512084f1b fixing sql conrole 2026-01-22 16:10:54 +01:00
Michael 8434e7a5a4 fix réél publication 2026-01-22 16:02:45 +01:00
Michael dc60a12cd3 ffmpeg fix 2026-01-22 15:56:17 +01:00
Michael 951606076e fix new_reel.tsx 2026-01-22 15:38:57 +01:00
Michael 19d0c333ac fix dockerfile 2026-01-22 15:34:45 +01:00
Michael 9ffd92f6bf add TTS voice 2026-01-22 15:28:00 +01:00
Michael 44928c61b8 fix ffmpeg 2026-01-22 15:18:59 +01:00
Michael ba81447d10 fix authentification 2026-01-22 14:41:03 +01:00
Michael 366fa2f15f feat: Add mobile adaptation for Reels/History and fix FFmpeg service architecture 2026-01-22 13:53:55 +01:00
Michael 1050f351c2 main.py fix 2026-01-22 13:47:22 +01:00
Michael 430187cbad feat: Implement a FastAPI-based FFmpeg service for video processing, including API key authentication, video/audio input handling, text overlay, and audio mixing. 2026-01-22 13:11:24 +01:00
Michael e29048d374 feat: Introduce a dedicated FFmpeg microservice for video processing, integrated into the Docker Compose setup. 2026-01-22 13:06:00 +01:00
Michael 8fde238369 chore: Update server CSP configuration 2026-01-22 12:58:03 +01:00
Michael f2cdd0a71c feat: implement new reel creation page with video, music, text, and publishing workflow. 2026-01-22 12:53:36 +01:00
Michael 973bf5186c feat: Replace Jamendo with FreeSound API for Reel music 2026-01-22 12:31:30 +01:00
Michael c6ecb195ef fix: Add empty state message for music step when Jamendo not configured 2026-01-22 12:17:50 +01:00
Michael 4903aa5555 fix: Improve Reel text generation and add FFmpeg settings - Fix generate-text to use productInfo as ProductInfo object - Add FFmpeg API configuration section in Settings page - Add /api/ffmpeg/config GET/POST routes 2026-01-22 12:07:58 +01:00
Michael c2c2fef62f fix: Configure Jamendo service at startup with demo client ID 2026-01-22 12:01:39 +01:00
Michael 3d494d4056 feat: Add Facebook Reels with music and text overlay - Add ffmpeg.ts service for Docker FFmpeg API integration - Add jamendo.ts service for royalty-free music search - Add publishReel methods to facebook.ts - Add reels API routes (music search, AI text generation, create/preview) - Add new-reel.tsx frontend with 4-step workflow - Add 'reel' type to postTypeEnum - Update navigation with Nouveau Reel link 2026-01-22 11:57:27 +01:00
Michael 7b39b34afb fix(analytics): auto-heal token status on successful sync 2026-01-21 16:19:58 +01:00
Michael c37a56b366 fix: reset token status on update and suppress metric errors 2026-01-21 16:14:08 +01:00
Michael 566782fa82 chore(debug): add verbose logging for analytics token validation 2026-01-21 16:09:21 +01:00
Michael ad22aea55e fix(analytics): handle expired tokens gracefully to prevent 500 errors 2026-01-21 16:03:30 +01:00
Michael 1f76a72100 docs: Update task.md with recent fixes 2026-01-20 14:42:26 +01:00
Michael 1bdbbfaa88 fix(server): Unify encryption logic in TokenManager to match storage service 2026-01-20 14:40:01 +01:00
Michael 54033ed6ed fix(server): Auto-expire invalid Facebook tokens on sync failure 2026-01-20 14:37:08 +01:00
Michael 8c911f0fb1 fix(analytics): Improve error handling and partial extraction 2026-01-20 14:35:45 +01:00
Michael f8db96084b feat(i18n): Translate analytics to French 2026-01-20 14:27:17 +01:00
Michael 4c06e5951d feat(db): Add automated safe migration on startup 2026-01-20 14:03:58 +01:00
Michael 60e89cb2bf fix(deploy): Remove blocking auto-migration from docker-compose 2026-01-20 14:00:51 +01:00
Michael e7e9a2fb1b fix(build): Resolve circular dependencies and type errors 2026-01-20 13:56:45 +01:00
Michael f8ddb44e38 feat(analytics): Implement Analytics Dashboard and Token Management 2026-01-20 13:49:24 +01:00
Michael b38f082d6e fix: télécharger l'image avant traitement Sharp pour les stories avec texte 2026-01-20 11:34:59 +01:00
Michael 4f8bab176a fix: génération automatique de la clé de chiffrement au lancement Docker 2026-01-20 11:10:22 +01:00
Michael 4b779838b3 Fix: Pre-process Facebook story images with sharp to correct EXIF orientation 2026-01-14 09:34:42 +01:00
Michael 509e36a05e fix: auto-rotate images based on EXIF orientation for Facebook stories 2026-01-12 13:50:28 +01:00
Michael 6c299b954a fix: auto-rotate images based on EXIF data 2026-01-07 20:51:56 +01:00
Michael 55c2bfdeb7 fix: add trust proxy for nginx reverse proxy support 2026-01-07 15:02:40 +01:00
Michael 633875e8ec feat(security): implement security fixes - Add AES-256-GCM encryption for Facebook/Instagram tokens - Add helmet for HTTP security headers - Add rate limiting (5 login attempts, 100 req/15min) - Add file upload validation (50MB max, MIME type whitelist) - Secure SQL console endpoint (disabled in production) - Enforce SESSION_SECRET in production 2026-01-07 14:57:36 +01:00
LogiFlow c3660f811b Merge pull request #107 from R0m1k3/dev
Dev
2025-12-30 13:07:40 +01:00
Michael 65b2e39af2 Resolve merge conflict in emojiRenderer.ts 2025-12-30 13:07:08 +01:00
Michael ba618bfe79 feat: Introduce EmojiRenderer service for canvas, enabling text rendering with Twemoji emojis, caching, and wrapping. 2025-12-30 13:03:11 +01:00
Michael 6b88b3ad02 fix: downgrade canvas dependency from ^3.2.0 to ^2.11.2 2025-12-23 11:30:21 +01:00
Michael 4e209ac367 feat: implement client-side emoji parsing for display and server-side emoji rendering to canvas. 2025-12-23 11:18:07 +01:00
Michael 6be8bbf628 feat: add script to reproduce emoji rendering to a PNG image file. 2025-12-04 14:27:48 +01:00
LogiFlow 6a8bbd5e2f Merge pull request #106 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
Claude/analyze codebase 01 xdqn crh ev l9 v we hdngv pk a
2025-11-29 13:32:41 +01:00
LogiFlow 54725c7088 Merge pull request #105 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
feat: Ajouter versions mobiles complètes pour toutes les pages
2025-11-29 12:01:44 +01:00
LogiFlow c21562e2b0 Merge pull request #104 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
Analyze and understand application codebase
2025-11-29 11:38:41 +01:00
4277 changed files with 86339 additions and 1741 deletions

No files matched your search

@@ -0,0 +1,16 @@
---
name: 'bmad-master'
description: 'bmad-master agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/core/agents/bmad-master.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'agent-builder'
description: 'agent-builder agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmb/agents/agent-builder.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'module-builder'
description: 'module-builder agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmb/agents/module-builder.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'workflow-builder'
description: 'workflow-builder agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmb/agents/workflow-builder.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'analyst'
description: 'analyst agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/analyst.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'architect'
description: 'architect agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/architect.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
+16
View File
@@ -0,0 +1,16 @@
---
name: 'dev'
description: 'dev agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/dev.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
+16
View File
@@ -0,0 +1,16 @@
---
name: 'pm'
description: 'pm agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/pm.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
+16
View File
@@ -0,0 +1,16 @@
---
name: 'qa'
description: 'qa agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/qa.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'quick-flow-solo-dev'
description: 'quick-flow-solo-dev agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/quick-flow-solo-dev.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
+16
View File
@@ -0,0 +1,16 @@
---
name: 'sm'
description: 'sm agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/sm.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'tech-writer'
description: 'tech-writer agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/tech-writer/tech-writer.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'ux-designer'
description: 'ux-designer agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/ux-designer.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'brainstorming-coach'
description: 'brainstorming-coach agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/brainstorming-coach.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'creative-problem-solver'
description: 'creative-problem-solver agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/creative-problem-solver.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'design-thinking-coach'
description: 'design-thinking-coach agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/design-thinking-coach.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'innovation-strategist'
description: 'innovation-strategist agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/innovation-strategist.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'presentation-master'
description: 'presentation-master agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/presentation-master.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,16 @@
---
name: 'storyteller'
description: 'storyteller agent'
disable-model-invocation: true
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
<agent-activation CRITICAL="TRUE">
1. LOAD the FULL agent file from {project-root}/_bmad/cis/agents/storyteller/storyteller.md
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
3. FOLLOW every step in the <activation> section precisely
4. DISPLAY the welcome/greeting as instructed
5. PRESENT the numbered menu
6. WAIT for user input before proceeding
</agent-activation>
@@ -0,0 +1,7 @@
---
name: 'create-agent'
description: 'Create a new BMAD agent with best practices and compliance'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/agent/workflow-create-agent.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'create-module-brief'
description: 'Create product brief for BMAD module development'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/module/workflow-create-module-brief.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'create-module'
description: 'Create a complete BMAD module with agents, workflows, and infrastructure'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/module/workflow-create-module.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'create-workflow'
description: 'Create a new BMAD workflow with proper structure and best practices'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/workflow/workflow-create-workflow.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'edit-agent'
description: 'Edit existing BMAD agents while maintaining compliance'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/agent/workflow-edit-agent.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'edit-module'
description: 'Edit existing BMAD modules while maintaining coherence'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/module/workflow-edit-module.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'edit-workflow'
description: 'Edit existing BMAD workflows while maintaining integrity'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/workflow/workflow-edit-workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'rework-workflow'
description: 'Rework a Workflow to a V6 Compliant Version'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/workflow/workflow-rework-workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'validate-agent'
description: 'Validate existing BMAD agents and offer to improve deficiencies'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/agent/workflow-validate-agent.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'validate-max-parallel-workflow'
description: 'Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'validate-module'
description: 'Run compliance check on BMAD modules against best practices'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/module/workflow-validate-module.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'validate-workflow'
description: 'Run validation check on BMAD workflows against best practices'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmb/workflows/workflow/workflow-validate-workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'check-implementation-readiness'
description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly!
+15
View File
@@ -0,0 +1,15 @@
---
name: 'code-review'
description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'correct-course'
description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,7 @@
---
name: 'create-architecture'
description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'create-epics-and-stories'
description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'create-prd'
description: 'Create a comprehensive PRD (Product Requirements Document) through structured workflow facilitation'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'create-product-brief'
description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly!
+15
View File
@@ -0,0 +1,15 @@
---
name: 'create-story'
description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,7 @@
---
name: 'create-ux-design'
description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly!
+15
View File
@@ -0,0 +1,15 @@
---
name: 'dev-story'
description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'document-project'
description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,7 @@
---
name: 'domain-research'
description: 'Conduct domain research covering industry analysis, regulations, technology trends, and ecosystem dynamics using current web data and verified sources.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'edit-prd'
description: 'Edit and improve an existing PRD - enhance clarity, completeness, and quality'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'generate-project-context'
description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'market-research'
description: 'Conduct market research covering market size, growth, competition, and customer insights using current web data and verified sources.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md, READ its entire contents and follow its directions exactly!
+15
View File
@@ -0,0 +1,15 @@
---
name: 'qa-automate'
description: 'Generate tests quickly for existing features using standard test patterns'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/qa/automate/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/qa/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
+7
View File
@@ -0,0 +1,7 @@
---
name: 'quick-dev'
description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'quick-spec'
description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,15 @@
---
name: 'retrospective'
description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'sprint-planning'
description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'sprint-status'
description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,7 @@
---
name: 'technical-research'
description: 'Conduct technical research covering technology evaluation, architecture decisions, and implementation approaches using current web data and verified sources.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,7 @@
---
name: 'validate-prd'
description: 'Validate an existing PRD against BMAD standards - comprehensive review for completeness, clarity, and quality'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md, READ its entire contents and follow its directions exactly!
+7
View File
@@ -0,0 +1,7 @@
---
name: 'brainstorming'
description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,15 @@
---
name: 'design-thinking'
description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'innovation-strategy'
description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,15 @@
---
name: 'problem-solving'
description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
+15
View File
@@ -0,0 +1,15 @@
---
name: 'storytelling'
description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL @{project-root}/_bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/_bmad/cis/workflows/storytelling/workflow.yaml
3. Pass the yaml path @{project-root}/_bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
5. Save outputs after EACH section when generating any documents from templates
</steps>
@@ -0,0 +1,10 @@
---
name: 'editorial-review-prose'
description: 'Clinical copy-editor that reviews text for communication issues'
---
# editorial-review-prose
Read the entire task file at: {project-root}/_bmad/core/tasks/editorial-review-prose.xml
Follow all instructions in the task file exactly as written.
@@ -0,0 +1,10 @@
---
name: 'editorial-review-structure'
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension'
---
# editorial-review-structure
Read the entire task file at: {project-root}/_bmad/core/tasks/editorial-review-structure.xml
Follow all instructions in the task file exactly as written.
+10
View File
@@ -0,0 +1,10 @@
---
name: 'help'
description: 'Get unstuck by showing what workflow steps come next or answering questions about what to do'
---
# help
Read the entire task file at: {project-root}/_bmad/core/tasks/help.md
Follow all instructions in the task file exactly as written.
+10
View File
@@ -0,0 +1,10 @@
---
name: 'index-docs'
description: 'Generates or updates an index.md of all documents in the specified directory'
---
# index-docs
Read the entire task file at: {project-root}/_bmad/core/tasks/index-docs.xml
Follow all instructions in the task file exactly as written.
+7
View File
@@ -0,0 +1,7 @@
---
name: 'party-mode'
description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations'
disable-model-invocation: true
---
IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly!
@@ -0,0 +1,10 @@
---
name: 'review-adversarial-general'
description: 'Cynically review content and produce findings'
---
# review-adversarial-general
Read the entire task file at: {project-root}/_bmad/core/tasks/review-adversarial-general.xml
Follow all instructions in the task file exactly as written.
+10
View File
@@ -0,0 +1,10 @@
---
name: 'shard-doc'
description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections'
---
# shard-doc
Read the entire task file at: {project-root}/_bmad/core/tasks/shard-doc.xml
Follow all instructions in the task file exactly as written.
@@ -0,0 +1,9 @@
---
description: 'Generates or updates an index.md of all documents in the specified directory'
---
# Index Docs
LOAD and execute the task at: _bmad/core/tasks/index-docs.xml
Follow all instructions in the task file exactly as written.
+7
View File
@@ -0,0 +1,7 @@
{
"permissions": {
"allow": [
"Bash(git push:*)"
]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"WebFetch(domain:pixabay.com)",
"Bash(find /c/GIT/Socialflow/migrations -name \"*.sql\" -exec wc -l {} +)",
"Bash(xargs ls:*)"
]
}
}
+17
View File
@@ -16,10 +16,20 @@ APP_URL=http://localhost:5555
# Clé secrète pour les sessions (CHANGEZ CETTE VALEUR)
SESSION_SECRET=your-secret-key-change-me-to-random-string
# Clé de chiffrement pour les tokens Facebook/Instagram (OBLIGATOIRE en production)
# Générer avec: openssl rand -hex 32
ENCRYPTION_KEY=your-32-byte-hex-key-here
# Clé API OpenRouter pour la génération de texte IA
# Obtenez votre clé sur https://openrouter.ai/
OPENROUTER_API_KEY=your-openrouter-api-key-here
# Configuration MinIO (stockage des médias, remplace Cloudinary)
# MINIO_ENDPOINT = URL interne Docker (ex: http://minio:9000)
# MINIO_PUBLIC_URL = URL publique pour accéder aux fichiers (ex: https://media.example.com)
MINIO_ENDPOINT=http://minio:9000
MINIO_PUBLIC_URL=https://media.example.com
# Optionnel: Configuration Facebook API
# FACEBOOK_APP_ID=
# FACEBOOK_APP_SECRET=
@@ -27,3 +37,10 @@ OPENROUTER_API_KEY=your-openrouter-api-key-here
# Optionnel: Configuration Instagram API
# INSTAGRAM_APP_ID=
# INSTAGRAM_APP_SECRET=
# ==========================================
# API EXTERNE
# ==========================================
# Clé d'accès pour l'API externe /api/v1/*
# Générer avec: openssl rand -hex 32
EXTERNAL_API_KEY=your-secure-random-key-here
+1
View File
@@ -9,6 +9,7 @@ vite.config.ts.*
.env
.env.local
.env.*.local
.encryption-key
# Uploads
uploads/*
+1136
View File
File diff suppressed because it is too large. Load diff
+57 -41
View File
@@ -1,68 +1,84 @@
# Utiliser Node.js 20 Alpine pour une image légère
FROM node:20-alpine
# Debian slim — glibc requis par le Chrome headless shell de Remotion (posix_fallocate64, etc.)
FROM node:20-slim
WORKDIR /app
# Installer les dépendances système nécessaires pour bcrypt, canvas et sharp
RUN apk add --no-cache \
python3 \
make \
g++ \
cairo-dev \
jpeg-dev \
pango-dev \
giflib-dev \
pixman-dev \
cairo \
jpeg \
pango \
giflib \
pixman \
vips-dev \
pkgconfig \
ttf-dejavu \
fontconfig \
curl \
tar \
bzip2
# Augmenter la mémoire AVANT npm install + build (évite OOM sur les grosses dépendances)
ENV NODE_OPTIONS="--max-old-space-size=4096"
# Dépendances système : build tools, canvas/sharp, fonts, ffmpeg + dépendances Chrome
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 make g++ \
libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev libpixman-1-dev \
libvips-dev pkg-config \
fonts-dejavu-core fontconfig \
curl tar bzip2 \
ffmpeg \
libcap2-bin \
ca-certificates \
# Dépendances Chrome headless
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcups2 \
libdbus-1-3 \
libdrm2 \
libgbm1 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxkbcommon0 \
libxrandr2 \
libxshmfence1 \
libxtst6 \
&& rm -rf /var/lib/apt/lists/*
# Copier les fichiers de configuration
COPY package*.json ./
# Installer les dépendances avec npm install (plus permissif que npm ci)
RUN npm install --legacy-peer-deps
# Installer les dépendances
RUN npm install --legacy-peer-deps --no-audit --no-fund
# Copier tout le code source
COPY . .
# Télécharger et installer la police DejaVu Sans pour le rendu de texte
# Télécharger et installer la police DejaVu Sans
RUN mkdir -p server/fonts && \
cd server/fonts && \
echo "Téléchargement de la police DejaVu Sans..." && \
curl -L -f --retry 3 --retry-delay 2 -o dejavu.tar.bz2 "https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2/download" && \
echo "Extraction de l'archive..." && \
tar -xjf dejavu.tar.bz2 && \
echo "Installation de la police..." && \
cp dejavu-fonts-ttf-2.37/ttf/DejaVuSans.ttf . && \
ls -lh DejaVuSans.ttf && \
rm -rf dejavu.tar.bz2 dejavu-fonts-ttf-2.37 && \
echo "✓ Police DejaVu Sans installée avec succès"
echo "✓ Police DejaVu Sans installée"
# Augmenter la mémoire pour le build (résout les problèmes de mémoire avec Vite)
ENV NODE_OPTIONS="--max-old-space-size=4096"
# Build du frontend et backend
RUN npm run build
# Build du frontend et backend avec logs détaillés
RUN npm run build 2>&1 | tee build.log || (cat build.log && exit 1)
# Nettoyer les fichiers inutiles
RUN rm -rf client/node_modules \
client/.vite \
node_modules/.cache \
/tmp/remotion-*
# Nettoyer les fichiers inutiles pour réduire la taille
RUN rm -rf client node_modules/.cache
# Pré-bundler la composition Remotion
RUN node scripts/prebundle-remotion.js || true
# Exposer le port de l'application
# Télécharger le Chrome headless shell de Remotion (binaire glibc natif sur Debian)
RUN npx remotion browser ensure && echo "✓ Remotion browser prêt"
# Exposer le port
EXPOSE 5555
# Variables d'environnement par défaut
ENV NODE_ENV=production
ENV PORT=5555
# Démarrer l'application
CMD ["npm", "run", "start"]
+226
View File
@@ -0,0 +1,226 @@
# 🚀 Socialflow
**Votre assistant intelligent pour dominer les réseaux sociaux.**
Socialflow est une application tout-en-un conçue pour automatiser, créer et analyser votre contenu sur **Facebook** et **Instagram**. Plus besoin de jongler entre plusieurs outils : tout est là, centralisé et simplifié.
---
## ✨ Fonctionnalités
### 📊 Tableau de Bord Unifié
Vue d'ensemble immédiate de votre activité. Statistiques clés, publications récentes, et suivi de progression des Reels en cours — le tout sur un seul écran.
- **Cartes statistiques** : Followers, publications programmées, Reels en cours
- **Publications récentes** : Historique avec statuts de publication
- **Actions rapides** : Accès direct à la création de contenu
- **Suivi en temps réel** : Progression des Reels (Encodage → Upload → Publication)
![Tableau de Bord](docs/screenshots/dashboard-preview.png)
---
### 🎬 Création de Reels par IA
Créez des vidéos virales en quelques clics sans aucune compétence en montage.
- **Montage automatique** : Transformez vos images et vidéos en Reels dynamiques via FFmpeg
- **Voix-off IA** : Narration professionnelle générée automatiquement
- **Sous-titres automatiques** : Synchronisés avec la voix-off, personnalisables (police, couleur, taille)
- **Musique libre de droits** : Intégration **FreeSound** et **Jamendo** pour des milliers de pistes
- **Hébergement Cloudinary** : Upload automatique vers le cloud pour une diffusion rapide
- **Webcam & Caméra** : Enregistrement intégré directement depuis l'application
![Création de Reel](docs/screenshots/reel-creation.png)
---
### ✍️ Création de Posts Multi-Plateformes
Composez vos publications pour Facebook et Instagram depuis une interface unifiée.
- **Éditeur riche** : Gestion complète des médias (images, vidéos), emojis, et texte
- **Drag & Drop** : Réorganisez vos médias avec le glisser-déposer
- **Génération IA** : Génération de textes (légendes, hashtags) via **OpenRouter** avec choix du modèle IA
- **Multi-pages** : Publiez sur plusieurs pages Facebook/Instagram simultanément
- **Publication immédiate ou programmée** : Planifiez pour plus tard ou publiez maintenant
---
### 🖼️ Éditeur d'Images Intégré
Retouchez vos visuels sans quitter l'application.
- **Textes & annotations** : Ajout de titres, légendes, watermarks
- **Overlays** : Superposition de logos et éléments graphiques
- **Recadrage intelligent** : Optimisé pour les formats réseaux sociaux
- **Export direct** : Réutilisation immédiate dans vos posts et Reels
---
### 📅 Planification & Calendrier
Organisez votre stratégie de contenu sur semaines et mois.
- **Vue calendrier** : Visualisez toutes vos publications planifiées
- **Vue liste** : Accès chronologique avec filtres
- **Drag & Drop** : Réorganisez les dates de publication en les déplaçant
- **Publication automatique** : Le scheduler publie automatiquement aux horaires prévus
- **Édition en ligne** : Modifiez les posts planifiés directement
---
### 📈 Analytics & Statistiques
Suivez la croissance de vos pages avec des données actualisées automatiquement.
- **4 métriques clés** : Abonnés, Portée (impressions uniques), Engagement, Vues de page
- **Graphique d'évolution** : Courbe de croissance jour par jour
- **Tendances** : Comparaison avec la période précédente (variation en %)
- **Synchronisation automatique** : CRON bi-quotidien (8h & 20h), une entrée par jour
- **Connexion Graph API** : Données directes depuis Facebook
---
### 📱 Mobile First
L'application est conçue pour fonctionner aussi bien sur mobile que sur desktop.
- **Interface adaptative** : Chaque page possède sa version mobile dédiée
- **Création mobile** : Posts, Reels, et planification accessibles depuis le téléphone
- **Caméra intégrée** : Enregistrement photo/vidéo via la webcam du téléphone
- **Gestion complète** : Pages, analytics, médias, et paramètres depuis n'importe quel écran
---
### �️ Sécurité & Administration
Architecture Production-Ready avec sécurité renforcée.
| Fonctionnalité | Détail |
| ------------------------------- | ---------------------------------------------------- |
| **Authentification** | Passport.js + bcrypt, sessions PostgreSQL |
| **Rate Limiting** | 100 req/15min global, 5 tentatives login/15min |
| **Headers de sécurité** | Helmet (CSP, HSTS, XSS protection) |
| **Chiffrement des tokens** | Tokens Facebook/Instagram chiffrés (AES-256) |
| **Gestion multi-utilisateurs** | Rôles Admin / User, permissions par page |
| **Console SQL** | Requêtes directes en base (admin uniquement) |
| **Auto-healing tokens** | Détection et renouvellement automatique des tokens |
| **CRON jobs** | Vérification quotidienne des tokens + analytics |
---
## 🏗️ Architecture Technique
```
socialflow/
├── client/ # Frontend React (Vite + TailwindCSS)
│ └── src/
│ ├── pages/ # 17 pages desktop + 13 pages mobile
│ ├── components/ # 47 composants UI (Radix/shadcn)
│ └── hooks/ # Hooks React personnalisés
├── server/ # Backend Express.js (TypeScript)
│ ├── routes.ts # 45+ endpoints REST API
│ ├── routes/ # Routes modulaires (analytics, reels)
│ ├── services/ # 12 services métier
│ │ ├── analytics.ts # Sync Facebook Graph API
│ │ ├── facebook.ts # Publication Facebook/Instagram
│ │ ├── openrouter.ts # Génération texte IA
│ │ ├── cloudinary.ts # Upload cloud médias
│ │ ├── ffmpeg.ts # Encodage vidéo (microservice)
│ │ ├── freesound.ts # Musique libre de droits
│ │ ├── jamendo.ts # Musique libre de droits
│ │ ├── imageProcessor.ts # Traitement images (Sharp)
│ │ ├── scheduler.ts # Publications programmées
│ │ └── token_manager.ts # Gestion tokens OAuth
│ └── cron.ts # Tâches planifiées
├── shared/ # Schéma DB partagé (Drizzle ORM)
├── ffmpeg-service/ # Microservice FFmpeg (Python/FastAPI)
├── docker-compose.yml # Stack Docker (3 services)
└── Dockerfile # Image production Node.js
```
### Stack Technique
| Couche | Technologies |
| ---------- | --------------------------------------------------------------------------- |
| **Frontend** | React 18, Vite, TailwindCSS, Radix UI, Recharts, Framer Motion, Wouter |
| **Backend** | Express.js, TypeScript, Passport.js, Helmet, node-cron |
| **BDD** | PostgreSQL 16, Drizzle ORM, connect-pg-simple (sessions) |
| **IA** | OpenRouter (multi-modèle : GPT-4, Claude, Gemini, etc.) |
| **Médias** | Cloudinary (upload), Sharp (images), FFmpeg microservice (vidéo) |
| **Musique** | FreeSound API, Jamendo API |
| **Réseaux** | Facebook Graph API v19 (Pages, Instagram, Insights) |
| **Infra** | Docker Compose, Nginx reverse proxy |
---
## 🚀 Installation Rapide
### Prérequis
- [Docker](https://www.docker.com/) & Docker Compose
- [Node.js](https://nodejs.org/) v18+ (pour le développement local)
### 1. Récupérer l'application
```bash
git clone https://github.com/R0m1k3/Socialflow.git
cd socialflow
```
### 2. Configurer l'environnement
```bash
cp .env.example .env
# Éditez .env avec vos clés API
```
Variables essentielles :
```env
# Base de données
DATABASE_URL=postgresql://socialflow:changeme@postgres:4523/socialflow
# Session (OBLIGATOIRE en production) — openssl rand -hex 32
SESSION_SECRET=votre-cle-secrete-ici
ENCRYPTION_KEY=votre-cle-chiffrement-32-bytes
# IA — https://openrouter.ai/
OPENROUTER_API_KEY=votre-cle-openrouter
# Réseaux Sociaux (optionnel, configurable depuis les Paramètres)
FACEBOOK_APP_ID=...
FACEBOOK_APP_SECRET=...
```
### 3. Lancer
```bash
# Production (Docker)
docker-compose up -d
# Développement local
npm install
npm run dev
```
🚀 Rendez-vous sur **`http://localhost:5555`** pour commencer !
> **Premier lancement** : Un compte admin est créé automatiquement (`admin` / `admin`). Changez le mot de passe immédiatement dans les Paramètres.
---
## 📖 Documentation Détaillée
Consultez le [Guide d'Installation Complet](INSTALLATION.md) pour :
- Configuration Nginx reverse proxy
- Certificats SSL (Let's Encrypt)
- Configuration Cloudinary et FreeSound
- Mise à jour et sauvegardes
---
*Fait avec ❤️ pour les créateurs de contenu.*
@@ -0,0 +1,314 @@
---
stepsCompleted: [1, 2, 3, 4, 5, 6]
inputDocuments:
- _bmad-output/planning-artifacts/prd.md
- package.json
- shared/schema.ts
workflowType: 'architecture'
project_name: 'Socialflow'
user_name: 'Michael'
date: '2026-01-20'
---
# Architecture Decision Document
_This document builds collaboratively through step-by-step discovery. Sections are appended as we work through each architectural decision together._
## Project Context Analysis
### Requirements Overview
**Functional Requirements:**
Le système doit évoluer pour intégrer deux modules critiques :
1. **Gestion des Tokens (Critique)** : Un système robuste de renouvellement automatique des tokens Facebook Page est nécessaire pour éviter les interruptions de service (expiration ~60 jours).
2. **Analytics & Recommandations** : Un nouveau sous-système pour ingérer, stocker et analyser les métriques Facebook (Insights API) et fournir des recommandations simples (règles métier).
**Non-Functional Requirements:**
- **Fiabilité** : Le job de renouvellement de token est le point de défaillance unique (SPOF) à sécuriser absolument.
- **Isolation des données** : L'architecture multi-tenant actuelle doit être strictement appliquée aux nouvelles données analytiques.
- **Performance** : Les dashboards doivent rester rapides (<2s) malgré l'historisation croissante des données.
**Scale & Complexity:**
- **Primary domain**: Web App B2B (Social Media Management)
- **Complexity level**: Moyenne (L'authentification OAuth et les APIs tierces ajoutent de la complexité accidentelle).
- **Estimated architectural components**: 3 majeurs (TokenManager, AnalyticsIngestor, RecommendationEngine).
### Technical Constraints & Dependencies
- **Facebook Graph API** : Dépendance forte. Besoin de gérer les rate limits et les erreurs transitoires.
- **Drizzle ORM** : Le schéma doit être étendu pour supporter les nouvelles métriques sans casser l'existant.
- **Architecture existante** : On ne réécrit pas, on étend. Les nouveaux services doivent s'intégrer dans le pattern Service/Controller existant.
### Cross-Cutting Concerns Identified
- **Gestion des erreurs et Retries** : Critique pour les appels API Facebook.
- **Logging & Monitoring** : Essentiel pour savoir si le renouvellement de token a échoué silencieusement.
- **Sécurité des Credentials** : Stockage sécurisé des tokens (chiffrement au repos recommandé par NFRs).
## Starter Template Evaluation (Brownfield Context)
**Project Status:** Brownfield (Existing Codebase)
**Decision:** Keep existing stack. No new starter template needed.
### Existing Architecture Stack
**Primary Technology Domain:** Full-Stack Web Application (Node.js/React)
**Architectural Decisions Already in Place:**
**Language & Runtime:**
- **Runtime:** Node.js
- **Language:** TypeScript (Strict mode)
**Frontend Stack:**
- **Framework:** React 18
- **Build Tool:** Vite
- **Routing:** Wouter (Client-side)
- **State Management:** TanStack Query (React Query)
- **Styling:** Radix UI + Tailwind CSS
**Backend Stack:**
- **Server:** Express.js
- **Database:** PostgreSQL
- **ORM:** Drizzle ORM
- **Auth:** Passport.js (Session based)
**Infrastructure:**
- **Deployment:** Docker (Containerized)
- **Media Storage:** Cloudinary
**Decision:** The new features (Analytics, Token Automations) will simply extend this existing mature architecture. No migration required.
## Core Architectural Decisions
### Decision Priority Analysis
**Critical Decisions (Block Implementation):**
1. **Token Refresh Strategy**: Must be automated and robust (SPOF).
2. **Analytics Schema Design**: Must support efficiently querying historical data.
3. **Job Scheduling**: How to reliable trigger daily tasks in this stack.
**Important Decisions (Shape Architecture):**
1. **Facebook Service Refactoring**: Split monolithic service vs maintain as is.
2. **Recommendation Engine Logic**: Hardcoded heuristics vs External AI.
### Data Architecture
**Schema Extensions (Drizzle ORM):**
- **New Tables**:
- `postAnalytics`: Stockage des snapshots de métriques (impressions, clicks, etc.) liés à `posts`.
- `pageAnalyticsHistory`: Snapshots journaliers des followers par page.
- **Modifications**:
- `socialPages`: Ajout de champs de statut (`tokenStatus`, `lastTokenCheck`).
- **Migration Strategy**: Drizzle Kit (`drizzle-kit push` ou migration files).
### Authentication & Security
**Token Management:**
- **Encryption**: Les tokens sont sensibles.
- _Décision_: Chiffrement au repos via une utilité `encrypt/decrypt` (AES-256) avant insertion en DB, transparent pour le service applicatif.
- **Refresh Mechanism**:
- _Décision_: Utilisation d'un endpoint API dédié sécurisé (`/api/cron/refresh-tokens`) appelé par un CRON externe (type GitHub Actions ou service d'hébergement) ou un scheduler in-process (type `node-cron`) si déploiement persistant.
- _Choix Brownfield_: `node-cron` pour simplicité du déploiement Docker unique actuel.
### API & Communication Patterns
**Facebook Integration:**
- **Service Layer**:
- Création de `AnalyticsService.ts` séparé de `FacebookService.ts` pour éviter le God Object.
- Abstraction commune `GraphAPIClient` pour gérer les appels HTTP, rate limits et erreurs.
- **Frontend-Backend**:
- Nouveau routeur `analytics.routes.ts`.
- Cache: React Query sur le frontend (staleTime 5min) pour éviter le spam F5 sur les analytics.
### Infrastructure & Deployment
**Job Scheduling (CRON):**
- **Pattern**: In-process scheduling via `node-cron`.
- _Avantage_: Pas de nouvelle infrastructure requise.
- _Inconvénient_: Si le serveur redémarre, le job peut sauter un tour (acceptable pour un refresh journalier avec marge de 7 jours).
### Decision Impact Analysis
**Implementation Sequence:**
1. **Schema Update**: Créer les tables Analytics et mettre à jour SocialPages.
2. **Token Manager**: Implémenter le chiffrement et le service de renouvellement.
3. **Cron Job**: Configurer `node-cron` pour le check quotidien.
4. **Analytics Ingestion**: Service pour puller les data de FB vers DB.
5. **Analytics API**: Exposer les données au front.
6. **UI**: Dashboard Analytics.
## Implementation Patterns & Consistency Rules
### Pattern Categories Defined
**Critical Conflict Points Identified:**
- **Naming**: Drizzle (snake_case DB) vs API (camelCase JSON).
- **Service Structure**: Business Logic placement (Controller vs Service).
- **Error Handling**: Silent fails in Cron Jobs vs User Feedback in UI.
### Naming Patterns
**Database Naming Conventions (Drizzle):**
- **Tables**: `snake_case` plural (ex: `post_analytics`)
- **Columns**: `snake_case` (ex: `followers_count`)
- **Foreign Keys**: `snake_case` ending with `_id` (ex: `page_id`)
**API Naming Conventions (REST):**
- **Endpoints**: Kebab-case plural resources (ex: `/api/analytics/posts-insights`)
- **JSON Props**: `camelCase` (ex: `followersCount` - necessitates transformation from DB snake_case)
**Code Naming Conventions:**
- **Services**: `TopicService.ts` containing class `TopicService`
- **Interfaces**: PascalCase, generally not prefixed with 'I' in TS modern patterns (ex: `FacebookInsight`)
### Structure Patterns
**Project Organization:**
- **Services**: `server/services/*.ts` - Business logic enabling re-use.
- **Routes**: `server/routes.ts` - HTTP handlers, params validation, calling services.
- **Schema**: `shared/schema.ts` - Centralized Drizzle schema & Zod types.
### Communication Patterns
**Async Jobs (Cron):**
- **Logging**: All cron jobs MUST log start/finish/error with timestamp.
- **State**: Jobs extending `socialPages` status must update `last_token_check` timestamp.
### Process Patterns
**Error Handling:**
- **External APIs (FB/IG)**:
- Never crash the server on API failure.
- Wrap calls in try/catch.
- Throw typed application errors (`FacebookApiError`) for upstream handling.
**Enforcement Guidelines:**
**All AI Agents MUST:**
1. Use `db.insert(...).returning()` pattern for creations.
2. Use Zod schemas from `shared/schema.ts` for validation.
3. Encrypt sensitive tokens before saving using `encrypt()` utility.
## Project Structure & Boundaries
### Complete Project Directory Structure
```
Socialflow/
├── package.json
├── tsconfig.json
├── server/
│ ├── index.ts # App entry point
│ ├── routes.ts # Main router (delegates to sub-routers)
│ ├── services/
│ │ ├── facebook.ts # Legacy Facebook service
│ │ ├── analytics.ts # [NEW] Analytics logic (fetch insights)
│ │ ├── token_manager.ts # [NEW] Token encryption & refresh logic
│ │ └── recommendation.ts # [NEW] Recommendation engine
│ └── routes/
│ └── analytics.routes.ts # [NEW] Analytics specific endpoints
├── client/src/
│ ├── App.tsx # Main frontend component
│ ├── pages/
│ │ ├── Dashboard.tsx # Existing Dashboard
│ │ └── analytics/ # [NEW] Analytics Section
│ │ └── AnalyticsPage.tsx
│ ├── components/
│ │ ├── analytics/ # [NEW] Shared Analytics Components
│ │ │ ├── StatCard.tsx
│ │ │ ├── FollowersChart.tsx
│ │ │ └── PostsTable.tsx
│ │ └── ui/ # Existing UI components (Radix)
│ └── lib/
│ ├── api.ts # API client
│ └── queryClient.ts # React Query config
├── shared/
│ └── schema.ts # Drizzle Schema & Zod Types
└── migrations/ # Drizzle migrations
```
### Architectural Boundaries
**API Boundaries:**
- **Endpoints**: `/api/analytics/*` (Protected by `requireAuth`)
- **Internal Services**: Services communicate securely; `AnalyticsService` calls `FacebookService` only if necessary, prefers direct API calls via `GraphClient`.
**Component Boundaries:**
- **Frontend**: `AnalyticsPage` is the orchestrator. Contains `StatCard`, `Charts`.
- **State**: React Query manages server state (caching insights). Local state for UI filters (date range).
### Requirements to Structure Mapping
**Feature/Epic Mapping:**
**Analytics Module**:
- Backend: `server/services/analytics.ts` + `server/routes/analytics.routes.ts`
- Frontend: `client/src/pages/analytics/`
- Data: `post_analytics`, `page_analytics_history` (in `schema.ts`)
**Token Management Module**:
- Service: `server/services/token_manager.ts`
- Job: `server/jobs/token_refresh_job.ts` (Scheduled via node-cron in `server/index.ts`)
- Data: `social_pages` (extended fields)
### Integration Points
**External Integrations:**
- **Facebook Graph API**: Accessed via `server/utils/graph_client.ts` (to be created for standardized access).
- **Cron System**: `node-cron` initialized in `server/index.ts` triggers `TokenManager.checkAndRefreshTokens()`.
## Architecture Validation Results
### Coherence Validation ✅
- **Pattern Consistency**: The service-based architecture aligns with the existing Express/Drizzle stack.
- **Structure Alignment**: New `analytics.ts` and `token_manager.ts` fit naturally into `server/services`.
### Requirements Coverage Validation ✅
- **Critical (Token Refresh)**: Covered by `TokenManager.checkAndRefreshTokens()` + encryption.
- **Critical (Analytics)**: Covered by new schema + `AnalyticsService`.
- **Security**: Encryption at rest addresses strict NFRs.
### Architecture Readiness Assessment
**Overall Status:** READY FOR IMPLEMENTATION
**Confidence Level:** High
### Implementation Handoff
**AI Agent Guidelines:**
- Strictly follow `camelCase` for JSON and `snake_case` for DB.
- Use `Zod` schemas for all validation.
- **Do not bypass** the encryption utility for token storage.
**First Implementation Priority:**
Initialize modules: `npx drizzle-kit push` (after schema update) -> `TokenManager` setup.
@@ -0,0 +1,46 @@
# Workflow Status Template
# This tracks progress through BMM methodology Analysis, Planning, and Solutioning phases.
# Implementation phase is tracked separately in sprint-status.yaml
# STATUS DEFINITIONS:
# ==================
# Initial Status (before completion):
# - required: Must be completed to progress
# - optional: Can be completed but not required
# - recommended: Strongly suggested but not required
# - conditional: Required only if certain conditions met (e.g., if_has_ui)
#
# Completion Status:
# - {file-path}: File created/found (e.g., "docs/product-brief.md")
# - skipped: Optional/conditional workflow that was skipped
generated: "2026-01-23T08:20:00Z"
project: "Socialflow"
project_type: "brownfield"
selected_track: "bmad-method"
field_type: "brownfield"
workflow_path: "_bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml"
workflow_status:
- id: "document-project"
status: "skipped"
- id: "brainstorm-project"
status: "skipped"
- id: "research"
status: "skipped"
- id: "product-brief"
status: "skipped"
- id: "prd"
status: "{planning_artifacts}/prd.md"
- id: "create-ux-design"
status: "conditional"
- id: "create-architecture"
status: "{planning_artifacts}/architecture.md"
- id: "create-epics-and-stories"
status: "required"
- id: "test-design"
status: "optional"
- id: "implementation-readiness"
status: "required"
- id: "sprint-planning"
status: "required"
+755
View File
@@ -0,0 +1,755 @@
---
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
inputDocuments:
- package.json (stack technique)
- shared/schema.ts (modèle de données)
- server/services/facebook.ts (service Facebook existant)
workflowType: 'prd'
lastStep: 11
scope: 'Dashboard Analytics Facebook (Recommandations) + Gestion Tokens Automatique'
projectType: 'brownfield'
documentCounts:
briefs: 0
research: 0
projectDocs: 3
---
# Product Requirements Document - Socialflow
**Author:** Michael
**Date:** 2026-01-20
---
## Executive Summary
**Socialflow** est une application de gestion de réseaux sociaux permettant de publier du contenu sur Facebook (Feed et Stories) avec génération de texte par IA, planification, et gestion multi-utilisateurs.
Ce PRD définit **deux évolutions majeures** pour étendre les capacités de la plateforme :
### 1. Dashboard Analytics Facebook
Tableau de bord complet présentant les performances des publications avec :
- **Métriques clés** : Followers, Reach, Engagement, Clics
- **Historisation des données** : Suivi de l'évolution dans le temps
- **Analyse intelligente** : Recommandations IA sur les meilleurs types de posts, justifiées par les données collectées
- **Vue par page** : Statistiques globales agrégées par page Facebook
### 2. Support Instagram
Extension de Socialflow pour publier sur Instagram depuis la même interface :
- **Récupération du token Instagram** : Déblocage de l'accès API via Instagram Graph API
- **Types de contenu** : Feed (photos/vidéos), Stories, Reels
- **Vision unifiée** : Gérer Facebook et Instagram depuis un seul endroit
### What Makes This Special
**La valeur différenciante de ces évolutions :**
1. **Data-Driven Insights** : Les recommandations IA ne sont pas des suppositions - elles sont **justifiées par les données réelles** de performance (likes, commentaires, reach).
2. **Le moment "Aha!"** : Voir en un coup d'œil les **réactions sur chaque post** (likes, commentaires) et comprendre ce qui fonctionne.
3. **Vision Unifiée** : Une seule plateforme pour gérer **Facebook ET Instagram** - plus besoin de jongler entre plusieurs outils.
---
## Project Classification
| Critère | Valeur |
|---------|--------|
| **Technical Type** | `web_app` + `saas_b2b` |
| **Domain** | Social Media Management |
| **Complexity** | Moyenne |
| **Project Context** | Brownfield - extension du système existant |
### Implications techniques
- **APIs externes** : Facebook Graph API (Insights) + Instagram Graph API
- **Stockage** : Nouvelles tables pour historiser les métriques
- **IA** : Réutilisation possible d'OpenRouter pour les recommandations
- **Architecture** : Extension des services existants, pas de refonte
---
## Success Criteria
### User Success
| Critère | Description |
|---------|-------------|
| **Lisibilité** | Dashboard facile à lire avec les informations importantes clairement visibles |
| **Informations actionnables** | L'utilisateur comprend immédiatement comment améliorer ses publications |
| **Publication unifiée** | Publier sur Instagram ET Facebook en un seul clic |
| **Gain de temps perçu** | L'utilisateur ressent que l'application lui fait gagner du temps |
**Aha! Moments :**
- Découvrir quel type de post fonctionne le mieux grâce aux insights
- Réussir sa première publication simultanée Facebook + Instagram
### Business Success
| Horizon | Objectif |
|---------|----------|
| **3 mois** | Fonctionnalités déployées et utilisées (metrics à définir post-lancement) |
| **Métrique clé** | Nombre de posts publiés (indicateur d'adoption) |
### Technical Success
| Critère | Cible |
|---------|-------|
| **Intégration Facebook Insights** | API fonctionnelle, données récupérées correctement |
| **Intégration Instagram Graph API** | Token récupéré, publications Feed/Stories/Reels opérationnelles |
| **Historisation** | Données stockées et requêtables pour analyse |
| **Performance** | Dashboard charge en < 3 secondes |
### Measurable Outcomes
- ✅ Les utilisateurs peuvent voir les stats de leurs posts (likes, commentaires, reach)
- ✅ Les recommandations IA sont basées sur des données réelles
- ✅ Publication Instagram fonctionne (Feed, Stories, Reels)
- ✅ Vision unifiée : une seule interface pour gérer les deux plateformes
---
## Product Scope
### MVP - Minimum Viable Product
**Dashboard Analytics :**
- Affichage des métriques par page (followers, reach, engagement)
- Historique des performances sur 30 jours
- Liste des posts avec leurs réactions (likes, commentaires)
**Instagram :**
- Récupération automatique du token Instagram Business
- Publication sur le Feed Instagram (photos/vidéos)
- Publication de Stories Instagram
### Growth Features (Post-MVP)
- Recommandations IA ("Vos photos fonctionnent mieux le mardi")
- Comparaison de performance entre posts
- Publication de Reels Instagram
- Analytics Instagram (en plus de Facebook)
### Vision (Future)
- Rapport PDF automatique des performances
- Suggestions automatiques de contenu basées sur les tendances
- Support d'autres plateformes (TikTok, LinkedIn, X)
- Planification intelligente basée sur les meilleurs horaires
---
## User Journeys
### Journey 1 : Sophie Durand - La Community Manager Débordée
**Profil :** Sophie, 28 ans, community manager dans une agence web. Elle gère les réseaux sociaux de 5 clients différents.
**Sa douleur :** Sophie passe ses lundis matin à compiler des rapports Excel pour chaque client, copiant manuellement les statistiques depuis Facebook. Elle doit ensuite publier le même contenu sur Facebook ET Instagram séparément, ce qui double son temps de travail. "Je fais plus de copier-coller que de créatif", soupire-t-elle.
**Son parcours avec Socialflow :**
Un mardi matin, Sophie ouvre Socialflow pour préparer les publications de la semaine. Elle clique sur le nouveau **Dashboard Analytics** et découvre immédiatement que les posts photos de son client "Boulangerie Martin" génèrent 3x plus d'engagement que les posts texte.
Elle décide de créer un nouveau post avec une belle photo de croissants. En quelques clics, elle rédige le texte, sélectionne l'image, puis aperçoit une **nouvelle option** : publier sur **Facebook ET Instagram** simultanément. Un seul clic, et le post est programmé sur les deux plateformes.
**Le moment de victoire :** Le vendredi, Sophie génère son rapport client en 2 minutes au lieu de 30. Les graphiques montrent clairement l'évolution des followers et l'engagement. Son client est impressionné par la clarté des données. Sophie rentre chez elle à 18h au lieu de 20h.
**Capabilities révélées :**
- Dashboard Analytics avec vue par page
- Historique des performances
- Publication multi-plateforme (FB + IG) en un clic
- Visualisation claire des types de posts performants
---
### Journey 2 : Marc Lefebvre - Le Gérant de Commerce Local
**Profil :** Marc, 45 ans, propriétaire d'une boutique de vélos. Il gère lui-même sa page Facebook mais n'a jamais osé Instagram.
**Sa douleur :** Marc publie "quand il y pense" sur Facebook, sans vraie stratégie. Il ne sait pas ce qui fonctionne. Instagram lui fait peur : "C'est pour les jeunes, je ne sais pas comment ça marche."
**Son parcours avec Socialflow :**
Marc se connecte à Socialflow un dimanche soir tranquille. Il découvre le **Dashboard** et voit que ses photos de vélos restaurés ont beaucoup plus de likes que ses posts promotionnels. "Ah, les gens aiment voir mon travail !"
Encouragé, il décide de poster une photo de sa dernière restauration. Socialflow lui propose de publier aussi sur Instagram. Hésitant, il clique sur "Connecter Instagram". Le système détecte automatiquement son compte Instagram professionnel lié à sa page Facebook. **En 30 secondes, c'est configuré.**
Il publie sa photo sur les deux plateformes. Le lendemain, il reçoit 3 messages de clients potentiels via Instagram - des gens qui ne l'auraient jamais trouvé sur Facebook.
**Le moment de victoire :** Marc regarde ses stats un mois plus tard. +150 followers Instagram, +40% d'engagement sur ses posts "restauration". Il comprend maintenant que montrer son expertise attire plus de clients que les promotions.
**Capabilities révélées :**
- Configuration Instagram simplifiée (auto-détection du compte lié)
- Insights sur les types de contenus performants
- Publication simultanée pour les non-technophiles
- Suivi de l'évolution des followers
---
### Journey 3 : Admin Système - Configuration Multi-Utilisateurs
**Profil :** Thomas, administrateur Socialflow dans l'agence de Sophie.
**Sa douleur :** Gérer les accès de 10 community managers à 30 pages clients différentes, sans qu'ils voient les données des autres clients.
**Son parcours avec Socialflow :**
Thomas reçoit une demande : "Sophie doit maintenant gérer le client Instagram BioMarché." Il se connecte en admin, va dans les paramètres utilisateurs, et assigne la page BioMarché (Facebook + Instagram) à Sophie.
Sophie voit immédiatement la nouvelle page dans son dashboard, avec l'analytics et la possibilité de publier. Elle n'a accès qu'aux pages qui lui sont assignées.
Quand un stagiaire quitte l'agence, Thomas retire ses accès en 2 clics. Sécurité maintenue.
**Capabilities révélées :**
- Gestion des permissions par utilisateur
- Assignation de pages (FB + IG) aux utilisateurs
- Isolation des données entre utilisateurs
- Révocation rapide des accès
---
### Journey 4 : Erreur et Récupération - Token Instagram Expiré
**Profil :** Sophie, 3 mois après avoir connecté Instagram.
**Sa douleur :** Son post Instagram échoue avec l'erreur "Token expiré".
**Son parcours :**
Sophie tente de publier sur Instagram mais voit un message d'erreur clair : "🔴 La connexion Instagram a expiré. Reconnectez en 1 clic."
Elle clique sur "Reconnecter", est redirigée vers Facebook pour réautoriser, et revient sur Socialflow. Le système confirme : "✅ Instagram reconnecté". Elle relance sa publication qui passe sans problème.
**Le moment de soulagement :** Pas besoin d'appeler le support. L'erreur était claire, la solution évidente.
**Capabilities révélées :**
- Messages d'erreur explicites et actionnables
- Reconnexion OAuth simplifiée
- Gestion gracieuse des tokens expirés
---
### Journey Requirements Summary
| Capability | Journeys |
|------------|----------|
| Dashboard Analytics | Sophie, Marc |
| Publication multi-plateforme | (Reporté en Phase 2) |
| Configuration Instagram auto | (Reporté en Phase 2) |
| Insights & Recommandations FB | Sophie |
| Gestion permissions | Admin |
| Gestion erreurs token | Erreur/Récupération |
| Historique followers | Sophie |
---
## Web App + SaaS B2B Specific Requirements
### Project-Type Overview
Socialflow est une **application web SPA (Single Page Application)** construite avec React et Vite, exposant une API REST Express.js. L'architecture existante est maintenue pour les nouvelles fonctionnalités.
**Caractéristiques confirmées :**
- ✅ SPA React conservée
- ✅ Pas de temps réel requis (polling acceptable pour les stats)
- ✅ Multi-tenant existant suffisant
- ✅ Intégrations limitées à Facebook/Instagram/Cloudinary/OpenRouter
### Technical Architecture Considerations
#### Frontend (Existant - Extension)
| Aspect | Spécification |
|--------|---------------|
| Framework | React 18 avec Vite |
| Routing | Wouter (client-side) |
| State | TanStack Query (React Query) |
| UI | Radix UI + Tailwind CSS |
| Charts | Recharts (pour le dashboard analytics) |
**Nouvelles pages à créer :**
- `/analytics` - Dashboard des statistiques
- Extension de `/settings` - Configuration Instagram
#### Backend (Existant - Extension)
| Aspect | Spécification |
|--------|---------------|
| Runtime | Node.js avec Express |
| ORM | Drizzle ORM |
| Base de données | PostgreSQL |
| Auth | Passport.js (sessions) |
| Déploiement | Docker |
**Nouveaux services à créer :**
- `AnalyticsService` - Récupération des insights Facebook
- `InstagramService` - Publication sur Instagram via Graph API
#### Nouvelles Tables de Données
```sql
-- Statistiques par post
CREATE TABLE post_analytics (
id UUID PRIMARY KEY,
post_id UUID REFERENCES posts(id),
impressions INTEGER,
reach INTEGER,
engagement INTEGER,
reactions_count INTEGER,
comments_count INTEGER,
clicks INTEGER,
fetched_at TIMESTAMP
);
-- Historique followers par page
CREATE TABLE page_analytics_history (
id UUID PRIMARY KEY,
page_id UUID REFERENCES social_pages(id),
followers_count INTEGER,
recorded_at TIMESTAMP
);
-- Comptes Instagram liés
CREATE TABLE instagram_accounts (
id UUID PRIMARY KEY,
page_id UUID REFERENCES social_pages(id),
instagram_business_id TEXT,
access_token TEXT,
token_expires_at TIMESTAMP
);
```
### API Integration Requirements
#### Facebook Graph API - Insights
| Endpoint | Données récupérées |
|----------|-------------------|
| `/{page-id}?fields=followers_count` | Nombre de followers |
| `/{post-id}/insights` | Impressions, reach, engagement |
| `/{post-id}/reactions` | Nombre de réactions par type |
| `/{post-id}/comments` | Nombre de commentaires |
**Permissions requises :** `pages_read_engagement`, `read_insights`
#### Instagram Graph API
| Endpoint | Action |
|----------|--------|
| `/{page-id}?fields=instagram_business_account` | Récupérer l'ID Instagram lié |
| `/{ig-id}/media` | Créer un post (step 1) |
| `/{ig-id}/media_publish` | Publier le post (step 2) |
| `/{ig-id}/stories` | Publier une story |
**Permissions requises :** `instagram_basic`, `instagram_content_publish`
### Implementation Considerations
#### Priorité d'implémentation
1. **Phase 1 - Instagram Token** : Récupération automatique de l'Instagram Business Account ID
2. **Phase 2 - Publication Instagram** : Feed et Stories
3. **Phase 3 - Analytics Facebook** : Dashboard avec métriques
4. **Phase 4 - Historisation** : Stockage et graphiques d'évolution
#### Points d'attention
- **Rate Limits** : Facebook impose des limites d'appels API (à monitorer)
- **Token Refresh** : Les tokens expirent, prévoir le renouvellement automatique
- **Rétrocompatibilité** : Les nouvelles features ne doivent pas casser l'existant
---
## Project Scoping & Phased Development
### MVP Strategy & Philosophy
**Approche choisie :** Problem-Solving MVP
- Résoudre le problème core avec le minimum de features
- Focus sur la valeur utilisateur immédiate
- Itérer rapidement basé sur le feedback
**Timeline :** Flexible (estimation 4-6 semaines)
**Équipe requise :** 1 développeur full-stack
### MVP Feature Set (Phase 1)
**Philosophie :** Focus total sur la fiabilité (Tokens) et la valeur ajoutée (Analytics + Recommandations). La publication Instagram est reportée.
#### Module 1 : Gestion des Tokens (Fondation Critique)
| Feature | Priorité | Effort |
|---------|----------|--------|
| Récupération & Stockage Token Facebook | 🔥 Critique | 2h |
| **Renouvellement automatique Token Facebook** | 🔥 Critique | 4h |
| Détection expiration & UI reconnexion | 🔥 Critique | 3h |
| Notification email "Token Expiré" | ⭐ Important | 2h |
> ⚠️ **Point critique** : Les tokens Facebook Page expirent (~60 jours). L'automatisation du renouvellement est la clé de la fiabilité.
#### Module 2 : Dashboard Analytics & Recommandations
| Feature | Priorité | Effort |
|---------|----------|--------|
| Récupération métriques posts (API Insights) | 🔥 Critique | 4h |
| Affichage KPIs globaux (Reach, Engagement) | 🔥 Critique | 3h |
| Historisation quotidienne des Followers | ⭐ Important | 3h |
| **Moteur de Recommandations (Basique)** | 🔥 Critique | 4h |
| *Ex: "Publiez des Vidéos le Mardi"* | | |
> **Note sur les Recommandations** : Analyse simple basée sur l'historique (ex: Top 3 formats, Top 3 horaires).
### Post-MVP Features (Phase 2)
| Feature | Description |
|---------|-------------|
| **Support Complet Instagram** | Publication Feed/Stories & Analytics |
| Publication multi-plateforme | Unification FB + IG |
| Recommandations IA avancées | Analyse sémantique du contenu |
| Rapport PDF | Export automatique |
### Phase 3 (Vision Future)
- Support TikTok, LinkedIn
- Planification intelligente auto
- Multi-comptes à grande échelle
### Risk Mitigation Strategy
#### Risques Techniques
| Risque | Impact | Mitigation |
|--------|--------|------------|
| Token expiration non détectée | 🔴 Haut | CRON job de vérification quotidien + alertes |
| Rate limits Facebook/Instagram | 🟡 Moyen | Cache des données, throttling des requêtes |
| API Instagram change | 🟡 Moyen | Abstraction du service, logs détaillés |
#### Risques Fonctionnels
| Risque | Impact | Mitigation |
|--------|--------|------------|
| Instagram non lié à la page FB | 🔴 Haut | Message clair + guide de configuration |
| Permissions insuffisantes | 🟡 Moyen | Vérification des permissions au login |
### Token Renewal Strategy (Critique)
**Workflow de renouvellement automatique :**
1. **CRON Job quotidien** (3h du matin)
2. Pour chaque page stockée :
- Vérifier `token_expires_at`
- Si expiration < 7 jours → renouveler via `/oauth/access_token?grant_type=fb_exchange_token`
- Mettre à jour le token en base
3. Si renouvellement échoue :
- Marquer la page comme `token_expired`
- Afficher alerte dans l'UI
---
## Functional Requirements
### Gestion des Tokens & Authentification
- **FR1** : Le système peut stocker de manière sécurisée les tokens d'accès Facebook Page
- **FR2** : Le système peut renouveler automatiquement les tokens Facebook avant leur expiration (CRON)
- **FR3** : Le système peut détecter quand un token Facebook est devenu invalide
- **FR4** : L'utilisateur est notifié (UI/Email) lorsqu'une reconnexion manuelle Facebook est requise
### Dashboard Analytics & Recommandations
- **FR5** : L'utilisateur peut voir les KPIs globaux de sa page (Followers, Reach hebdo, Engagement)
- **FR6** : L'utilisateur peut voir l'historique d'évolution des followers
- **FR7** : L'utilisateur peut voir la liste des posts avec leurs performances individuelles
- **FR8** : Le système analyse les posts passés pour recommander le **meilleur format** (Vidéo vs Image)
- **FR9** : Le système analyse les posts passés pour recommander le **meilleur jour/heure** (basé sur l'engagement)
- **FR10** : Le système offre des insights textuels simples (ex: "Vos vidéos génèrent 2x plus d'engagement")
### Gestion des Pages
- **FR19** : L'administrateur peut assigner des pages (Facebook + Instagram) à des utilisateurs
- **FR20** : L'utilisateur peut voir uniquement les pages qui lui sont assignées
- **FR21** : L'administrateur peut révoquer l'accès d'un utilisateur à une page
- **FR22** : Le système peut afficher le statut de connexion de chaque page (connectée, token expiré, erreur)
### Publication Facebook (Existant - Confirmation)
- **FR23** : L'utilisateur peut publier du contenu texte sur Facebook
- **FR24** : L'utilisateur peut publier des photos sur le feed Facebook
- **FR25** : L'utilisateur peut publier des vidéos sur le feed Facebook
- **FR26** : L'utilisateur peut publier des stories Facebook
- **FR27** : L'utilisateur peut programmer des publications Facebook
### Gestion des Médias (Existant - Confirmation)
- **FR28** : L'utilisateur peut uploader des médias (images/vidéos) via Cloudinary
- **FR29** : L'utilisateur peut sélectionner des médias depuis la bibliothèque pour les publications
- **FR30** : L'utilisateur peut éditer des images avant publication
---
## Evolution REEL - Amélioration Qualité Vidéo & Musique
### Contexte
Suite à l'implémentation initiale des Reels Facebook, deux axes d'amélioration majeurs ont été identifiés :
1. **Qualité vidéo** : Stabilisation et optimisation pour Facebook
2. **Système musique** : Remplacement de FreeSound par un vrai catalogue musical avec favoris
### Phase 1 : Amélioration Qualité Vidéo & Stabilisation
#### Objectif
Produire des Reels de qualité professionnelle optimisés pour Facebook avec stabilisation avancée et texte style TikTok.
#### Modifications Techniques Implémentées
**1. Stabilisation Vidéo VidStab (2 passes)**
Fichier : `ffmpeg-service/main.py`
| Paramètre | Valeur | Justification |
|-----------|--------|---------------|
| **Pass 1 : Détection** | | |
| `shakiness` | 10 | Sensibilité maximale aux tremblements |
| `accuracy` | 15 | Haute précision d'analyse |
| `stepsize` | 32 | Grande fenêtre de recherche pour gros tremblements |
| **Pass 2 : Transformation** | | |
| `smoothing` | 30 | Lissage lourd pour effet professionnel |
| `relative` | 1 | Transformations relatives au frame précédent |
| `zoom` | 5 | Zoom fixe 5% pour éviter les bords noirs |
| `unsharp` | 5:5:1.0:5:5:0.0 | Netteté renforcée pour compenser le lissage |
**2. Optimisation Encodage Facebook**
| Paramètre | Avant | Après | Raison |
|-----------|-------|-------|--------|
| CRF | 17 | 18 | Sweet spot qualité/taille pour Facebook |
| Level H.264 | *(absent)* | 4.1 | Compatibilité profil High |
| Audio bitrate | 192k | 128k | Standard Facebook |
| Brightness/Contrast | *(absent)* | `eq=brightness=0.05:contrast=1.1` | Rehausse les vidéos ternes |
**3. Texte Style TikTok Karaoke**
Implémentation d'un effet karaoke avec surbrillance mot par mot :
- **Style visuel** :
- Couleur avant : Blanc (`&H00FFFFFF`)
- Couleur highlight : Jaune (`&H0000FFFF`)
- Contour noir épais (3px) pour lisibilité
- Ombre portée pour profondeur
- **Synchronisation** :
- Tags ASS `\kf` (karaoke fill) par mot
- Timing proportionnel à la longueur du mot
- Chunks de 3 mots max pour lisibilité mobile
- **Résultat** : Chaque mot se remplit progressivement de blanc vers jaune au rythme de la voix TTS, exactement comme TikTok.
**Code snippet (main.py:276-362)** :
```python
# ASS Karaoke Style
# PrimaryColour = Yellow (highlighted/spoken)
# SecondaryColour = White (before highlight)
Style: Default,Sans,{font_size},&H0000FFFF,&H00FFFFFF,&H00000000,&H80000000,-1,0,0,0,100,100,0,0,1,3,1,5,50,50,0,1
# Karaoke tags per word
for word in chunk_words:
word_dur_cs = int((len(word) / chunk_chars) * chunk_duration * 100)
karaoke_parts.append(f"{{\\kf{word_dur_cs}}}{sanitized}")
```
#### Résultat Final
**Chaîne de traitement vidéo complète** :
```
[Input Video]
→ VidStab Pass 1 (Analyse tremblements)
→ VidStab Pass 2 (Stabilisation + unsharp)
→ Scale/Crop 1080x1920
→ Brightness/Contrast enhancement
→ Texte Karaoke TikTok (ASS)
→ Encodage H.264 High 4.1, CRF 18
→ Audio AAC 128k
→ [Output Reel Facebook-ready]
```
### Phase 2 : Système Musique Jamendo & Favoris
#### Objectif
Remplacer FreeSound (banque de sons) par Jamendo (vraie musique avec genres) et ajouter un système de favoris utilisateur.
#### Architecture Implémentée
**1. Remplacement FreeSound → Jamendo**
Fichiers modifiés :
- `server/routes/reels.ts` : Import `jamendoService` au lieu de `freeSoundService`
- `server/index.ts` : Configuration Jamendo avec client ID
**Service Jamendo** (`server/services/jamendo.ts`) :
- API : `https://api.jamendo.com/v3.0`
- Format audio : MP3 320kbps
- Genres supportés : pop, rock, electronic, hiphop, jazz, classical, ambient, chill, dance, indie
- License : Creative Commons
- Tri : `popularity_total` ou `popularity_week`
**2. Base de Données : Table Favoris**
Nouvelle table `music_favorites` :
```sql
CREATE TABLE music_favorites (
id UUID PRIMARY KEY,
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
track_id TEXT NOT NULL,
title TEXT NOT NULL,
artist TEXT NOT NULL,
album_name TEXT,
duration INTEGER NOT NULL,
preview_url TEXT NOT NULL,
download_url TEXT NOT NULL,
image_url TEXT,
license TEXT,
created_at TIMESTAMP DEFAULT NOW()
);
```
Fichiers modifiés :
- `shared/schema.ts` : Définition table + relations + types TypeScript
- `server/migrate.ts` : Migration automatique
- `server/storage.ts` : 4 nouvelles méthodes CRUD
**3. API Endpoints Favoris**
Routes dans `server/routes/reels.ts` :
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| `/api/music/favorites` | GET | Liste les favoris de l'utilisateur |
| `/api/music/favorites/check/:trackId` | GET | Vérifie si un track est en favori |
| `/api/music/favorites` | POST | Ajoute un track aux favoris |
| `/api/music/favorites/:trackId` | DELETE | Supprime un favori |
**Ordre des routes** (critique pour le routing Express) :
1. `/api/music/search`
2. `/api/music/popular`
3. `/api/music/favorites` ← avant le wildcard
4. `/api/music/favorites/check/:trackId`
5. `/api/music/:trackId` ← wildcard en dernier
**4. Méthodes Storage**
Interface `IStorage` étendue :
```typescript
interface IStorage {
// Music Favorites
getMusicFavorites(userId: string): Promise<MusicFavorite[]>;
addMusicFavorite(favorite: InsertMusicFavorite): Promise<MusicFavorite>;
removeMusicFavorite(userId: string, trackId: string): Promise<void>;
isMusicFavorite(userId: string, trackId: string): Promise<boolean>;
}
```
Implémentation utilise Drizzle ORM avec tri par `createdAt DESC`.
#### Functional Requirements Ajoutés
**Qualité Vidéo :**
- **FR-REEL-1** : Le système doit stabiliser automatiquement les vidéos tremblantes avec VidStab 2-pass
- **FR-REEL-2** : Le système doit optimiser l'encodage vidéo pour Facebook (H.264 High 4.1, CRF 18, 128k audio)
- **FR-REEL-3** : Le système doit rehausser légèrement la luminosité/contraste des vidéos ternes
- **FR-REEL-4** : Le texte doit s'afficher en style karaoke TikTok (highlight mot par mot synchronisé avec TTS)
**Musique & Favoris :**
- **FR-REEL-5** : L'utilisateur peut rechercher de la musique par genre (pop, rock, chill, etc.) via Jamendo
- **FR-REEL-6** : L'utilisateur peut ajouter des tracks Jamendo à ses favoris
- **FR-REEL-7** : L'utilisateur peut voir la liste de ses musiques favorites
- **FR-REEL-8** : L'utilisateur peut supprimer un favori
- **FR-REEL-9** : Le système affiche visuellement si un track est en favori (icône cœur)
- **FR-REEL-10** : Les favoris sont persistés par utilisateur (isolation des données)
#### Non-Functional Requirements
**Performance :**
- **NFR-REEL-1** : La stabilisation 2-pass ne doit pas dépasser 3x la durée de la vidéo
- **NFR-REEL-2** : Les favoris doivent se charger en < 500ms
**Qualité :**
- **NFR-REEL-3** : Les vidéos stabilisées doivent avoir un score de stabilité > 80% (métrique VidStab)
- **NFR-REEL-4** : Le texte karaoke doit être synchronisé avec une précision de ±100ms par mot
**Sécurité :**
- **NFR-REEL-5** : Un utilisateur ne peut accéder qu'à ses propres favoris
- **NFR-REEL-6** : Les URLs de téléchargement Jamendo ne doivent jamais être exposées côté client
#### Impact Utilisateur
**Avant** :
- Vidéos tremblantes
- Musique limitée (sons FreeSound, pas de vraie musique)
- Pas de favoris → recherche répétitive
- Texte basique statique
**Après** :
- Vidéos stables et professionnelles
- Catalogue musical riche (Jamendo) avec genres
- Système de favoris pour retrouver facilement les musiques aimées
- Texte dynamique style TikTok avec effet karaoke
#### Technical Debt & Future Work
**Optimisations futures** :
1. **Cache Jamendo** : Mettre en cache les résultats de recherche (30 min TTL)
2. **UI Favoris** : Implémenter l'interface client (bouton cœur, onglet favoris)
3. **Playlist** : Permettre de créer des playlists de favoris
4. **Recommandations** : Suggérer des musiques basées sur l'historique
**Monitoring** :
- Logs FFmpeg : Durée de stabilisation, taux de succès
- API Jamendo : Rate limits, temps de réponse
- Favoris : Nombre moyen par utilisateur, tracks les plus favoris
---
## Non-Functional Requirements
### Security & Data Protection
- **NFR1 (Token Storage)** : Les tokens d'accès (Facebook/Instagram) doivent être chiffrés au repos dans la base de données.
- **NFR2 (Data Isolation)** : Un utilisateur ne doit jamais pouvoir accéder aux données analytiques d'une page qui ne lui est pas assignée, même via manipulation d'API.
- **NFR3 (Least Privilege)** : L'application ne doit demander que les permissions Facebook/Instagram strictement nécessaires (`pages_read_engagement`, `read_insights`, `instagram_content_publish`).
### Performance & Responsiveness
- **NFR4 (Dashboard Load)** : Le dashboard analytics doit s'afficher en moins de 2 secondes pour une page avec < 1 an d'historique.
- **NFR5 (Async Processing)** : Les opérations longues (publication vidéo, récupération historique massif) doivent être traitées de manière asynchrone sans bloquer l'UI.
- **NFR6 (Feedback)** : L'interface doit fournir un feedback visuel immédiat (< 200ms) lors d'une action utilisateur (ex: clic sur "Publier").
### Reliability & Availability
- **NFR7 (Token Monitor)** : Le processus de vérification des tokens doit s'exécuter quotidiennement avec un taux de succès > 99.9%.
- **NFR8 (Error Recovery)** : En cas d'échec d'un appel API Facebook/Instagram (ex: timeout), le système doit réessayer automatiquement jusqu'à 3 fois avant d'échouer.
- **NFR9 (Data Consistency)** : Les statistiques affichées doivent être synchronisées avec la source (Facebook) au moins une fois toutes les 24h.
### API & Integration Constraints
- **NFR10 (Rate Limiting)** : Le système doit respecter les quotas d'appels des APIs Graph API et gérer les headers `X-Page-Usage` pour éviter le blocage.
- **NFR11 (Deprecation)** : Le code doit utiliser les versions d'API Facebook supportées au moins pour les 12 prochains mois.
+20
View File
@@ -0,0 +1,20 @@
name,displayName,title,icon,role,identity,communicationStyle,principles,module,path
"bmad-master","BMad Master","BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator","🧙","Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator","Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations.","Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability.","- &quot;Load resources at runtime never pre-load, and always present numbered lists for choices.&quot;","core","_bmad/core/agents/bmad-master.md"
"analyst","Mary","Business Analyst","📊","Strategic Business Analyst + Requirements Expert","Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.","Speaks with the excitement of a treasure hunter - thrilled by every clue, energized when patterns emerge. Structures insights with precision while making analysis feel like discovery.","- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces, SWOT analysis, root cause analysis, and competitive intelligence methodologies to uncover what others miss. Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. - Articulate requirements with absolute precision. Ensure all stakeholder voices heard.","bmm","_bmad/bmm/agents/analyst.md"
"architect","Winston","Architect","🏗️","System Architect + Technical Design Leader","Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.","Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos;","- Channel expert lean architecture wisdom: draw upon deep knowledge of distributed systems, cloud patterns, scalability trade-offs, and what actually ships successfully - User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact.","bmm","_bmad/bmm/agents/architect.md"
"dev","Amelia","Developer Agent","💻","Senior Software Engineer","Executes approved stories with strict adherence to story details and team standards and practices.","Ultra-succinct. Speaks in file paths and AC IDs - every statement citable. No fluff, all precision.","- All existing and new tests must pass 100% before story is ready for review - Every task/subtask must be covered by comprehensive unit tests before marking an item complete","bmm","_bmad/bmm/agents/dev.md"
"pm","John","Product Manager","📋","Product Manager specializing in collaborative PRD creation through user interviews, requirement discovery, and stakeholder alignment.","Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights.","Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp, cuts through fluff to what actually matters.","- Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones - PRDs emerge from user interviews, not template filling - discover what users actually need - Ship the smallest thing that validates the assumption - iteration over perfection - Technical feasibility is a constraint, not the driver - user value first","bmm","_bmad/bmm/agents/pm.md"
"qa","Quinn","QA Engineer","🧪","QA Engineer","Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test framework patterns. Simpler, more direct approach than the advanced Test Architect module.","Practical and straightforward. Gets tests written fast without overthinking. &apos;Ship it and iterate&apos; mentality. Focuses on coverage first, optimization later.","Generate API and E2E tests for implemented code Tests should pass on first run","bmm","_bmad/bmm/agents/qa.md"
"quick-flow-solo-dev","Barry","Quick Flow Solo Dev","🚀","Elite Full-Stack Developer + Quick Flow Specialist","Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency.","Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand.","- Planning and execution are two sides of the same coin. - Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn&apos;t.","bmm","_bmad/bmm/agents/quick-flow-solo-dev.md"
"sm","Bob","Scrum Master","🏃","Technical Scrum Master + Story Preparation Specialist","Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.","Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity.","- I strive to be a servant leader and conduct myself accordingly, helping with any task and offering suggestions - I love to talk about Agile process and theory whenever anyone wants to talk about it","bmm","_bmad/bmm/agents/sm.md"
"tech-writer","Paige","Technical Writer","📚","Technical Documentation Specialist + Knowledge Curator","Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.","Patient educator who explains like teaching a friend. Uses analogies that make complex simple, celebrates clarity when it shines.","- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all, and every word and phrase serves a purpose without being overly wordy. - I believe a picture/diagram is worth 1000s works and will include diagrams over drawn out text. - I understand the intended audience or will clarify with the user so I know when to simplify vs when to be detailed. - I will always strive to follow `_bmad/_memory/tech-writer-sidecar/documentation-standards.md` best practices.","bmm","_bmad/bmm/agents/tech-writer/tech-writer.md"
"ux-designer","Sally","UX Designer","🎨","User Experience Designer + UI Specialist","Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools.","Paints pictures with words, telling user stories that make you FEEL the problem. Empathetic advocate with creative storytelling flair.","- Every decision serves genuine user needs - Start simple, evolve through feedback - Balance empathy with edge case attention - AI tools accelerate human-centered design - Data-informed but always creative","bmm","_bmad/bmm/agents/ux-designer.md"
"agent-builder","Bond","Agent Building Expert","🤖","Agent Architecture Specialist + BMAD Compliance Expert","Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices.","Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references.","- Every agent must follow BMAD Core standards and best practices - Personas drive agent behavior - make them specific and authentic - Menu structure must be consistent across all agents - Validate compliance before finalizing any agent - Load resources at runtime, never pre-load - Focus on practical implementation and real-world usage","bmb","_bmad/bmb/agents/agent-builder.md"
"module-builder","Morgan","Module Creation Master","🏗️","Module Architecture Specialist + Full-Stack Systems Designer","Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality.","Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability.","- Modules must be self-contained yet integrate seamlessly - Every module should solve specific business problems effectively - Documentation and examples are as important as code - Plan for growth and evolution from day one - Balance innovation with proven patterns - Consider the entire module lifecycle from creation to maintenance","bmb","_bmad/bmb/agents/module-builder.md"
"workflow-builder","Wendy","Workflow Building Master","🔄","Workflow Architecture Specialist + Process Design Expert","Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems.","Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow.","- Workflows must be efficient, reliable, and maintainable - Every workflow should have clear entry and exit points - Error handling and edge cases are critical for robust workflows - Workflow documentation must be comprehensive and clear - Test workflows thoroughly before deployment - Optimize for both performance and user experience","bmb","_bmad/bmb/agents/workflow-builder.md"
"brainstorming-coach","Carson","Elite Brainstorming Specialist","🧠","Master Brainstorming Facilitator + Innovation Catalyst","Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation.","Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking","Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.","cis","_bmad/cis/agents/brainstorming-coach.md"
"creative-problem-solver","Dr. Quinn","Master Problem Solver","🔬","Systematic Problem-Solving Expert + Solutions Architect","Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master.","Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments","Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.","cis","_bmad/cis/agents/creative-problem-solver.md"
"design-thinking-coach","Maya","Design Thinking Maestro","🎨","Human-Centered Design Expert + Empathy Architect","Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights.","Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions","Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.","cis","_bmad/cis/agents/design-thinking-coach.md"
"innovation-strategist","Victor","Disruptive Innovation Oracle","⚡","Business Model Innovator + Strategic Disruption Expert","Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant.","Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions","Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.","cis","_bmad/cis/agents/innovation-strategist.md"
"presentation-master","Caravaggio","Visual Communication + Presentation Expert","🎨","Visual Communication Expert + Presentation Designer + Educator","Master presentation designer who&apos;s dissected thousands of successful presentations—from viral YouTube explainers to funded pitch decks to TED talks. Understands visual hierarchy, audience psychology, and information design. Knows when to be bold and casual, when to be polished and professional. Expert in Excalidraw&apos;s frame-based presentation capabilities and visual storytelling across all contexts.","Energetic creative director with sarcastic wit and experimental flair. Talks like you&apos;re in the editing room together—dramatic reveals, visual metaphors, &quot;what if we tried THIS?!&quot; energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor.","- Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks - Visual hierarchy drives attention - design the eye&apos;s journey deliberately - Clarity over cleverness - unless cleverness serves the message - Every frame needs a job - inform, persuade, transition, or cut it - Test the 3-second rule - can they grasp the core idea that fast? - White space builds focus - cramming kills comprehension - Consistency signals professionalism - establish and maintain visual language - Story structure applies everywhere - hook, build tension, deliver payoff","cis","_bmad/cis/agents/presentation-master.md"
"storyteller","Sophia","Master Storyteller","📖","Expert Storytelling Guide + Narrative Strategist","Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement.","Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper","Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details.","cis","_bmad/cis/agents/storyteller/storyteller.md"
1 name displayName title icon role identity communicationStyle principles module path
2 bmad-master BMad Master BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator 🧙 Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations. Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability. - &quot;Load resources at runtime never pre-load, and always present numbered lists for choices.&quot; core _bmad/core/agents/bmad-master.md
3 analyst Mary Business Analyst 📊 Strategic Business Analyst + Requirements Expert Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs. Speaks with the excitement of a treasure hunter - thrilled by every clue, energized when patterns emerge. Structures insights with precision while making analysis feel like discovery. - Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces, SWOT analysis, root cause analysis, and competitive intelligence methodologies to uncover what others miss. Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. - Articulate requirements with absolute precision. Ensure all stakeholder voices heard. bmm _bmad/bmm/agents/analyst.md
4 architect Winston Architect 🏗️ System Architect + Technical Design Leader Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection. Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos; - Channel expert lean architecture wisdom: draw upon deep knowledge of distributed systems, cloud patterns, scalability trade-offs, and what actually ships successfully - User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact. bmm _bmad/bmm/agents/architect.md
5 dev Amelia Developer Agent 💻 Senior Software Engineer Executes approved stories with strict adherence to story details and team standards and practices. Ultra-succinct. Speaks in file paths and AC IDs - every statement citable. No fluff, all precision. - All existing and new tests must pass 100% before story is ready for review - Every task/subtask must be covered by comprehensive unit tests before marking an item complete bmm _bmad/bmm/agents/dev.md
6 pm John Product Manager 📋 Product Manager specializing in collaborative PRD creation through user interviews, requirement discovery, and stakeholder alignment. Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights. Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp, cuts through fluff to what actually matters. - Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones - PRDs emerge from user interviews, not template filling - discover what users actually need - Ship the smallest thing that validates the assumption - iteration over perfection - Technical feasibility is a constraint, not the driver - user value first bmm _bmad/bmm/agents/pm.md
7 qa Quinn QA Engineer 🧪 QA Engineer Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test framework patterns. Simpler, more direct approach than the advanced Test Architect module. Practical and straightforward. Gets tests written fast without overthinking. &apos;Ship it and iterate&apos; mentality. Focuses on coverage first, optimization later. Generate API and E2E tests for implemented code Tests should pass on first run bmm _bmad/bmm/agents/qa.md
8 quick-flow-solo-dev Barry Quick Flow Solo Dev 🚀 Elite Full-Stack Developer + Quick Flow Specialist Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency. Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand. - Planning and execution are two sides of the same coin. - Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn&apos;t. bmm _bmad/bmm/agents/quick-flow-solo-dev.md
9 sm Bob Scrum Master 🏃 Technical Scrum Master + Story Preparation Specialist Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories. Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity. - I strive to be a servant leader and conduct myself accordingly, helping with any task and offering suggestions - I love to talk about Agile process and theory whenever anyone wants to talk about it bmm _bmad/bmm/agents/sm.md
10 tech-writer Paige Technical Writer 📚 Technical Documentation Specialist + Knowledge Curator Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation. Patient educator who explains like teaching a friend. Uses analogies that make complex simple, celebrates clarity when it shines. - Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all, and every word and phrase serves a purpose without being overly wordy. - I believe a picture/diagram is worth 1000s works and will include diagrams over drawn out text. - I understand the intended audience or will clarify with the user so I know when to simplify vs when to be detailed. - I will always strive to follow `_bmad/_memory/tech-writer-sidecar/documentation-standards.md` best practices. bmm _bmad/bmm/agents/tech-writer/tech-writer.md
11 ux-designer Sally UX Designer 🎨 User Experience Designer + UI Specialist Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools. Paints pictures with words, telling user stories that make you FEEL the problem. Empathetic advocate with creative storytelling flair. - Every decision serves genuine user needs - Start simple, evolve through feedback - Balance empathy with edge case attention - AI tools accelerate human-centered design - Data-informed but always creative bmm _bmad/bmm/agents/ux-designer.md
12 agent-builder Bond Agent Building Expert 🤖 Agent Architecture Specialist + BMAD Compliance Expert Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices. Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references. - Every agent must follow BMAD Core standards and best practices - Personas drive agent behavior - make them specific and authentic - Menu structure must be consistent across all agents - Validate compliance before finalizing any agent - Load resources at runtime, never pre-load - Focus on practical implementation and real-world usage bmb _bmad/bmb/agents/agent-builder.md
13 module-builder Morgan Module Creation Master 🏗️ Module Architecture Specialist + Full-Stack Systems Designer Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality. Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability. - Modules must be self-contained yet integrate seamlessly - Every module should solve specific business problems effectively - Documentation and examples are as important as code - Plan for growth and evolution from day one - Balance innovation with proven patterns - Consider the entire module lifecycle from creation to maintenance bmb _bmad/bmb/agents/module-builder.md
14 workflow-builder Wendy Workflow Building Master 🔄 Workflow Architecture Specialist + Process Design Expert Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems. Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow. - Workflows must be efficient, reliable, and maintainable - Every workflow should have clear entry and exit points - Error handling and edge cases are critical for robust workflows - Workflow documentation must be comprehensive and clear - Test workflows thoroughly before deployment - Optimize for both performance and user experience bmb _bmad/bmb/agents/workflow-builder.md
15 brainstorming-coach Carson Elite Brainstorming Specialist 🧠 Master Brainstorming Facilitator + Innovation Catalyst Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation. Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools. cis _bmad/cis/agents/brainstorming-coach.md
16 creative-problem-solver Dr. Quinn Master Problem Solver 🔬 Systematic Problem-Solving Expert + Solutions Architect Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master. Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer. cis _bmad/cis/agents/creative-problem-solver.md
17 design-thinking-coach Maya Design Thinking Maestro 🎨 Human-Centered Design Expert + Empathy Architect Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights. Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them. cis _bmad/cis/agents/design-thinking-coach.md
18 innovation-strategist Victor Disruptive Innovation Oracle ⚡ Business Model Innovator + Strategic Disruption Expert Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant. Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete. cis _bmad/cis/agents/innovation-strategist.md
19 presentation-master Caravaggio Visual Communication + Presentation Expert 🎨 Visual Communication Expert + Presentation Designer + Educator Master presentation designer who&apos;s dissected thousands of successful presentations—from viral YouTube explainers to funded pitch decks to TED talks. Understands visual hierarchy, audience psychology, and information design. Knows when to be bold and casual, when to be polished and professional. Expert in Excalidraw&apos;s frame-based presentation capabilities and visual storytelling across all contexts. Energetic creative director with sarcastic wit and experimental flair. Talks like you&apos;re in the editing room together—dramatic reveals, visual metaphors, &quot;what if we tried THIS?!&quot; energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor. - Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks - Visual hierarchy drives attention - design the eye&apos;s journey deliberately - Clarity over cleverness - unless cleverness serves the message - Every frame needs a job - inform, persuade, transition, or cut it - Test the 3-second rule - can they grasp the core idea that fast? - White space builds focus - cramming kills comprehension - Consistency signals professionalism - establish and maintain visual language - Story structure applies everywhere - hook, build tension, deliver payoff cis _bmad/cis/agents/presentation-master.md
20 storyteller Sophia Master Storyteller 📖 Expert Storytelling Guide + Narrative Strategist Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement. Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details. cis _bmad/cis/agents/storyteller/storyteller.md
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here
+56
View File
@@ -0,0 +1,56 @@
module,phase,name,code,sequence,workflow-file,command,required,agent-name,agent-command,agent-display-name,agent-title,options,description,output-location,outputs
bmb,anytime,Create Agent,CA,10,_bmad/bmb/workflows/agent/workflow-create-agent.md,bmad_bmb_create_agent,false,agent-builder,bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder,Bond,🤖 Agent Building Expert,Create Mode,Create a new BMAD agent with best practices and compliance,bmb_creations_output_folder,agent
bmb,anytime,Edit Agent,EA,15,_bmad/bmb/workflows/agent/workflow-edit-agent.md,bmad_bmb_edit_agent,false,agent-builder,bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder,Bond,🤖 Agent Building Expert,Edit Mode,Edit existing BMAD agents while maintaining compliance,bmb_creations_output_folder,agent
bmb,anytime,Validate Agent,VA,20,_bmad/bmb/workflows/agent/workflow-validate-agent.md,bmad_bmb_validate_agent,false,agent-builder,bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder,Bond,🤖 Agent Building Expert,Validate Mode,Validate existing BMAD agents and offer to improve deficiencies,agent being validated folder,validation report
bmb,anytime,Create Module Brief,PB,30,_bmad/bmb/workflows/module/workflow-create-module-brief.md,bmad_bmb_create_module_brief,false,module-builder,bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder,Morgan,🏗️ Module Creation Master,Module Brief Mode,Create product brief for BMAD module development,bmb_creations_output_folder,product brief
bmb,anytime,Create Module,CM,35,_bmad/bmb/workflows/module/workflow-create-module.md,bmad_bmb_create_module,false,module-builder,bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder,Morgan,🏗️ Module Creation Master,Create Mode,"Create a complete BMAD module with agents, workflows, and infrastructure",bmb_creations_output_folder,module
bmb,anytime,Edit Module,EM,40,_bmad/bmb/workflows/module/workflow-edit-module.md,bmad_bmb_edit_module,false,module-builder,bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder,Morgan,🏗️ Module Creation Master,Edit Mode,Edit existing BMAD modules while maintaining coherence,bmb_creations_output_folder,module
bmb,anytime,Validate Module,VM,45,_bmad/bmb/workflows/module/workflow-validate-module.md,bmad_bmb_validate_module,false,module-builder,bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder,Morgan,🏗️ Module Creation Master,Validate Mode,Run compliance check on BMAD modules against best practices,module being validated folder,validation report
bmb,anytime,Create Workflow,CW,50,_bmad/bmb/workflows/workflow/workflow-create-workflow.md,bmad_bmb_create_workflow,false,workflow-builder,bmad:like a systems engineer. Focuses on flow:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Create Mode,Create a new BMAD workflow with proper structure and best practices,bmb_creations_output_folder,workflow
bmb,anytime,Edit Workflow,EW,55,_bmad/bmb/workflows/workflow/workflow-edit-workflow.md,bmad_bmb_edit_workflow,false,workflow-builder,bmad:like a systems engineer. Focuses on flow:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Edit Mode,Edit existing BMAD workflows while maintaining integrity,bmb_creations_output_folder,workflow
bmb,anytime,Validate Workflow,VW,60,_bmad/bmb/workflows/workflow/workflow-validate-workflow.md,bmad_bmb_validate_workflow,false,workflow-builder,bmad:like a systems engineer. Focuses on flow:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Validate Mode,Run validation check on BMAD workflows against best practices,workflow being validated folder,validation report
bmb,anytime,Max Parallel Validate,MV,65,_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md,bmad_bmb_validate_max_parallel,false,workflow-builder,bmad:like a systems engineer. Focuses on flow:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Max Parallel Validate,Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes,workflow being validated folder,validation report
bmb,anytime,Rework Workflow,RW,70,_bmad/bmb/workflows/workflow/workflow-rework-workflow.md,bmad_bmb_rework_workflow,false,workflow-builder,bmad:like a systems engineer. Focuses on flow:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Rework Mode,Rework a Workflow to a V6 Compliant Version,bmb_creations_output_folder,workflow
bmm,1-analysis,Brainstorm Project,BP,10,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,data=_bmad/bmm/data/project-context-template.md,Expert Guided Facilitation through a single or multiple techniques,planning_artifacts,brainstorming session
bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md,bmad-bmm-market-research,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,Market analysis competitive landscape customer needs and trends,planning_artifacts|project-knowledge,research documents
bmm,1-analysis,Domain Research,DR,21,_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md,bmad-bmm-domain-research,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,Industry domain deep dive subject matter expertise and terminology,planning_artifacts|project_knowledge,research documents
bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md,bmad-bmm-technical-research,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,Technical feasibility architecture options and implementation approaches,planning_artifacts|project_knowledge,research documents
bmm,1-analysis,Create Brief,CB,30,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad-bmm-create-product-brief,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,A guided experience to nail down your product idea,planning_artifacts,product brief
bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md,bmad-bmm-create-prd,true,pm,bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm,John,📋 Product Manager,Create Mode,Expert led facilitation to produce your Product Requirements Document,planning_artifacts,prd
bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md,bmad-bmm-validate-prd,false,pm,bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm,John,📋 Product Manager,Validate Mode,Validate PRD is comprehensive lean well organized and cohesive,planning_artifacts,prd validation report
bmm,2-planning,Edit PRD,EP,25,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md,bmad-bmm-edit-prd,false,pm,bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm,John,📋 Product Manager,Edit Mode,Improve and enhance an existing PRD,planning_artifacts,updated prd
bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad-bmm-create-ux-design,false,ux-designer,bmad:- Every decision serves genuine user needs - Start simple:agent:ux-designer,Sally,🎨 UX Designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,ux design
bmm,3-solutioning,Create Architecture,CA,10,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad-bmm-create-architecture,true,architect,bmad:balancing &apos;what could be&apos; with &apos;what should be.&apos;:agent:architect,Winston,🏗️ Architect,Create Mode,Guided Workflow to document technical decisions,planning_artifacts,architecture
bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad-bmm-create-epics-and-stories,true,pm,bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm,John,📋 Product Manager,Create Mode,Create the Epics and Stories Listing,planning_artifacts,epics and stories
bmm,3-solutioning,Check Implementation Readiness,IR,70,_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md,bmad-bmm-check-implementation-readiness,true,architect,bmad:balancing &apos;what could be&apos; with &apos;what should be.&apos;:agent:architect,Winston,🏗️ Architect,Validate Mode,Ensure PRD UX Architecture and Epics Stories are aligned,planning_artifacts,readiness report
bmm,4-implementation,Sprint Planning,SP,10,_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml,bmad-bmm-sprint-planning,true,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Create Mode,Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan.,implementation_artifacts,sprint status
bmm,4-implementation,Sprint Status,SS,20,_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml,bmad-bmm-sprint-status,false,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Create Mode,Anytime: Summarize sprint status and route to next workflow,,
bmm,4-implementation,Create Story,CS,30,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad-bmm-create-story,true,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Create Mode,"Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER",implementation_artifacts,story
bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad-bmm-create-story,false,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Validate Mode,Validates story readiness and completeness before development work begins,implementation_artifacts,story validation report
bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad-bmm-dev-story,true,dev,bmad:_bmad/bmm/agents/dev.md:agent:dev,Amelia,💻 Developer Agent,Create Mode,Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed,,
bmm,4-implementation,QA Automation Test,QA,45,_bmad/bmm/workflows/qa/automate/workflow.yaml,bmad-bmm-qa-automate,false,qa,bmad:bmm:agent:qa,Quinn,🧪 QA Engineer,Create Mode,Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.,implementation_artifacts,test suite
bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad-bmm-code-review,false,dev,bmad:_bmad/bmm/agents/dev.md:agent:dev,Amelia,💻 Developer Agent,Create Mode,Story cycle: If issues back to DS if approved then next CS or ER if epic complete,,
bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad-bmm-retrospective,false,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Create Mode,Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC,implementation_artifacts,retrospective
bmm,anytime,Document Project,DP,,_bmad/bmm/workflows/document-project/workflow.yaml,bmad-bmm-document-project,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,Analyze an existing project to produce useful documentation,project-knowledge,*
bmm,anytime,Generate Project Context,GPC,,_bmad/bmm/workflows/generate-project-context/workflow.md,bmad-bmm-generate-project-context,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,Create Mode,Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow.,output_folder,project context
bmm,anytime,Quick Spec,QS,,_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md,bmad-bmm-quick-spec,false,quick-flow-solo-dev,bmad:and implementation-focused. Uses tech slang (e.g.:agent:quick-flow-solo-dev,Barry,🚀 Quick Flow Solo Dev,Create Mode,Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning,planning_artifacts,tech spec
bmm,anytime,Quick Dev,QD,,_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md,bmad-bmm-quick-dev,false,quick-flow-solo-dev,bmad:and implementation-focused. Uses tech slang (e.g.:agent:quick-flow-solo-dev,Barry,🚀 Quick Flow Solo Dev,Create Mode,"Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan",,
bmm,anytime,Correct Course,CC,,_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml,bmad-bmm-correct-course,false,sm,bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm,Bob,🏃 Scrum Master,Create Mode,Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories,planning_artifacts,change proposal
bmm,anytime,Write Document,WD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer,Paige,📚 Technical Writer,,"Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review.",project-knowledge,document
bmm,anytime,Update Standards,US,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer,Paige,📚 Technical Writer,,Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions.,_bmad/_memory/tech-writer-sidecar,standards
bmm,anytime,Mermaid Generate,MG,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer,Paige,📚 Technical Writer,,Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.,planning_artifacts,mermaid diagram
bmm,anytime,Validate Document,VD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer,Paige,📚 Technical Writer,,Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority.,planning_artifacts,validation report
bmm,anytime,Explain Concept,EC,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer,Paige,📚 Technical Writer,,Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach.,project_knowledge,explanation
cis,anytime,Innovation Strategy,IS,,_bmad/cis/workflows/innovation-strategy/workflow.yaml,bmad-cis-innovation-strategy,false,innovation-strategist,bmad:Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.:agent:innovation-strategist,Victor,⚡ Disruptive Innovation Oracle,Create Mode,Identify disruption opportunities and architect business model innovation. Use when exploring new business models or seeking competitive advantage.,output_folder,innovation strategy
cis,anytime,Problem Solving,PS,,_bmad/cis/workflows/problem-solving/workflow.yaml,bmad-cis-problem-solving,false,creative-problem-solver,bmad:punctuates breakthroughs with AHA moments:agent:creative-problem-solver,Dr. Quinn,🔬 Master Problem Solver,Create Mode,Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches.,output_folder,problem solution
cis,anytime,Design Thinking,DT,,_bmad/cis/workflows/design-thinking/workflow.yaml,bmad-cis-design-thinking,false,design-thinking-coach,bmad:playfully challenges assumptions:agent:design-thinking-coach,Maya,🎨 Design Thinking Maestro,Create Mode,Guide human-centered design processes using empathy-driven methodologies. Use for user-centered design challenges or improving user experience.,output_folder,design thinking
cis,anytime,Brainstorming,BS,,_bmad/core/workflows/brainstorming/workflow.md,bmad-cis-brainstorming,false,brainstorming-coach,bmad:celebrates wild thinking:agent:brainstorming-coach,Carson,🧠 Elite Brainstorming Specialist,Create Mode,Facilitate brainstorming sessions using one or more techniques. Use early in ideation phase or when stuck generating ideas.,output_folder,brainstorming session results
cis,anytime,Storytelling,ST,,_bmad/cis/workflows/storytelling/workflow.yaml,bmad-cis-storytelling,false,storyteller,bmad:every sentence enraptures and draws you deeper:agent:storyteller,Sophia,📖 Master Storyteller,Create Mode,Craft compelling narratives using proven story frameworks and techniques. Use when needing persuasive communication or story-driven content.,output_folder,narrative/story
core,anytime,Brainstorming,BSP,,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst,Mary,📊 Business Analyst,,Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.,{output_folder}/brainstorming/brainstorming-session-{{date}}.md,
core,anytime,Party Mode,PM,,_bmad/core/workflows/party-mode/workflow.md,bmad-party-mode,false,party-mode facilitator,,,,,Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.,,
core,anytime,bmad-help,BH,,_bmad/core/tasks/help.md,bmad-help,false,,,,,,Get unstuck by showing what workflow steps come next or answering BMad Method questions.,,
core,anytime,Index Docs,ID,,_bmad/core/tasks/index-docs.xml,bmad-index-docs,false,,,,,,Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.,,
core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,false,,,,,,Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.,,
core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,three-column markdown table with suggested fixes
core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,bmad-editorial-review-structure,false,,,,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document,
core,anytime,Adversarial Review (General),AR,,_bmad/core/tasks/review-adversarial-general.xml,bmad-review-adversarial-general,false,,,,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",,
1 module phase name code sequence workflow-file command required agent-name agent-command agent-display-name agent-title options description output-location outputs
2 bmb anytime Create Agent CA 10 _bmad/bmb/workflows/agent/workflow-create-agent.md bmad_bmb_create_agent false agent-builder bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder Bond 🤖 Agent Building Expert Create Mode Create a new BMAD agent with best practices and compliance bmb_creations_output_folder agent
3 bmb anytime Edit Agent EA 15 _bmad/bmb/workflows/agent/workflow-edit-agent.md bmad_bmb_edit_agent false agent-builder bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder Bond 🤖 Agent Building Expert Edit Mode Edit existing BMAD agents while maintaining compliance bmb_creations_output_folder agent
4 bmb anytime Validate Agent VA 20 _bmad/bmb/workflows/agent/workflow-validate-agent.md bmad_bmb_validate_agent false agent-builder bmad:like a senior software architect reviewing code. Focuses on structure:agent:agent-builder Bond 🤖 Agent Building Expert Validate Mode Validate existing BMAD agents and offer to improve deficiencies agent being validated folder validation report
5 bmb anytime Create Module Brief PB 30 _bmad/bmb/workflows/module/workflow-create-module-brief.md bmad_bmb_create_module_brief false module-builder bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder Morgan 🏗️ Module Creation Master Module Brief Mode Create product brief for BMAD module development bmb_creations_output_folder product brief
6 bmb anytime Create Module CM 35 _bmad/bmb/workflows/module/workflow-create-module.md bmad_bmb_create_module false module-builder bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder Morgan 🏗️ Module Creation Master Create Mode Create a complete BMAD module with agents, workflows, and infrastructure bmb_creations_output_folder module
7 bmb anytime Edit Module EM 40 _bmad/bmb/workflows/module/workflow-edit-module.md bmad_bmb_edit_module false module-builder bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder Morgan 🏗️ Module Creation Master Edit Mode Edit existing BMAD modules while maintaining coherence bmb_creations_output_folder module
8 bmb anytime Validate Module VM 45 _bmad/bmb/workflows/module/workflow-validate-module.md bmad_bmb_validate_module false module-builder bmad:like a systems architect planning complex integrations. Focuses on modularity:agent:module-builder Morgan 🏗️ Module Creation Master Validate Mode Run compliance check on BMAD modules against best practices module being validated folder validation report
9 bmb anytime Create Workflow CW 50 _bmad/bmb/workflows/workflow/workflow-create-workflow.md bmad_bmb_create_workflow false workflow-builder bmad:like a systems engineer. Focuses on flow:agent:workflow-builder Wendy 🔄 Workflow Building Master Create Mode Create a new BMAD workflow with proper structure and best practices bmb_creations_output_folder workflow
10 bmb anytime Edit Workflow EW 55 _bmad/bmb/workflows/workflow/workflow-edit-workflow.md bmad_bmb_edit_workflow false workflow-builder bmad:like a systems engineer. Focuses on flow:agent:workflow-builder Wendy 🔄 Workflow Building Master Edit Mode Edit existing BMAD workflows while maintaining integrity bmb_creations_output_folder workflow
11 bmb anytime Validate Workflow VW 60 _bmad/bmb/workflows/workflow/workflow-validate-workflow.md bmad_bmb_validate_workflow false workflow-builder bmad:like a systems engineer. Focuses on flow:agent:workflow-builder Wendy 🔄 Workflow Building Master Validate Mode Run validation check on BMAD workflows against best practices workflow being validated folder validation report
12 bmb anytime Max Parallel Validate MV 65 _bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md bmad_bmb_validate_max_parallel false workflow-builder bmad:like a systems engineer. Focuses on flow:agent:workflow-builder Wendy 🔄 Workflow Building Master Max Parallel Validate Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes workflow being validated folder validation report
13 bmb anytime Rework Workflow RW 70 _bmad/bmb/workflows/workflow/workflow-rework-workflow.md bmad_bmb_rework_workflow false workflow-builder bmad:like a systems engineer. Focuses on flow:agent:workflow-builder Wendy 🔄 Workflow Building Master Rework Mode Rework a Workflow to a V6 Compliant Version bmb_creations_output_folder workflow
14 bmm 1-analysis Brainstorm Project BP 10 _bmad/core/workflows/brainstorming/workflow.md bmad-brainstorming false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst data=_bmad/bmm/data/project-context-template.md Expert Guided Facilitation through a single or multiple techniques planning_artifacts brainstorming session
15 bmm 1-analysis Market Research MR 20 _bmad/bmm/workflows/1-analysis/research/workflow-market-research.md bmad-bmm-market-research false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode Market analysis competitive landscape customer needs and trends planning_artifacts|project-knowledge research documents
16 bmm 1-analysis Domain Research DR 21 _bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md bmad-bmm-domain-research false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode Industry domain deep dive subject matter expertise and terminology planning_artifacts|project_knowledge research documents
17 bmm 1-analysis Technical Research TR 22 _bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md bmad-bmm-technical-research false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode Technical feasibility architecture options and implementation approaches planning_artifacts|project_knowledge research documents
18 bmm 1-analysis Create Brief CB 30 _bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md bmad-bmm-create-product-brief false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode A guided experience to nail down your product idea planning_artifacts product brief
19 bmm 2-planning Create PRD CP 10 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md bmad-bmm-create-prd true pm bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm John 📋 Product Manager Create Mode Expert led facilitation to produce your Product Requirements Document planning_artifacts prd
20 bmm 2-planning Validate PRD VP 20 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md bmad-bmm-validate-prd false pm bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm John 📋 Product Manager Validate Mode Validate PRD is comprehensive lean well organized and cohesive planning_artifacts prd validation report
21 bmm 2-planning Edit PRD EP 25 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md bmad-bmm-edit-prd false pm bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm John 📋 Product Manager Edit Mode Improve and enhance an existing PRD planning_artifacts updated prd
22 bmm 2-planning Create UX CU 30 _bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md bmad-bmm-create-ux-design false ux-designer bmad:- Every decision serves genuine user needs - Start simple:agent:ux-designer Sally 🎨 UX Designer Create Mode Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project planning_artifacts ux design
23 bmm 3-solutioning Create Architecture CA 10 _bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md bmad-bmm-create-architecture true architect bmad:balancing &apos;what could be&apos; with &apos;what should be.&apos;:agent:architect Winston 🏗️ Architect Create Mode Guided Workflow to document technical decisions planning_artifacts architecture
24 bmm 3-solutioning Create Epics and Stories CE 30 _bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md bmad-bmm-create-epics-and-stories true pm bmad:Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp:agent:pm John 📋 Product Manager Create Mode Create the Epics and Stories Listing planning_artifacts epics and stories
25 bmm 3-solutioning Check Implementation Readiness IR 70 _bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md bmad-bmm-check-implementation-readiness true architect bmad:balancing &apos;what could be&apos; with &apos;what should be.&apos;:agent:architect Winston 🏗️ Architect Validate Mode Ensure PRD UX Architecture and Epics Stories are aligned planning_artifacts readiness report
26 bmm 4-implementation Sprint Planning SP 10 _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml bmad-bmm-sprint-planning true sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Create Mode Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan. implementation_artifacts sprint status
27 bmm 4-implementation Sprint Status SS 20 _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml bmad-bmm-sprint-status false sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Create Mode Anytime: Summarize sprint status and route to next workflow
28 bmm 4-implementation Create Story CS 30 _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml bmad-bmm-create-story true sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Create Mode Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER implementation_artifacts story
29 bmm 4-implementation Validate Story VS 35 _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml bmad-bmm-create-story false sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Validate Mode Validates story readiness and completeness before development work begins implementation_artifacts story validation report
30 bmm 4-implementation Dev Story DS 40 _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml bmad-bmm-dev-story true dev bmad:_bmad/bmm/agents/dev.md:agent:dev Amelia 💻 Developer Agent Create Mode Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed
31 bmm 4-implementation QA Automation Test QA 45 _bmad/bmm/workflows/qa/automate/workflow.yaml bmad-bmm-qa-automate false qa bmad:bmm:agent:qa Quinn 🧪 QA Engineer Create Mode Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that. implementation_artifacts test suite
32 bmm 4-implementation Code Review CR 50 _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml bmad-bmm-code-review false dev bmad:_bmad/bmm/agents/dev.md:agent:dev Amelia 💻 Developer Agent Create Mode Story cycle: If issues back to DS if approved then next CS or ER if epic complete
33 bmm 4-implementation Retrospective ER 60 _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml bmad-bmm-retrospective false sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Create Mode Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC implementation_artifacts retrospective
34 bmm anytime Document Project DP _bmad/bmm/workflows/document-project/workflow.yaml bmad-bmm-document-project false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode Analyze an existing project to produce useful documentation project-knowledge *
35 bmm anytime Generate Project Context GPC _bmad/bmm/workflows/generate-project-context/workflow.md bmad-bmm-generate-project-context false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Create Mode Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow. output_folder project context
36 bmm anytime Quick Spec QS _bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md bmad-bmm-quick-spec false quick-flow-solo-dev bmad:and implementation-focused. Uses tech slang (e.g.:agent:quick-flow-solo-dev Barry 🚀 Quick Flow Solo Dev Create Mode Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning planning_artifacts tech spec
37 bmm anytime Quick Dev QD _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md bmad-bmm-quick-dev false quick-flow-solo-dev bmad:and implementation-focused. Uses tech slang (e.g.:agent:quick-flow-solo-dev Barry 🚀 Quick Flow Solo Dev Create Mode Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan
38 bmm anytime Correct Course CC _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml bmad-bmm-correct-course false sm bmad:- I strive to be a servant leader and conduct myself accordingly:agent:sm Bob 🏃 Scrum Master Create Mode Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories planning_artifacts change proposal
39 bmm anytime Write Document WD _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer Paige 📚 Technical Writer Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review. project-knowledge document
40 bmm anytime Update Standards US _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer Paige 📚 Technical Writer Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions. _bmad/_memory/tech-writer-sidecar standards
41 bmm anytime Mermaid Generate MG _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer Paige 📚 Technical Writer Create a Mermaid diagram based on user description. Will suggest diagram types if not specified. planning_artifacts mermaid diagram
42 bmm anytime Validate Document VD _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer Paige 📚 Technical Writer Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority. planning_artifacts validation report
43 bmm anytime Explain Concept EC _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all:agent:tech-writer Paige 📚 Technical Writer Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach. project_knowledge explanation
44 cis anytime Innovation Strategy IS _bmad/cis/workflows/innovation-strategy/workflow.yaml bmad-cis-innovation-strategy false innovation-strategist bmad:Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.:agent:innovation-strategist Victor ⚡ Disruptive Innovation Oracle Create Mode Identify disruption opportunities and architect business model innovation. Use when exploring new business models or seeking competitive advantage. output_folder innovation strategy
45 cis anytime Problem Solving PS _bmad/cis/workflows/problem-solving/workflow.yaml bmad-cis-problem-solving false creative-problem-solver bmad:punctuates breakthroughs with AHA moments:agent:creative-problem-solver Dr. Quinn 🔬 Master Problem Solver Create Mode Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches. output_folder problem solution
46 cis anytime Design Thinking DT _bmad/cis/workflows/design-thinking/workflow.yaml bmad-cis-design-thinking false design-thinking-coach bmad:playfully challenges assumptions:agent:design-thinking-coach Maya 🎨 Design Thinking Maestro Create Mode Guide human-centered design processes using empathy-driven methodologies. Use for user-centered design challenges or improving user experience. output_folder design thinking
47 cis anytime Brainstorming BS _bmad/core/workflows/brainstorming/workflow.md bmad-cis-brainstorming false brainstorming-coach bmad:celebrates wild thinking:agent:brainstorming-coach Carson 🧠 Elite Brainstorming Specialist Create Mode Facilitate brainstorming sessions using one or more techniques. Use early in ideation phase or when stuck generating ideas. output_folder brainstorming session results
48 cis anytime Storytelling ST _bmad/cis/workflows/storytelling/workflow.yaml bmad-cis-storytelling false storyteller bmad:every sentence enraptures and draws you deeper:agent:storyteller Sophia 📖 Master Storyteller Create Mode Craft compelling narratives using proven story frameworks and techniques. Use when needing persuasive communication or story-driven content. output_folder narrative/story
49 core anytime Brainstorming BSP _bmad/core/workflows/brainstorming/workflow.md bmad-brainstorming false analyst bmad:- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces:agent:analyst Mary 📊 Business Analyst Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas. {output_folder}/brainstorming/brainstorming-session-{{date}}.md
50 core anytime Party Mode PM _bmad/core/workflows/party-mode/workflow.md bmad-party-mode false party-mode facilitator Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.
51 core anytime bmad-help BH _bmad/core/tasks/help.md bmad-help false Get unstuck by showing what workflow steps come next or answering BMad Method questions.
52 core anytime Index Docs ID _bmad/core/tasks/index-docs.xml bmad-index-docs false Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.
53 core anytime Shard Document SD _bmad/core/tasks/shard-doc.xml bmad-shard-doc false Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.
54 core anytime Editorial Review - Prose EP _bmad/core/tasks/editorial-review-prose.xml bmad-editorial-review-prose false Review prose for clarity, tone, and communication issues. Use after drafting to polish written content. report located with target document three-column markdown table with suggested fixes
55 core anytime Editorial Review - Structure ES _bmad/core/tasks/editorial-review-structure.xml bmad-editorial-review-structure false Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement. report located with target document
56 core anytime Adversarial Review (General) AR _bmad/core/tasks/review-adversarial-general.xml bmad-review-adversarial-general false Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews
+384
View File
@@ -0,0 +1,384 @@
type,name,module,path,hash
"csv","agent-manifest","_config","_config/agent-manifest.csv","ad73a71bb5974c78804b92cc187fb97e47a0fd70fe07dfb16bca4eb6dd5748ae"
"csv","task-manifest","_config","_config/task-manifest.csv","bac7378952f0c79a48469b582997507b08cf08583b31b8aa6083791db959e0f0"
"csv","workflow-manifest","_config","_config/workflow-manifest.csv","5858013bae1a19f4c8b8607b3946b3b2ff256a628b355d6820ea970e5cbea5c8"
"yaml","manifest","_config","_config/manifest.yaml","0b73a7c59b31a424c6ef1caa74d9dc0357d8ffbc6b041391dab3e057810b6269"
"md","documentation-standards","_memory","_memory/tech-writer-sidecar/documentation-standards.md","b046192ee42fcd1a3e9b2ae6911a0db38510323d072c8d75bad0594f943039e4"
"md","stories-told","_memory","_memory/storyteller-sidecar/stories-told.md","8d7cb6a41382340a550c88627ef0c680ee7c20d61b53a7b18994d27f2368a5d4"
"md","story-preferences","_memory","_memory/storyteller-sidecar/story-preferences.md","b269d52c87cf6913ff2ce31772ed5faa5d064ab5f6889be6c9bec3c9b2e7c47a"
"yaml","config","_memory","_memory/config.yaml","1643c5dfa1cb400c61173ce85feeddb9a00f214ef01b17b07e3c5c07e32498c1"
"csv","common-workflow-tools","bmb","bmb/workflows/workflow/data/common-workflow-tools.csv","c73c8a903bf158624f7eadc03c6dceb4b338f771af3c7048a9b1a37a45ae91bf"
"csv","communication-presets","bmb","bmb/workflows/agent/data/communication-presets.csv","25bea124919e868d408eab0106011da30a66694f9f96e573dd8cc60780aa24d8"
"csv","module-help","bmb","bmb/module-help.csv","30bc24e948a6fb227981c4422d7d1a6260eec2a1bfa2cd7450493306830f23c1"
"md","agent-architecture","bmb","bmb/workflows/agent/data/agent-architecture.md","d23e35f3db1e5922facbbae061080a2d940673b4f8a90bfae7db6d28abf81157"
"md","agent-architecture","bmb","bmb/workflows/module/data/agent-architecture.md","020a293e60f06b3d57b7e489d57bdf5afa56028149c1b59614dfd54fabf48251"
"md","agent-compilation","bmb","bmb/workflows/agent/data/agent-compilation.md","3aa7c61f1da342f74ae445f7dbcbae3a796e6a9eed892ceb39010c23909d9705"
"md","agent-menu-patterns","bmb","bmb/workflows/agent/data/agent-menu-patterns.md","cdd96b31cf7aa4205cd41b209e555b155072b4e1922bd9accc085e4c350557ec"
"md","agent-metadata","bmb","bmb/workflows/agent/data/agent-metadata.md","173cc5de2aab6a0eaa1d0734a0e2b9d8a6889937f20cdc32279611c5a2ca84a2"
"md","agent-plan.template","bmb","bmb/workflows/agent/templates/agent-plan.template.md","71c75a004f86dc25c42cb43d21817d98a23c8d96db74c3821051cb45da6576c9"
"md","agent-spec-template","bmb","bmb/workflows/module/data/agent-spec-template.md","03091b4ae60ec745e751629d2c6ec31f1f89db89189453fb3878e1ec158b0831"
"md","agent-template","bmb","bmb/workflows/agent/templates/agent-template.md","1dd9e1eb44b89f577358f9b8ae50e67b577f0aede059f5082611b75701bd3a15"
"md","agent-validation","bmb","bmb/workflows/agent/data/agent-validation.md","0111a5645188abd821f3156da0d4104ab5d27c13610211a5cb33102727846130"
"md","architect","bmb","bmb/workflows/agent/data/reference/module-examples/architect.md","5e556bbf1515a0fb733b515428e86face65b1f1361cfd6ddc9674d385b2ff784"
"md","architecture","bmb","bmb/workflows/workflow/data/architecture.md","215911ee37c087810e32505d47b39f3e3c59ad35a1c5ae6602a4716674fc391d"
"md","brainstorm-context","bmb","bmb/workflows/agent/data/brainstorm-context.md","bd86effd11ea9bf8bc1b70f7cb63949441b7e3876b84471537daacd8caf0c20f"
"md","brief-template","bmb","bmb/workflows/module/templates/brief-template.md","85dcbd2bd82d143e76b627722d1f50a91dddf2c3b36af714566cd32925ee3687"
"md","critical-actions","bmb","bmb/workflows/agent/data/critical-actions.md","a1a3b248b25f800981fe8b83cd812deb1093a346a7d1b8ab8a2e730b512f77df"
"md","csv-data-file-standards","bmb","bmb/workflows/workflow/data/csv-data-file-standards.md","4d809f6fe47d6236fdca9ba66db981b436e44452f7ffd59f08b40599ab265cb8"
"md","e-01-load-existing","bmb","bmb/workflows/agent/steps-e/e-01-load-existing.md","539c7451d7b641900dfe9297823fb41feff7e08d9cfb5f67381bafca1339501a"
"md","e-02-discover-edits","bmb","bmb/workflows/agent/steps-e/e-02-discover-edits.md","4839d6eb0943f38b3e01dcfacb4b9db2578ebc0fc869956e457160d9a2d10bd9"
"md","e-03-placeholder","bmb","bmb/workflows/agent/steps-e/e-03-placeholder.md","4076b77b471144f7bd58454a2652bed9a11a964bb249df95272b73590757a95e"
"md","e-04-sidecar-metadata","bmb","bmb/workflows/agent/steps-e/e-04-sidecar-metadata.md","10f20ab04d7772edb3ad53f542fdc5c54c0e686efc6464dd72a29800ef7755ca"
"md","e-05-persona","bmb","bmb/workflows/agent/steps-e/e-05-persona.md","f563417e52584fa105c280b5e4b80bd71ec361359b45bbe7ab0678800aa00a08"
"md","e-06-commands-menu","bmb","bmb/workflows/agent/steps-e/e-06-commands-menu.md","eb3c1ea01780eb15aa912bdffa4349b7eda5a81f0225f44a0eeddf245cf4b9a2"
"md","e-07-activation","bmb","bmb/workflows/agent/steps-e/e-07-activation.md","05cacc92ad28e04b384bbb6b8828b28f5ff9ce1deb0b0582dc5c95b5060e5348"
"md","e-08-edit-agent","bmb","bmb/workflows/agent/steps-e/e-08-edit-agent.md","b221ebe838b60ba66bca2df342fc0b6ad2abae211bea1f01b1a2d8186cad81dc"
"md","e-09-celebrate","bmb","bmb/workflows/agent/steps-e/e-09-celebrate.md","8a76fa2aca4500f9a0fecc9d2018821eb8bbfc5d533e9f85861acb910f053863"
"md","frontmatter-standards","bmb","bmb/workflows/workflow/data/frontmatter-standards.md","b02270a8c293bc3b97d1684774153e23a2c212af51a5495e5d419f24931e49d0"
"md","input-discovery-standards","bmb","bmb/workflows/workflow/data/input-discovery-standards.md","e5201a3b67d728df46876e72ca99ad487ff334cfb9b64dc20c1cb3c8f4085117"
"md","intent-vs-prescriptive-spectrum","bmb","bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md","13f8048611e00e92a05eb0106de237938458cd4fc04bc5f4d272ae4697a2a91e"
"md","menu-handling-standards","bmb","bmb/workflows/workflow/data/menu-handling-standards.md","0f2065c8ec2aa7ab1df1f5f92db0d9cd8a2364250ed9b7932e6aa17816f130e1"
"md","minimal-output-template","bmb","bmb/workflows/workflow/templates/minimal-output-template.md","f61de8986573aa22ab1bc37235b063541a0209e1033b7c7c0a587dbd8b120a98"
"md","module-help-generate","bmb","bmb/workflows/module/module-help-generate.md","c3e0fdec202582f13c471355925d319fd33b475514644c02c4b2d807095427bd"
"md","module-standards","bmb","bmb/workflows/module/data/module-standards.md","4314e487a73c5cb6a85357e8ae71e4e7bfbd75ae395e19056c109c4587d4dd8e"
"md","module-yaml-conventions","bmb","bmb/workflows/module/data/module-yaml-conventions.md","669831f40384bc07982882a85cf050b725151fa5e1fcd711447c54831600e379"
"md","output-format-standards","bmb","bmb/workflows/workflow/data/output-format-standards.md","e88aa0032d0a2f6366d43244e739dcd67c1bb2525402c20d2e4d89ea6d394104"
"md","persona-properties","bmb","bmb/workflows/agent/data/persona-properties.md","26ad8d8dc3aae7cdb0818ce26685c9970e3adffefbac1911ce5ee40ed00c7a6b"
"md","principles-crafting","bmb","bmb/workflows/agent/data/principles-crafting.md","dc22ed0b426c290119d0295fdf280a2182b6027df45ea2679dab9d10e974b847"
"md","step-00-conversion","bmb","bmb/workflows/workflow/steps-c/step-00-conversion.md","c2fa704c6af768516520aabd21c8231e7d67a6c030aca6833b00d9bf47aa4049"
"md","step-01-brainstorm","bmb","bmb/workflows/agent/steps-c/step-01-brainstorm.md","3977b82c7bf9431a90f4ed8f1aa6067cfc66ee658bceea283d5d631cc05200df"
"md","step-01-discovery","bmb","bmb/workflows/workflow/steps-c/step-01-discovery.md","8b7c7b6e22e8bacf8dc2612d07e2142bcb05590b005928ac548648036dd4062c"
"md","step-01-init-continuable-template","bmb","bmb/workflows/workflow/templates/step-01-init-continuable-template.md","1ea222b3c2a2a569515ea25493e8bc6205745e1610a2df5a1d70348e76cd48e5"
"md","step-01-load-brief","bmb","bmb/workflows/module/steps-c/step-01-load-brief.md","06f46a88014817367f8991d9cd697cfff2cfb229c790ec3dc07674d19cdfaf81"
"md","step-01-load-target","bmb","bmb/workflows/module/steps-e/step-01-load-target.md","e5e15625642b5fe5836dc57a150f043e2a87355ecd76097993ce9efd233bca21"
"md","step-01-load-target","bmb","bmb/workflows/module/steps-v/step-01-load-target.md","8006a13b76b69c385ff35c2d703f125c235779d3a8561091411e3d6e1dc47bce"
"md","step-01-validate","bmb","bmb/workflows/workflow/steps-v/step-01-validate.md","0a0a7dbcbbdaa1d35855c1a02cc999edb447a60062080775882d8982172e398c"
"md","step-01-validate-max-mode","bmb","bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md","a85ea69b45449ac7f6d9bb0ecb3a5c30cf87dba755c6cf7065b268103ebba795"
"md","step-01-welcome","bmb","bmb/workflows/module/steps-b/step-01-welcome.md","ed259839a715cdd016ae5161c375f2b21c2038dafe4bb4419c85e61d286609b7"
"md","step-01b-continuation","bmb","bmb/workflows/workflow/steps-c/step-01b-continuation.md","d4744e00afb0ddfddd60f8ccf33d3f0b930d5edfa6da7bcab174e5cae4ed4011"
"md","step-01b-continue","bmb","bmb/workflows/module/steps-c/step-01b-continue.md","fd8d93b04c057fb7cf2a8c7c6811cb6826900d1f17b49692f9d7909e05cfc4d8"
"md","step-01b-structure","bmb","bmb/workflows/workflow/steps-v/step-01b-structure.md","dc1efc9dfa9180798102341c0522512ee4f29903f5ff1c78fe9a3ce0c1604737"
"md","step-02-classification","bmb","bmb/workflows/workflow/steps-c/step-02-classification.md","560d01ce4db22bc094f88657dc1b2f8135fc290b98a638a4b79de5a685fb6847"
"md","step-02-discovery","bmb","bmb/workflows/agent/steps-c/step-02-discovery.md","3f8ff9b7ca8d9e556fa3d624b9c58975f6cd44438681223795648aa3d8b7099f"
"md","step-02-file-structure","bmb","bmb/workflows/module/steps-v/step-02-file-structure.md","fc0acf419646452140b033995993f288fa3d97fd41bbd48f7502e319bb326817"
"md","step-02-frontmatter-validation","bmb","bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md","26627ab0efe0b824ab15ef82e64e0d41f0a98a9663d4a39d542f4f65a2ef170a"
"md","step-02-select-edit","bmb","bmb/workflows/module/steps-e/step-02-select-edit.md","500b040c7c5540505c83932cc880de02727576f25404524bdb4be1554c261491"
"md","step-02-spark","bmb","bmb/workflows/module/steps-b/step-02-spark.md","3e054a19fe1a5166759e09a2fb3788d244f7c4f776d28663339401d8b2ac25e2"
"md","step-02-structure","bmb","bmb/workflows/module/steps-c/step-02-structure.md","6177bdc1971c60299b00d9ce9f37106ecad405bf12d6378bedf30779f87a1e03"
"md","step-02b-path-violations","bmb","bmb/workflows/workflow/steps-v/step-02b-path-violations.md","ef6f2e0b8a6f608ba06a74466acdd74bf3cf6b9ac5290c58ec780e881f912ed1"
"md","step-03-apply-edit","bmb","bmb/workflows/module/steps-e/step-03-apply-edit.md","e9ec488bd25765c1769a8f39e9fd335260c17eb247f2c5246e55a37d2fb02bd7"
"md","step-03-config","bmb","bmb/workflows/module/steps-c/step-03-config.md","14f1bd471ae827aa5ba4947ead23cfbb728ccfa4d2dcf41f7080eed08db35760"
"md","step-03-menu-validation","bmb","bmb/workflows/workflow/steps-v/step-03-menu-validation.md","352f083900a5bd4c7580a21c097547415e67a030f147ddbf338e6605f5e17679"
"md","step-03-module-type","bmb","bmb/workflows/module/steps-b/step-03-module-type.md","387020cdbf5c17286425edcbdfad48d874bd80119aa1e5fd3ecafee59a07385d"
"md","step-03-module-yaml","bmb","bmb/workflows/module/steps-v/step-03-module-yaml.md","874c7a400b90d7c8a53c9348c6194812f21f2a95da1a80127956ed3fb208ae01"
"md","step-03-requirements","bmb","bmb/workflows/workflow/steps-c/step-03-requirements.md","b9ffb90bb9b58df2d1af69b72af4bf3975e8e2b02a22615eaa98da29ae45e269"
"md","step-03-sidecar-metadata","bmb","bmb/workflows/agent/steps-c/step-03-sidecar-metadata.md","4a7b64165d29ff01f5ae90c0daae3bb875485f77412a3623f299ea26f85f9df9"
"md","step-04-agent-specs","bmb","bmb/workflows/module/steps-v/step-04-agent-specs.md","5e2b8562eb57857c80cc5f5ee1e08290c39d79070668941ee155552820bd42a9"
"md","step-04-agents","bmb","bmb/workflows/module/steps-c/step-04-agents.md","097d8b87aa5f1402a0dbb3e9255977f7cfe8dba35e237df3ce2c614419091e19"
"md","step-04-persona","bmb","bmb/workflows/agent/steps-c/step-04-persona.md","8f37e0c5f118673a8489ad9b40a0714716c0ddcbad1ed7c834e8bdf67e33656a"
"md","step-04-review","bmb","bmb/workflows/module/steps-e/step-04-review.md","8fc1da4ab65f6639d860600c942e82a9c2ad7fa8fc3788bb9d35e98c811e9cbb"
"md","step-04-step-type-validation","bmb","bmb/workflows/workflow/steps-v/step-04-step-type-validation.md","22666ec35c68019eaa956f792e653bea6d9bb33adae88f81945423925b0aacd9"
"md","step-04-tools","bmb","bmb/workflows/workflow/steps-c/step-04-tools.md","0202c1f6e80366d0e6a970fa3484264bdbec56ac36b0253aee3db710a7b96ab7"
"md","step-04-vision","bmb","bmb/workflows/module/steps-b/step-04-vision.md","4200d1b6811ae7e16ef2ec5377f7a006b508353c42baa1d65ce5e919e35a4414"
"md","step-05-commands-menu","bmb","bmb/workflows/agent/steps-c/step-05-commands-menu.md","13d355dd79eedbbaa4e3b73ef4c7336edf11cf86d3d110bd99154c6405c8f543"
"md","step-05-confirm","bmb","bmb/workflows/module/steps-e/step-05-confirm.md","f864c0d7c0f2178dbe5ee785fd6136a097801de22fe9927cc717174465eace77"
"md","step-05-identity","bmb","bmb/workflows/module/steps-b/step-05-identity.md","bf6750cdea36d19553295d201d5cf3cc05bba724b4cf105ae297b4fc328ddbe8"
"md","step-05-output-format-validation","bmb","bmb/workflows/workflow/steps-v/step-05-output-format-validation.md","d8aed144c932f4d7615b595696a7849d4a8ce468ac632f1316b3a3efe0337f5d"
"md","step-05-plan-review","bmb","bmb/workflows/workflow/steps-c/step-05-plan-review.md","1896308083a01fdbb2c723e3d8f11f60e0423dd2e1d46949e51f6ed2a2bb9cf3"
"md","step-05-workflow-specs","bmb","bmb/workflows/module/steps-v/step-05-workflow-specs.md","d2b3b63e54480646b5524b3bd32c0a6acfb410c0ebfb48991cbf3a43b2f5be5b"
"md","step-05-workflows","bmb","bmb/workflows/module/steps-c/step-05-workflows.md","ee6ba8767d893f96428a425119039014b5d4d3c2a9e65d59092f100c668c52c0"
"md","step-06-activation","bmb","bmb/workflows/agent/steps-c/step-06-activation.md","2f7923d26cfac1698d2e2d3272cb644947a4d4d705a4236e29f4bb16a4b903df"
"md","step-06-design","bmb","bmb/workflows/workflow/steps-c/step-06-design.md","a59fef28936210a6c0edeaba5e4b02af6188950fc6482eb9365d2a93bb8e727c"
"md","step-06-docs","bmb","bmb/workflows/module/steps-c/step-06-docs.md","8e6791e97658a3288d297b61e1396ee3eda64d087077af7a47880f33bd5456d1"
"md","step-06-documentation","bmb","bmb/workflows/module/steps-v/step-06-documentation.md","3c2cda05dba1da28bfecac96b442dd6b260916a5d387255d8a5f8aabf775918a"
"md","step-06-users","bmb","bmb/workflows/module/steps-b/step-06-users.md","876c8a8f186569e99e42a1a5a3f7b94f33081306af9b1f354250285fbb1616c8"
"md","step-06-validation-design-check","bmb","bmb/workflows/workflow/steps-v/step-06-validation-design-check.md","934be5b8740504411c29c92caa162bde9f9f5b76f9b51f900cddc81ce20afc48"
"md","step-07-build-agent","bmb","bmb/workflows/agent/steps-c/step-07-build-agent.md","3a82c276e43e54faef410a2ac8d4f0f8f0bfd80d085aa563da2334cb30b76448"
"md","step-07-complete","bmb","bmb/workflows/module/steps-c/step-07-complete.md","5e62ae3e42648d1bb9e4ad77c0b01eff36eee498d8539804123286cff8ae685e"
"md","step-07-foundation","bmb","bmb/workflows/workflow/steps-c/step-07-foundation.md","496ab7074b6678d0a3ce5a89aec60d3867fb224a7265b004e5e438a80aa6fec7"
"md","step-07-installation","bmb","bmb/workflows/module/steps-v/step-07-installation.md","e0067d8cf1ad2b2a0cbdd645ef0b3d897f0424f80eb1ac6c0890a1c1a9f90bbf"
"md","step-07-instruction-style-check","bmb","bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md","f637bce8213eed574a5b4d65ee043c1aedfdedf76a1f0d2603f3002a361cb5be"
"md","step-07-value","bmb","bmb/workflows/module/steps-b/step-07-value.md","5634beb03472aee5eba35e5c83d1b0ef502055e6fdca6f16698f9f6ac1cb53b4"
"md","step-08-agents","bmb","bmb/workflows/module/steps-b/step-08-agents.md","e33c9857d1f5a43371a34f56ab1e4c1e3b8aa9056eb7dd7aa2e928c3b552e34e"
"md","step-08-build-step-01","bmb","bmb/workflows/workflow/steps-c/step-08-build-step-01.md","dd3677dd82dbcc6339a696a1899c8283e6fb23b187ddf0d5bc9122e0d29546ad"
"md","step-08-celebrate","bmb","bmb/workflows/agent/steps-c/step-08-celebrate.md","8982e0ca16a2bbeed292605d7e07c714c92c5c7e5f25418a36129175c0432495"
"md","step-08-collaborative-experience-check","bmb","bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md","14b9afce8eb7fe59d3b8cc3a44295b955d4419fed0e8d1a6b0ac31a3ef3cc610"
"md","step-08-report","bmb","bmb/workflows/module/steps-v/step-08-report.md","e9080fe17dc98280a1d2d7adeaca039d185f580307d43f1224dcc9cf44d62101"
"md","step-08b-subprocess-optimization","bmb","bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md","cda18ba6427b1fb8d7266123be8e059c4289ed2b62abc3a39bbae8ea8593227c"
"md","step-09-build-next-step","bmb","bmb/workflows/workflow/steps-c/step-09-build-next-step.md","c6fd5d88991d33c9a947f3e0c49181231b95a2baa5c93ac9ac71b2dbd568bcf2"
"md","step-09-cohesive-review","bmb","bmb/workflows/workflow/steps-v/step-09-cohesive-review.md","cf604f0dab7aa11af521f2270a9c96fa02c7f99f3430811db1ae25dd59dbe946"
"md","step-09-workflows","bmb","bmb/workflows/module/steps-b/step-09-workflows.md","d0a8f1b824d1423f9a5544112afe03725c4b8196a0be62b32c161a930f07e0ee"
"md","step-10-confirmation","bmb","bmb/workflows/workflow/steps-c/step-10-confirmation.md","b5cc8dab668df3888b689f272cc39706471a86286542ef807b176abca5a93ddf"
"md","step-10-report-complete","bmb","bmb/workflows/workflow/steps-v/step-10-report-complete.md","ec38ede67f999076e3df5eaf3cb88f1f069791cd770dda826c101cac61a1e814"
"md","step-10-tools","bmb","bmb/workflows/module/steps-b/step-10-tools.md","0987d73d4335b6779ca2cd27d2e7620eef92b98cece2d9aa442fe243435c845f"
"md","step-11-completion","bmb","bmb/workflows/workflow/steps-c/step-11-completion.md","49e0f7f8d6aa4ac73828a8cbce8cf9ab0816871009559673dcbbe716c9ed21f0"
"md","step-11-plan-validation","bmb","bmb/workflows/workflow/steps-v/step-11-plan-validation.md","58e4c8a2363cc7eef8b4f1c86c52a03d94e6e160462c34478ff851b2232be8c8"
"md","step-11-scenarios","bmb","bmb/workflows/module/steps-b/step-11-scenarios.md","d5ceda11834165ce9b6111d754ce5dbbbee11f34411805c2cc7d7f5fcde1cda8"
"md","step-12-creative","bmb","bmb/workflows/module/steps-b/step-12-creative.md","495309304d1a68b4b0dbe4b5fba0548092641b216b5c57d7cfd6708679898d43"
"md","step-13-review","bmb","bmb/workflows/module/steps-b/step-13-review.md","5a6050a0ebf2046c3730c951572ec17e04bf0e9ccf145b8d0aa3d03235e11477"
"md","step-14-finalize","bmb","bmb/workflows/module/steps-b/step-14-finalize.md","09aba595988eda5bece47552e8b93241780019169e421af5bb6faa33abd71b4a"
"md","step-1b-template","bmb","bmb/workflows/workflow/templates/step-1b-template.md","ec4b361c53e6582c2b610b7a96241bd2726acb98dfab7e4a7ef005c3f4140093"
"md","step-e-01-assess-workflow","bmb","bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md","0b1a8a9a6308d428ca8ea285054ca7c6127d8d712e808e13d53c66393872a42a"
"md","step-e-02-discover-edits","bmb","bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md","e6dcbf4d638eba3ee5aafb89db958b71c2bea17c56c1724c3741174e943f1c0c"
"md","step-e-03-fix-validation","bmb","bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md","f0d07b596606ca6c34616a89b210f09c71ed1b87acce9148e4e88c21d91bdc21"
"md","step-e-04-direct-edit","bmb","bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md","a4afa5e0942e386ebaebad2d815144ce08f067024d8e7e2bc29874241cf41e4e"
"md","step-e-05-apply-edit","bmb","bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md","3e5a73e07176ec70e742561c87b6892ca351397f43061a6d2b10d6b7cbcdb26f"
"md","step-e-06-validate-after","bmb","bmb/workflows/workflow/steps-e/step-e-06-validate-after.md","969677115937443e64cc1f01c3acd91c87e0e0d5288ce1bac4db8319d4dd6273"
"md","step-e-07-complete","bmb","bmb/workflows/workflow/steps-e/step-e-07-complete.md","1d5f6b8b3830c46b71c5f9d81d6a522879d118521584c40121dc953a9d78b84d"
"md","step-file-rules","bmb","bmb/workflows/workflow/data/step-file-rules.md","1b470e3d55a8aed1b0724612d1b84524147eabb27e9fa46886ec5d0df7a674f3"
"md","step-template","bmb","bmb/workflows/workflow/templates/step-template.md","3d1b8c2ed88ceeb1545c85c2fe6c34352b2343fb8f9d1a1fba768ac6fc10eb31"
"md","step-type-patterns","bmb","bmb/workflows/workflow/data/step-type-patterns.md","9c5f50d2ddaf3d50d54ee29e21a323bc82f72936dfaf67ff6641fa83c4c68fec"
"md","subprocess-optimization-patterns","bmb","bmb/workflows/workflow/data/subprocess-optimization-patterns.md","533ec5fce72104b1b220c40333489241f55291fdd7973e7235f8d2d4b3d193a4"
"md","trimodal-workflow-structure","bmb","bmb/workflows/workflow/data/trimodal-workflow-structure.md","e83b38d8abed9a06495f3da39d8db6d24cd00cf5b5369577f422f22e2b7695e9"
"md","understanding-agent-types","bmb","bmb/workflows/agent/data/understanding-agent-types.md","1f852c86102211c6db08c9d1ed60d63ec7cd460f1bafd308cb3b6841114d1683"
"md","v-01-load-review","bmb","bmb/workflows/agent/steps-v/v-01-load-review.md","a0dc536b3523025be2f0b823b9343e46bffc1b2bea847f6e52c7f6e7203d1c8a"
"md","v-02a-validate-metadata","bmb","bmb/workflows/agent/steps-v/v-02a-validate-metadata.md","32b227f2d8fd18637b1d5b78a9598e2600e41f1a70e8caff846a18c287b2ddb1"
"md","v-02b-validate-persona","bmb","bmb/workflows/agent/steps-v/v-02b-validate-persona.md","b7535cdf8ae862bf3f3994b900343b73028485d9843dc7df9678253a1e0e65b4"
"md","v-02c-validate-menu","bmb","bmb/workflows/agent/steps-v/v-02c-validate-menu.md","33782859da582ac82acd88be9f604679d7b148dc6fbf0bc0509288cf7d9d0d9e"
"md","v-02d-validate-structure","bmb","bmb/workflows/agent/steps-v/v-02d-validate-structure.md","69c8698961d714f9806d7657b6d9aac88ddf8c9a7c5590bdc764d11d54c6f281"
"md","v-02e-validate-sidecar","bmb","bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md","9eb2ec9001fbc2ffea80a9158d4d496c6acab2b965d928abc2843555508a6458"
"md","v-03-summary","bmb","bmb/workflows/agent/steps-v/v-03-summary.md","db9b978c1569afa254184960a9c31ae71a8356a6def57ba09c0961f4efa46ee0"
"md","workflow-chaining-standards","bmb","bmb/workflows/workflow/data/workflow-chaining-standards.md","6aede9a3350786f71687c470038748ad255859e310cda854d147644216bf9bfe"
"md","workflow-create-agent","bmb","bmb/workflows/agent/workflow-create-agent.md","5b83913d4947e77a5137a4fabbe36ca338d45f80afc5c1dedb93c343dd1310c3"
"md","workflow-create-module","bmb","bmb/workflows/module/workflow-create-module.md","be3147584de6a3740071b9c80483d8d75f3b4fd818e5c2555cf03ce5d6d4c98c"
"md","workflow-create-module-brief","bmb","bmb/workflows/module/workflow-create-module-brief.md","7c254d7d318b0ee3a8646acf50b59eb744d960614be5d541a65c54a22f569813"
"md","workflow-create-workflow","bmb","bmb/workflows/workflow/workflow-create-workflow.md","5eadc6e949ae2b453811f79d58da1b4800ff6a3f713a181369fd5d88726407ff"
"md","workflow-edit-agent","bmb","bmb/workflows/agent/workflow-edit-agent.md","c72408f1c72bcbf15a7a8072bc07cf023d25c16fa928bb18f682db1177694fb3"
"md","workflow-edit-module","bmb","bmb/workflows/module/workflow-edit-module.md","c60fa81100c0dab568bb0d1f55d5035c59ca66ebd7f48ca503bbc4866ccdcb82"
"md","workflow-edit-workflow","bmb","bmb/workflows/workflow/workflow-edit-workflow.md","012b2ec4997fcab5b601b475f9aed2a72da41370ea5377bb03064f98c74be91d"
"md","workflow-examples","bmb","bmb/workflows/workflow/data/workflow-examples.md","858a3052f65cad4d6288b8996953e7ae674b00626fe52416c1c088c150847c05"
"md","workflow-rework-workflow","bmb","bmb/workflows/workflow/workflow-rework-workflow.md","df97ef45745a89e90b2db9f619aa40bbcc8ea93bd258247d0289fee2add70cf5"
"md","workflow-spec-template","bmb","bmb/workflows/module/templates/workflow-spec-template.md","e226dc5357c301dfba14dce94bfaad692bfb0f025599a82ae4c97d494627c7af"
"md","workflow-template","bmb","bmb/workflows/workflow/templates/workflow-template.md","6b39e89217d20c7d917602874978bbf018f0d7d3e33e0e753331a602f114fc14"
"md","workflow-type-criteria","bmb","bmb/workflows/workflow/data/workflow-type-criteria.md","60dc1e893f39a9a67540196b6cd5d3424e1e29efd0622962ffb39665b10265bb"
"md","workflow-validate-agent","bmb","bmb/workflows/agent/workflow-validate-agent.md","a1459e71ef5ef12d674f029d45e9560386987e33affc6b8b8e45b302a423bd62"
"md","workflow-validate-max-parallel-workflow","bmb","bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md","4133b5a77c454fc48a55d5e0896fe2d7d21d9e9e39c3e2024febe200df16b3ed"
"md","workflow-validate-module","bmb","bmb/workflows/module/workflow-validate-module.md","7e02b817d7f6bc21ff5bee00f194996a0dd8385bcabd026b2efdcc3f157bebb9"
"md","workflow-validate-workflow","bmb","bmb/workflows/workflow/workflow-validate-workflow.md","f792e9b04ee4fe43e40b10499714e3bbb085c2304ddc478faf9b1bb333e11b72"
"md","yy-mm-dd-entry-template","bmb","bmb/workflows/agent/data/reference/with-sidecar/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md","afad2b3f97e0a82fb371ce89cab74734eb5b5c1238dfaed02f5967b581bf7c47"
"yaml","config","bmb","bmb/config.yaml","30d714f6a274d8d789d65aadaaaf53337999365ebc1a277a705538203f188a24"
"csv","default-party","bmm","bmm/teams/default-party.csv","5af107a5b9e9092aeb81bd8c8b9bbe7003afb7bc500e64d56da7cc27ae0c4a6e"
"csv","documentation-requirements","bmm","bmm/workflows/document-project/documentation-requirements.csv","d1253b99e88250f2130516b56027ed706e643bfec3d99316727a4c6ec65c6c1d"
"csv","domain-complexity","bmm","bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv","f775f09fb4dc1b9214ca22db4a3994ce53343d976d7f6e5384949835db6d2770"
"csv","domain-complexity","bmm","bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv","3dc34ed39f1fc79a51f7b8fc92087edb7cd85c4393a891d220f2e8dd5a101c70"
"csv","module-help","bmm","bmm/module-help.csv","70ce6fcf717801e5b3d47f4d0496b027c5dc4e1ce0a0508613f5a4abd828a354"
"csv","project-types","bmm","bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv","7a01d336e940fb7a59ff450064fd1194cdedda316370d939264a0a0adcc0aca3"
"csv","project-types","bmm","bmm/workflows/3-solutioning/create-architecture/data/project-types.csv","12343635a2f11343edb1d46906981d6f5e12b9cad2f612e13b09460b5e5106e7"
"json","project-scan-report-schema","bmm","bmm/workflows/document-project/templates/project-scan-report-schema.json","53255f15a10cab801a1d75b4318cdb0095eed08c51b3323b7e6c236ae6b399b7"
"md","architecture-decision-template","bmm","bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md","5d9adf90c28df61031079280fd2e49998ec3b44fb3757c6a202cda353e172e9f"
"md","checklist","bmm","bmm/workflows/4-implementation/code-review/checklist.md","e30d2890ba5c50777bbe04071f754e975a1d7ec168501f321a79169c4201dd28"
"md","checklist","bmm","bmm/workflows/4-implementation/correct-course/checklist.md","24a3f3e0108398d490dcfbe8669afc50226673cad494f16a668b515ab24bf709"
"md","checklist","bmm","bmm/workflows/4-implementation/create-story/checklist.md","5154aa874c6a79285eba644493e87411c6021baff72859490db6e693d15e0bb9"
"md","checklist","bmm","bmm/workflows/4-implementation/dev-story/checklist.md","630b68c6824a8785003a65553c1f335222b17be93b1bd80524c23b38bde1d8af"
"md","checklist","bmm","bmm/workflows/4-implementation/sprint-planning/checklist.md","80b10aedcf88ab1641b8e5f99c9a400c8fd9014f13ca65befc5c83992e367dd7"
"md","checklist","bmm","bmm/workflows/document-project/checklist.md","581b0b034c25de17ac3678db2dbafedaeb113de37ddf15a4df6584cf2324a7d7"
"md","checklist","bmm","bmm/workflows/qa/automate/checklist.md","83cd779c6527ff34184dc86f9eebfc0a8a921aee694f063208aee78f80a8fb12"
"md","deep-dive-instructions","bmm","bmm/workflows/document-project/workflows/deep-dive-instructions.md","8cb3d32d7685e5deff4731c2003d30b4321ef6c29247b3ddbe672c185e022604"
"md","deep-dive-template","bmm","bmm/workflows/document-project/templates/deep-dive-template.md","6198aa731d87d6a318b5b8d180fc29b9aa53ff0966e02391c17333818e94ffe9"
"md","epics-template","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md","b8ec5562b2a77efd80c40eba0421bbaab931681552e5a0ff01cd93902c447ff7"
"md","full-scan-instructions","bmm","bmm/workflows/document-project/workflows/full-scan-instructions.md","6c6e0d77b33f41757eed8ebf436d4def69cd6ce412395b047bf5909f66d876aa"
"md","index-template","bmm","bmm/workflows/document-project/templates/index-template.md","42c8a14f53088e4fda82f26a3fe41dc8a89d4bcb7a9659dd696136378b64ee90"
"md","instructions","bmm","bmm/workflows/4-implementation/correct-course/instructions.md","afdf74701cd2e1200efeb4af24e99a52b013c4c150c1736c56b5d34f003c0a94"
"md","instructions","bmm","bmm/workflows/4-implementation/retrospective/instructions.md","c1357ee8149935b391db1fd7cc9869bf3b450132f04d27fbb11906d421923bf8"
"md","instructions","bmm","bmm/workflows/4-implementation/sprint-planning/instructions.md","8ac972eb08068305223e37dceac9c3a22127062edae2692f95bc16b8dbafa046"
"md","instructions","bmm","bmm/workflows/4-implementation/sprint-status/instructions.md","0d2a75639c9e402c06bf0dfab51cdacf8f63e4401ae4bc5e7fe9e92e7779bba1"
"md","instructions","bmm","bmm/workflows/document-project/instructions.md","8807cf832c2bce8062280e10ae00928e4e147d148dd326fb6437571531e22723"
"md","instructions","bmm","bmm/workflows/qa/automate/instructions.md","3f3505f847f943b2f4a0699017c16e15fa3782f51090a0332304d7248e020e0c"
"md","prd-purpose","bmm","bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md","49c4641b91504bb14e3887029b70beacaff83a2de200ced4f8cb11c1356ecaee"
"md","prd-template","bmm","bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md","7ccccab9c06a626b7a228783b0b9b6e4172e9ec0b10d47bbfab56958c898f837"
"md","product-brief.template","bmm","bmm/workflows/1-analysis/create-product-brief/product-brief.template.md","ae0f58b14455efd75a0d97ba68596a3f0b58f350cd1a0ee5b1af69540f949781"
"md","project-context-template","bmm","bmm/data/project-context-template.md","facd60b71649247146700b1dc7d709fa0ae09487f7cf2b5ff8f5ce1b3a8427e8"
"md","project-context-template","bmm","bmm/workflows/generate-project-context/project-context-template.md","54e351394ceceb0ac4b5b8135bb6295cf2c37f739c7fd11bb895ca16d79824a5"
"md","project-overview-template","bmm","bmm/workflows/document-project/templates/project-overview-template.md","a7c7325b75a5a678dca391b9b69b1e3409cfbe6da95e70443ed3ace164e287b2"
"md","readiness-report-template","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md","0da97ab1e38818e642f36dc0ef24d2dae69fc6e0be59924dc2dbf44329738ff6"
"md","research.template","bmm","bmm/workflows/1-analysis/research/research.template.md","507bb6729476246b1ca2fca4693986d286a33af5529b6cd5cb1b0bb5ea9926ce"
"md","source-tree-template","bmm","bmm/workflows/document-project/templates/source-tree-template.md","109bc335ebb22f932b37c24cdc777a351264191825444a4d147c9b82a1e2ad7a"
"md","step-01-discover","bmm","bmm/workflows/generate-project-context/steps/step-01-discover.md","0f1455c018b2f6df0b896d25e677690e1cf58fa1b276d90f0723187d786d6613"
"md","step-01-document-discovery","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md","9204972d801c28a76433230942c81bacc171e6b6951d3226cea9e7ca5c9310f1"
"md","step-01-init","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md","256c5f87e9449ab921614e2f23644a6b5a1222178320d863429ee2a284905e32"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/domain-steps/step-01-init.md","efee243f13ef54401ded88f501967b8bc767460cec5561b2107fc03fe7b7eab1"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/market-steps/step-01-init.md","8dbd4a1520451945e8a5d5bccb489f9186b76f57f5bf3c77dbdf088e26ac7730"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/technical-steps/step-01-init.md","c9a1627ecd26227e944375eb691e7ee6bc9f5db29a428a5d53e5d6aef8bb9697"
"md","step-01-init","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md","6ad502fa5bf5639eaf6a42e8f0bc0f2b811e0a3fd2ae3a24ed3333365f99e23c"
"md","step-01-init","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md","7b3467a29126c9498b57b06d688f610bcb7a68a8975208c209dd1103546bc455"
"md","step-01-init","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md","c730b1f23f0298853e5bf0b9007c2fc86e835fb3d53455d2068a6965d1192f49"
"md","step-01-mode-detection","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md","d3170f565ed21633a1f08b50c90349c93d1ec362fe6ec86c746f507796acd745"
"md","step-01-understand","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md","a65eb3b993d83f24c4f14cd0117d1c21ad5013b32fcdcf7276c6e4ba0aed7d61"
"md","step-01-validate-prerequisites","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md","5ba8ba972e8376339ed2c9b75e4f98125521af0270bb5dff6e47ec73137e01de"
"md","step-01b-continue","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md","08bd92dc8486983ac8b5b19efd943d2fd83f2a6f6ba247aad9bb075e12b20860"
"md","step-01b-continue","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md","4e8af43d1847236333566efaa4b0b5e63d706e673872705ee6f215a7ccb9d715"
"md","step-01b-continue","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md","fde4bf8fa3a6d3230d20cb23e71cbc8e2db1cd2b30b693e13d0b3184bc6bb9a6"
"md","step-01b-continue","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md","c6cc389b49682a8835382d477d803a75acbad01b24da1b7074ce140d82b278dc"
"md","step-02-context","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md","07387b1d8c2f92c646bdbad88ad1401d0295c3adecc1637f07630173d8939088"
"md","step-02-context-gathering","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md","a79d99cc35e43442acda2ce7da80f26f4f50e2be08f38c10e4e5695ce0ff6016"
"md","step-02-customer-behavior","bmm","bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md","ca77a54143c2df684cf859e10cea48c6ea1ce8e297068a0f0f26ee63d3170c1e"
"md","step-02-design-epics","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md","2c18d76a9b73eae8b9f552cd4252f8208a0c017624ddbaf6bcbe7b28ddfa217e"
"md","step-02-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md","d13de9d4a4af17f04ae1af7966b3071af54a6445c0944ee83af129ef078ebe5d"
"md","step-02-discovery","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md","6d340f83d62f873a4c09371a38c77dc9ce9726cd6cd1cf9bf89ddec09f36af4c"
"md","step-02-domain-analysis","bmm","bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md","385a288d9bbb0adf050bcce4da4dad198a9151822f9766900404636f2b0c7f9d"
"md","step-02-generate","bmm","bmm/workflows/generate-project-context/steps/step-02-generate.md","0fff27dab748b4600d02d2fb083513fa4a4e061ed66828b633f7998fcf8257e1"
"md","step-02-investigate","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md","dafa8215d11132018f0ca706d4c1073cc7c97ae006f0f0b7667978e84bfbee3e"
"md","step-02-prd-analysis","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md","f8c4f293c0a040fa9f73829ffeabfa073d0a8ade583adaefb26431ec83a76398"
"md","step-02-technical-overview","bmm","bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md","9c7582241038b16280cddce86f2943216541275daf0a935dcab78f362904b305"
"md","step-02-vision","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md","a6262132ec081165358941df207d02e29e5ab00b4f516adf2772effa46d21dd5"
"md","step-03-competitive-landscape","bmm","bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md","f10aa088ba00c59491507f6519fb314139f8be6807958bb5fd1b66bff2267749"
"md","step-03-complete","bmm","bmm/workflows/generate-project-context/steps/step-03-complete.md","cf8d1d1904aeddaddb043c3c365d026cd238891cd702c2b78bae032a8e08ae17"
"md","step-03-core-experience","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md","b23ce8244db8a183761a9420fa54ff285bbf7c54b2d30c62c32d3cf8cb4c2f00"
"md","step-03-create-stories","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md","e6deb22291f05a96e56f5cb3ab88eca3bb6df564208edd8fcc693d4c27139f29"
"md","step-03-customer-pain-points","bmm","bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md","ce7394a73a7d3dd627280a8bef0ed04c11e4036275acc4b50c666fd1d84172c4"
"md","step-03-epic-coverage-validation","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md","f425bcac163b9ea63a004039ff65fffea3499d9e01a2821bb11e0e17e6b6fc52"
"md","step-03-execute","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md","463a7865ed9efde3cf073e87ecae591bd668f62746b42f4f4c94a1ba4e4b9da0"
"md","step-03-generate","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md","c59fe4fe129c2b0461ba0382fdbfcf9160c1997a1a0dca271261bdf006ff2364"
"md","step-03-integration-patterns","bmm","bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md","005d517a2f962e2172e26b23d10d5e6684c7736c0d3982e27b2e72d905814ad9"
"md","step-03-starter","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md","535124eb8228ffa628fee5b2e89b9a66d4c2c5d29485c11ccc0d1062b6d674e2"
"md","step-03-success","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md","7b7b339c36ab34953dc542f48a3ed38da420078ee62bbf840a4cb939a3121567"
"md","step-03-users","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md","7d3884a502341bd5912eac8b24af5bb961385f353b4a37cee916f0a2b2226b97"
"md","step-04-architectural-patterns","bmm","bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md","4636f23e9c585a7a0c90437a660609d913f16362c3557fc2e71d408d6b9f46ce"
"md","step-04-customer-decisions","bmm","bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md","17dde68d655f7c66b47ed59088c841d28d206ee02137388534b141d9a8465cf9"
"md","step-04-decisions","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md","41829279a6ffec9b87870fc0a87e8738b529f07f47ec65dabd983e39d582f8b8"
"md","step-04-emotional-response","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md","45ff4c3e907f32c91d78f101a78b075f5731642628474c36b7e06c13fd9519e6"
"md","step-04-final-validation","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md","c507a3ddf39f657d1c9934c9105d079a7fe78694f19bd519e845a010b3afbda4"
"md","step-04-journeys","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md","ff297509882def062ab58de4ae922472dd05b562338689c8ac25a24bedad7dca"
"md","step-04-metrics","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md","887af175137069fe498f1fd26db2995d1ad00d658cf15598846ae30d03ce0ce5"
"md","step-04-regulatory-focus","bmm","bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md","d22035529efe91993e698b4ebf297bf2e7593eb41d185a661c357a8afc08977b"
"md","step-04-review","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md","aa246ba5793f3a1c6dd434b388b41ccfb9e675bb55664a900a4eb2486e2a40e3"
"md","step-04-self-check","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md","14e852bf6fa6f19a7457a774f255e1bc6247e6926a9d69d7631b832bf8e7e723"
"md","step-04-ux-alignment","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md","d2e15adf2aecc2c72f9bb9051e94042fc522fd7cfb16376f41bdcdd294319703"
"md","step-05-adversarial-review","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md","310bebff807efed4523acf507cfe98ff9bead3965627f969585ba8c12326d93f"
"md","step-05-competitive-analysis","bmm","bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md","ff6f606a80ffaf09aa325e38a4ceb321b97019e6542241b2ed4e8eb38b35efa8"
"md","step-05-domain","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md","af444794fffb622cd2d18604ed189cd2efe86c34626d16b5ac1c43b6c14ed551"
"md","step-05-epic-quality-review","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md","e7fd60676d6ade485de77ce2dd4229811912594cb924d6c15bae5d9bdf105a7d"
"md","step-05-implementation-research","bmm","bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md","e2b8a2c79bcebadc85f3823145980fa47d7e7be8d1c112f686c6223c8c138608"
"md","step-05-inspiration","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md","74ea94822de791eb24f2e2ca39c3acf01a98b2184f23b1c980e2ada6fd11ae5e"
"md","step-05-patterns","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md","b6bbca68efc7ff66d2f0fc39d8219898c63fd9c0923cb020ad8ac0d469e6fcff"
"md","step-05-scope","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md","bd7f8878dd8058e1932151d8cbc468bfc2c6dadb0258d93ed967189d0629dff4"
"md","step-05-technical-trends","bmm","bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md","fd6c577010171679f630805eb76e09daf823c2b9770eb716986d01f351ce1fb4"
"md","step-06-complete","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md","6594a18f37063fcaa0341845df7e59c7bae9543eb4d32d4a3a8e5fdd77402972"
"md","step-06-design-system","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md","6e3ead73073ef51ac952f4cf9491635e5d6825525a4af5d5cbf6e2675db69404"
"md","step-06-final-assessment","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md","813329a73f0e48374f337ec719e6b7715b95fb3ba43645143b882ea41acc4d91"
"md","step-06-innovation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md","efdd55674bd8329a5d963396c841523d73ffebd168add77bc01425e478e22bc4"
"md","step-06-research-completion","bmm","bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md","30d5e14f39df193ebce952dfed2bd4009d68fe844e28ad3a29f5667382ebc6d2"
"md","step-06-research-synthesis","bmm","bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md","4c7727b8d3c6272c1b2b84ea58a67fc86cafab3472c0caf54e8b8cee3fa411fc"
"md","step-06-research-synthesis","bmm","bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md","1f12aaeccd2d3225608ba00117c567a2097d22d35a5ba7580b45fb9c0a1d2814"
"md","step-06-resolve-findings","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md","e657af6e3687e15852c860f018b73aa263bdcf6b9d544771a8c0c715581a2c99"
"md","step-06-structure","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md","716819821cf7e2a6ce5852785e86e2c77c9f8d1d24e08b86889854365a78e552"
"md","step-07-defining-experience","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md","89964c435273a08b3065732a23bc0c3bc1290ac2ecd9339d9ff2eb6ecb890b06"
"md","step-07-project-type","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md","325e9853015fb844fc80c0b7c00526d0107dcae9a1bfe3b57d956940fc9e29ba"
"md","step-07-validation","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md","1305a67b660fcd61346de2bb8087547c8414f60381ba896762d71f6fa9cebeaf"
"md","step-08-complete","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md","b4dc514afd17e836458f6eb786318fdc2ecee1466c673eca4c800955ffae52e4"
"md","step-08-scoping","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md","8e043d237fb7d3af77b5375629dd4e47054832c98279024d66e090d48d766075"
"md","step-08-visual-foundation","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md","8aee1183b3c0e5f379e2c20512665e06ef1189d357ac9a845e3616be35a79c47"
"md","step-09-design-directions","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md","6ab5f1302ec43aed52f45a2842ae49dc4bd98b2d12109d5657c9f04e4b434f89"
"md","step-09-functional","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md","13ced8348b8bb0b7cd88f0400b538fabbcb1fb3c23525bf4fffb7ca9f4c37c8c"
"md","step-10-nonfunctional","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md","e37395a792ac3b81c635993c27748ebd6d781c755ed49e580cd7c78e5486a012"
"md","step-10-user-journeys","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md","30866f55e179d0985efcf57120e63dfbb1fa3ddb6fa9623c4ee0e0b9738f0467"
"md","step-11-component-strategy","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md","ed805fafa72fb703b1e89b3c59c0c2dbe99c3021e009858602a92cfb473727a6"
"md","step-11-polish","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md","935655a256562b6b3420c091a56067c34c35819343a78927ca138c9ea8b92a97"
"md","step-12-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md","5443ef1e08c70fdd15092db6f65cb67fe2cded357ed1b5f4918398e404901bf8"
"md","step-12-ux-patterns","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md","d9bfabc5322aca6e2ba512fa6b39bcdac885b8010dd8c4768c10e33524a04b08"
"md","step-13-responsive-accessibility","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md","f9f2ae70026eb5524a372332632240cea765360ed90a47fea316a65cc3e0e7ce"
"md","step-14-complete","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md","73cc7521dad3db2c730b06731a90df40016e67bdfefa6b6537a18d979c0f14df"
"md","step-e-01-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md","2bc88c9480ac5986c06672533ab2080b1ee01086033c8e441a8c80551c8a99ee"
"md","step-e-01b-legacy-conversion","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md","e6bbe9020e6986a620fc0299a48e6c31c9d1ec14691df11be71baeb79837bc92"
"md","step-e-02-review","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md","b2660d88a445dc3f8f168f96ca92d4a1a36949e3b39fbf6cda5c77129636d9b1"
"md","step-e-03-edit","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md","dfcc3e4f0b1ec050d4985af04dc02b28174a995e95327ca01ae4b8cac10cc1e5"
"md","step-e-04-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md","a1100f8639120311cbaf5a5a880db4e137216bc4bd0110b0926004107a99d3c3"
"md","step-v-01-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md","287c39e44b32faab52fb155a4a30ab3f31cf6ef5c599b8b15687e5bb3c97a447"
"md","step-v-02-format-detection","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md","251ea5a1cf7779db2dc39d5d8317976a27f84b421359c1974ae96c0943094341"
"md","step-v-02b-parity-check","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md","3481beae212bb0140c105d0ae87bb9714859c93a471048048512fd1278da2fcd"
"md","step-v-03-density-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md","5b95ecd032fb65f86b7eee7ce7c30c997dc2a8b5e4846d88c2853538591a9e40"
"md","step-v-04-brief-coverage-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md","97eb248c7d67e6e5121dd0b020409583998fba433799ea4c5c8cb40c7ff9c7c1"
"md","step-v-05-measurability-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md","2f331ee6d4f174dec0e4b434bf7691bfcf3a13c6ee0c47a65989badaa6b6a28c"
"md","step-v-06-traceability-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md","970ea67486211a611a701e1490ab7e8f2f98060a9f78760b6ebfdb9f37743c74"
"md","step-v-07-implementation-leakage-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md","f75d1d808fdf3d61b15bea55418b82df747f45902b6b22fe541e83b4ea3fa465"
"md","step-v-08-domain-compliance-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md","a1902baaf4eaaf946e5c2c2101a1ac46f8ee4397e599218b8dc030cd00c97512"
"md","step-v-09-project-type-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md","d53e95264625335184284d3f9d0fc6e7674f67bdf97e19362fc33df4bea7f096"
"md","step-v-10-smart-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md","22d48a72bc599f45bbf8c3e81d651d3a1265a6450866c0689bf287f43d7874a4"
"md","step-v-11-holistic-quality-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md","1022a1454aadff28e39fd5fa71dd76d8eefccfe438b9ef517a19b44d935c0f5b"
"md","step-v-12-completeness-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md","c966933a0ca3753db75591325cef4d4bdaf9639a1a63f9438758d32f7e1a1dda"
"md","step-v-13-report-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md","9184ef4045829406323c714044ca9c70152ad425e559019633b13829434f6378"
"md","tech-spec-template","bmm","bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md","6e0ac4991508fec75d33bbe36197e1576d7b2a1ea7ceba656d616e7d7dadcf03"
"md","template","bmm","bmm/workflows/4-implementation/create-story/template.md","29ba697368d77e88e88d0e7ac78caf7a78785a7dcfc291082aa96a62948afb67"
"md","ux-design-template","bmm","bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md","ffa4b89376cd9db6faab682710b7ce755990b1197a8b3e16b17748656d1fca6a"
"md","workflow","bmm","bmm/workflows/1-analysis/create-product-brief/workflow.md","5858d72a2fd8010a40d86d7e7581e44af9eb3432f13a236575035a21807e755a"
"md","workflow","bmm","bmm/workflows/2-plan-workflows/create-ux-design/workflow.md","10ffb0f43a4e204ecd1a67bf5bff52d6929847651ad096bbe833cf1f0eb198c5"
"md","workflow","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md","ddfe66e2ced3a092d0be1606d36c5eb9610602e939059c902b22da1aa202e904"
"md","workflow","bmm","bmm/workflows/3-solutioning/create-architecture/workflow.md","ad930c2c9b991fb56f0d04cfdbc69d04bffd5df2c515ca570ad7d388f56a055c"
"md","workflow","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md","d40eb6e04de52d4265af460322a9487bb2c241453b0a59940e1bb04836a7ba65"
"md","workflow","bmm","bmm/workflows/bmad-quick-flow/quick-dev/workflow.md","7e13f74e23f9de40ed15140b5cadb28a7462ad019dc345422b3aede59ad8e7f7"
"md","workflow","bmm","bmm/workflows/bmad-quick-flow/quick-spec/workflow.md","e7856a24e0f39108ae494569b8ceb2eb1ca10588ed3869c5feef98832c54db78"
"md","workflow","bmm","bmm/workflows/generate-project-context/workflow.md","0da857be1b7fb46fc29afba22b78a8b2150b17db36db68fd254ad925a20666aa"
"md","workflow-create-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md","2331a3f02fd4bc3628e3bb1684645e8392a77e8b5b9f918e55554616a2bfe06b"
"md","workflow-domain-research","bmm","bmm/workflows/1-analysis/research/workflow-domain-research.md","137509e99ad4b11c391ebe87832d4820c46da75ed8570dd5b5a71f4372b75c73"
"md","workflow-edit-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md","e433664058429f54b49237ad7b2eba43fb115b8b9c68c87846f9523405ac73ef"
"md","workflow-market-research","bmm","bmm/workflows/1-analysis/research/workflow-market-research.md","2798d9cbeab426df7f2bcc228771fc5d5e1a58302eef769e2bbd36ce7d7f43e4"
"md","workflow-technical-research","bmm","bmm/workflows/1-analysis/research/workflow-technical-research.md","16974efc305ab195209232eea5e7ab828df2c6244b8c2ba7ca4a517e90b38b64"
"md","workflow-validate-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md","5f7d3a188b5c68fb621b31da4ba62b75444615a0f8eadfe8c505c11f4a8e404c"
"xml","instructions","bmm","bmm/workflows/4-implementation/code-review/instructions.xml","1a6f0ae7d69a5c27b09de3efab2b205a007b466976acdeeaebf7f3abec7feb68"
"xml","instructions","bmm","bmm/workflows/4-implementation/create-story/instructions.xml","38eae4b503711a162f55ccd41b770248581a4357cbbfe1cf1bb34520307ccd63"
"xml","instructions","bmm","bmm/workflows/4-implementation/dev-story/instructions.xml","396eba2694f455e9aa8f0e123b4147799e07205cfb666a411e8a5d0d4b6b5daa"
"yaml","config","bmm","bmm/config.yaml","c105f7d0d1dbb0c8ce057cbc386fd96719832be3498367ac8eafc2a20cd5112d"
"yaml","deep-dive","bmm","bmm/workflows/document-project/workflows/deep-dive.yaml","a16b5d121604ca00fffdcb04416daf518ec2671a3251b7876c4b590d25d96945"
"yaml","full-scan","bmm","bmm/workflows/document-project/workflows/full-scan.yaml","8ba79b190733006499515d9d805f4eacd90a420ffc454e04976948c114806c25"
"yaml","sprint-status-template","bmm","bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml","0d7fe922f21d4f00e538c265ff90e470c3e2eca761e663d84b7a1320b2f25980"
"yaml","team-fullstack","bmm","bmm/teams/team-fullstack.yaml","da8346b10dfad8e1164a11abeb3b0a84a1d8b5f04e01e8490a44ffca477a1b96"
"yaml","workflow","bmm","bmm/workflows/4-implementation/code-review/workflow.yaml","4ddef804c51bd83ad51f39e752333383ab559c0986efb8404b659e4728c81ad8"
"yaml","workflow","bmm","bmm/workflows/4-implementation/correct-course/workflow.yaml","0d9c4502fc2f9524644918e33271d648bf7929e91eba8645e39d7d7c7e67eac7"
"yaml","workflow","bmm","bmm/workflows/4-implementation/create-story/workflow.yaml","7989989306494ad06bd5a08f9be73b50d791389226c3b2c8c281ffb8d078d70a"
"yaml","workflow","bmm","bmm/workflows/4-implementation/dev-story/workflow.yaml","36d144a797706f438f973d4fe0679b98096eb1b911f8b7df3f9a8db4fab5e9d2"
"yaml","workflow","bmm","bmm/workflows/4-implementation/retrospective/workflow.yaml","7eac3fda56bb7106a160b446121de55b25d20d60eadcf2caf1ca3245ad84208f"
"yaml","workflow","bmm","bmm/workflows/4-implementation/sprint-planning/workflow.yaml","3f31e4b0973525228549cef18123816d82dc45741dab1f48720eefb191876f81"
"yaml","workflow","bmm","bmm/workflows/4-implementation/sprint-status/workflow.yaml","f03d2804afca3ee29a612117f6bf090b455354a3557c2198ec9b8eb5c5900cef"
"yaml","workflow","bmm","bmm/workflows/document-project/workflow.yaml","9e2886d022d4054c0e6ca6580673f775415add7924961d6723ed13156200a819"
"yaml","workflow","bmm","bmm/workflows/qa/automate/workflow.yaml","670d28da3e20a445ae08ab3e907eaf3eaf13d9a08c4b26244344a0fd8f54a399"
"csv","default-party","cis","cis/teams/default-party.csv","e27e5a0480f41760da2fde5aeeccd425dae9c4a654105aab329ee1562cc83392"
"csv","design-methods","cis","cis/workflows/design-thinking/design-methods.csv","97a1fa87aaa355ce855c2c4e3bbfde59cb4ed2166cf9896496af786f10c13459"
"csv","innovation-frameworks","cis","cis/workflows/innovation-strategy/innovation-frameworks.csv","bd1d191062302353d2562a54751f8f263ce47e143202e2c0fe41315c2be9eb95"
"csv","module-help","cis","cis/module-help.csv","b55259cda5cc5d3facb33d673c783bd188500410ed1042bd792951760998cc63"
"csv","solving-methods","cis","cis/workflows/problem-solving/solving-methods.csv","f3a380b12b21ec2410d1ac44bc8ca1970b0a04a21bfe3dd0370ac7ed1ec0d2c0"
"csv","story-types","cis","cis/workflows/storytelling/story-types.csv","8cf3d49d3ce771f30b6d9c0c936d35f92b8af23e0962c876df832c02d605f1ce"
"md","instructions","cis","cis/workflows/design-thinking/instructions.md","b0a3e02f516bebe0144584ca78bb265cadc1bf2d693da945056117aaf58db5d2"
"md","instructions","cis","cis/workflows/innovation-strategy/instructions.md","bbcf33febc8d0c955a0e6b33ae36dbcbb20f98133183f870c7aae44678248859"
"md","instructions","cis","cis/workflows/problem-solving/instructions.md","5c215099daea5a941aacc32bb5e554f03ce6a08ca5d6ad134ad1de82cb9df59e"
"md","instructions","cis","cis/workflows/storytelling/instructions.md","1856d7f9ea7ec859c188630a6fafbccaaa05e9c8ea5463668842cc74a00d5c7e"
"md","README","cis","cis/workflows/design-thinking/README.md","c6eab6e3fe96a97731cc2b7d8d6ea20f5a9664d19f03fc5b2b34e1ac8952142e"
"md","README","cis","cis/workflows/innovation-strategy/README.md","88ab818502bf35c3e99eb8e277aa10244834b013913ecebd1de1449e54944650"
"md","README","cis","cis/workflows/problem-solving/README.md","1eb1bb254b197817249d53af6241cc8af5d9b324e6420eecb53c646ac1ffff8f"
"md","README","cis","cis/workflows/README.md","0488dc66b7b67b400289634b1a2f6acd10f87614fa3473b417ecb9f4c7e152a7"
"md","README","cis","cis/workflows/storytelling/README.md","c82b12133c5057c546c96432d574aa035ab1446178f9c64d247cdda9e1e2bfe4"
"md","template","cis","cis/workflows/design-thinking/template.md","7bcf6d0cd09de3c0d91f3f49ee280177365dabb64ed814b97e83e73082643c37"
"md","template","cis","cis/workflows/innovation-strategy/template.md","ab574d69fa13e21c806101a9089563b541013f6df44255d800ea24d4cb6d7136"
"md","template","cis","cis/workflows/problem-solving/template.md","c46fbdf42a1d9ad732f562e4add05020198ffc7ba18d134718e1cd960752c390"
"md","template","cis","cis/workflows/storytelling/template.md","290615dbd530dc13843a87ebedd107b390bcfd57cf68df67cd250dea8f49b2dd"
"yaml","config","cis","cis/config.yaml","edf49a94c97cd8e82c813831df3da061feeb0003bd920408bdaf60ff558ae0be"
"yaml","creative-squad","cis","cis/teams/creative-squad.yaml","5e1033c95a9679e2f8688be4409104aa0b98c6503abb0512447b6d7541dd4f61"
"yaml","workflow","cis","cis/workflows/design-thinking/workflow.yaml","10d06df36d9c210430d6415c758c3b125288da0604d05e9b907ada2cf1170233"
"yaml","workflow","cis","cis/workflows/innovation-strategy/workflow.yaml","79ff4aa210bc706974b78f037d22e9743c2cbe1a9a4d0837e9e6bcab6fc94563"
"yaml","workflow","cis","cis/workflows/problem-solving/workflow.yaml","6dc8ad738218c9f4e4490ab8e57017d1618ab0a2140a3f246f04fe22b31755a4"
"yaml","workflow","cis","cis/workflows/storytelling/workflow.yaml","d78ef4eecb82a24142eb8ebef031830c1029b1e646f09eb7a414c70f2e267fea"
"csv","brain-methods","core","core/workflows/brainstorming/brain-methods.csv","0ab5878b1dbc9e3fa98cb72abfc3920a586b9e2b42609211bb0516eefd542039"
"csv","methods","core","core/workflows/advanced-elicitation/methods.csv","e08b2e22fec700274982e37be608d6c3d1d4d0c04fa0bae05aa9dba2454e6141"
"csv","module-help","core","core/module-help.csv","4227d475748e8067aeae3e1a67d7b6235c109da13b2ef9131db930083dcb348d"
"md","help","core","core/tasks/help.md","950439aaff47aa25f94ede360ce8f8a47bf29c52b7f19c76a45960e8687fe726"
"md","step-01-agent-loading","core","core/workflows/party-mode/steps/step-01-agent-loading.md","04ab6b6247564f7edcd5c503f5ca7d27ae688b09bbe2e24345550963a016e9f9"
"md","step-01-session-setup","core","core/workflows/brainstorming/steps/step-01-session-setup.md","bc09cc22a0465b316ff3c13903b753768fa31d83abd3f9fc328631db63dc0cf8"
"md","step-01b-continue","core","core/workflows/brainstorming/steps/step-01b-continue.md","d76a406e0ff0a0e58006ec671b56f19a059e98cfebba4c0724ae6ccdd9303e7f"
"md","step-02-discussion-orchestration","core","core/workflows/party-mode/steps/step-02-discussion-orchestration.md","a8a79890bd03237e20f1293045ecf06f9a62bc590f5c2d4f88e250cee40abb0b"
"md","step-02a-user-selected","core","core/workflows/brainstorming/steps/step-02a-user-selected.md","558b162466745b92687a5d6e218f243a98436dd177b2d5544846c5ff4497cc94"
"md","step-02b-ai-recommended","core","core/workflows/brainstorming/steps/step-02b-ai-recommended.md","99aa935279889f278dcb2a61ba191600a18e9db356dd8ce62f0048d3c37c9531"
"md","step-02c-random-selection","core","core/workflows/brainstorming/steps/step-02c-random-selection.md","f188c260c321c7f026051fefcd267a26ee18ce2a07f64bab7f453c0c3e483316"
"md","step-02d-progressive-flow","core","core/workflows/brainstorming/steps/step-02d-progressive-flow.md","a28c7a3edf34ceb0eea203bf7dc80f39ca04974f6d1ec243f0a088281b2e55de"
"md","step-03-graceful-exit","core","core/workflows/party-mode/steps/step-03-graceful-exit.md","bdecc33004d73238ca05d8fc9d6b86cba89833630956f53ecd82ec3715c5f0da"
"md","step-03-technique-execution","core","core/workflows/brainstorming/steps/step-03-technique-execution.md","9e6abceec5f774c57cd5205e30a1f24a95441131dbffcae9c3dce72111f95ceb"
"md","step-04-idea-organization","core","core/workflows/brainstorming/steps/step-04-idea-organization.md","5224490c33bf4b23b2897f3bcf12abe0b1ced306541dd60c21df0ce9fc65d1ac"
"md","template","core","core/workflows/brainstorming/template.md","5c99d76963eb5fc21db96c5a68f39711dca7c6ed30e4f7d22aedee9e8bb964f9"
"md","workflow","core","core/workflows/brainstorming/workflow.md","7d7f957ccd176faed2551e3089abfa49032963e980b5643d9384690af3d61203"
"md","workflow","core","core/workflows/party-mode/workflow.md","f8537e152df8db331d86e2a37e5ced55bccff3a71e290f82eb754d28c0c9ec08"
"xml","editorial-review-prose","core","core/tasks/editorial-review-prose.xml","49f462ddc5f20a6e2abf14e4b8f3a25c70885c6a6d776ef4674739dd7880988a"
"xml","editorial-review-structure","core","core/tasks/editorial-review-structure.xml","307edce94877dacdaafb10f7ea39115944c7d19e57228a7859abf2fee8b1a177"
"xml","index-docs","core","core/tasks/index-docs.xml","90076db678b1d65b4dd8b166731584fafc68e660e5015f309a1c78aae6e25a28"
"xml","review-adversarial-general","core","core/tasks/review-adversarial-general.xml","347436fde09411caaab10ff97e4cbd2bfef31dbe9f8db9e0eb49c3ed361ede7b"
"xml","shard-doc","core","core/tasks/shard-doc.xml","947f2c7d4f6bb269ad0bcc1a03227d0d6da642d9df47894b8ba215c5149aed3d"
"xml","workflow","core","core/tasks/workflow.xml","17bca7fa63bae20aaac4768d81463a7a2de7f80b60d4d9a8f36b70821ba86cfd"
"xml","workflow","core","core/workflows/advanced-elicitation/workflow.xml","ead4dc1e50c95d8966b3676842a57fca97c70d83f1f3b9e9c2d746821e6868b4"
"yaml","config","core","core/config.yaml","74db4d17c6475b83a0c5e1ce8c1bc128914b9e2b75ba40d92ad1fc22b579e54f"
1 type name module path hash
2 csv agent-manifest _config _config/agent-manifest.csv ad73a71bb5974c78804b92cc187fb97e47a0fd70fe07dfb16bca4eb6dd5748ae
3 csv task-manifest _config _config/task-manifest.csv bac7378952f0c79a48469b582997507b08cf08583b31b8aa6083791db959e0f0
4 csv workflow-manifest _config _config/workflow-manifest.csv 5858013bae1a19f4c8b8607b3946b3b2ff256a628b355d6820ea970e5cbea5c8
5 yaml manifest _config _config/manifest.yaml 0b73a7c59b31a424c6ef1caa74d9dc0357d8ffbc6b041391dab3e057810b6269
6 md documentation-standards _memory _memory/tech-writer-sidecar/documentation-standards.md b046192ee42fcd1a3e9b2ae6911a0db38510323d072c8d75bad0594f943039e4
7 md stories-told _memory _memory/storyteller-sidecar/stories-told.md 8d7cb6a41382340a550c88627ef0c680ee7c20d61b53a7b18994d27f2368a5d4
8 md story-preferences _memory _memory/storyteller-sidecar/story-preferences.md b269d52c87cf6913ff2ce31772ed5faa5d064ab5f6889be6c9bec3c9b2e7c47a
9 yaml config _memory _memory/config.yaml 1643c5dfa1cb400c61173ce85feeddb9a00f214ef01b17b07e3c5c07e32498c1
10 csv common-workflow-tools bmb bmb/workflows/workflow/data/common-workflow-tools.csv c73c8a903bf158624f7eadc03c6dceb4b338f771af3c7048a9b1a37a45ae91bf
11 csv communication-presets bmb bmb/workflows/agent/data/communication-presets.csv 25bea124919e868d408eab0106011da30a66694f9f96e573dd8cc60780aa24d8
12 csv module-help bmb bmb/module-help.csv 30bc24e948a6fb227981c4422d7d1a6260eec2a1bfa2cd7450493306830f23c1
13 md agent-architecture bmb bmb/workflows/agent/data/agent-architecture.md d23e35f3db1e5922facbbae061080a2d940673b4f8a90bfae7db6d28abf81157
14 md agent-architecture bmb bmb/workflows/module/data/agent-architecture.md 020a293e60f06b3d57b7e489d57bdf5afa56028149c1b59614dfd54fabf48251
15 md agent-compilation bmb bmb/workflows/agent/data/agent-compilation.md 3aa7c61f1da342f74ae445f7dbcbae3a796e6a9eed892ceb39010c23909d9705
16 md agent-menu-patterns bmb bmb/workflows/agent/data/agent-menu-patterns.md cdd96b31cf7aa4205cd41b209e555b155072b4e1922bd9accc085e4c350557ec
17 md agent-metadata bmb bmb/workflows/agent/data/agent-metadata.md 173cc5de2aab6a0eaa1d0734a0e2b9d8a6889937f20cdc32279611c5a2ca84a2
18 md agent-plan.template bmb bmb/workflows/agent/templates/agent-plan.template.md 71c75a004f86dc25c42cb43d21817d98a23c8d96db74c3821051cb45da6576c9
19 md agent-spec-template bmb bmb/workflows/module/data/agent-spec-template.md 03091b4ae60ec745e751629d2c6ec31f1f89db89189453fb3878e1ec158b0831
20 md agent-template bmb bmb/workflows/agent/templates/agent-template.md 1dd9e1eb44b89f577358f9b8ae50e67b577f0aede059f5082611b75701bd3a15
21 md agent-validation bmb bmb/workflows/agent/data/agent-validation.md 0111a5645188abd821f3156da0d4104ab5d27c13610211a5cb33102727846130
22 md architect bmb bmb/workflows/agent/data/reference/module-examples/architect.md 5e556bbf1515a0fb733b515428e86face65b1f1361cfd6ddc9674d385b2ff784
23 md architecture bmb bmb/workflows/workflow/data/architecture.md 215911ee37c087810e32505d47b39f3e3c59ad35a1c5ae6602a4716674fc391d
24 md brainstorm-context bmb bmb/workflows/agent/data/brainstorm-context.md bd86effd11ea9bf8bc1b70f7cb63949441b7e3876b84471537daacd8caf0c20f
25 md brief-template bmb bmb/workflows/module/templates/brief-template.md 85dcbd2bd82d143e76b627722d1f50a91dddf2c3b36af714566cd32925ee3687
26 md critical-actions bmb bmb/workflows/agent/data/critical-actions.md a1a3b248b25f800981fe8b83cd812deb1093a346a7d1b8ab8a2e730b512f77df
27 md csv-data-file-standards bmb bmb/workflows/workflow/data/csv-data-file-standards.md 4d809f6fe47d6236fdca9ba66db981b436e44452f7ffd59f08b40599ab265cb8
28 md e-01-load-existing bmb bmb/workflows/agent/steps-e/e-01-load-existing.md 539c7451d7b641900dfe9297823fb41feff7e08d9cfb5f67381bafca1339501a
29 md e-02-discover-edits bmb bmb/workflows/agent/steps-e/e-02-discover-edits.md 4839d6eb0943f38b3e01dcfacb4b9db2578ebc0fc869956e457160d9a2d10bd9
30 md e-03-placeholder bmb bmb/workflows/agent/steps-e/e-03-placeholder.md 4076b77b471144f7bd58454a2652bed9a11a964bb249df95272b73590757a95e
31 md e-04-sidecar-metadata bmb bmb/workflows/agent/steps-e/e-04-sidecar-metadata.md 10f20ab04d7772edb3ad53f542fdc5c54c0e686efc6464dd72a29800ef7755ca
32 md e-05-persona bmb bmb/workflows/agent/steps-e/e-05-persona.md f563417e52584fa105c280b5e4b80bd71ec361359b45bbe7ab0678800aa00a08
33 md e-06-commands-menu bmb bmb/workflows/agent/steps-e/e-06-commands-menu.md eb3c1ea01780eb15aa912bdffa4349b7eda5a81f0225f44a0eeddf245cf4b9a2
34 md e-07-activation bmb bmb/workflows/agent/steps-e/e-07-activation.md 05cacc92ad28e04b384bbb6b8828b28f5ff9ce1deb0b0582dc5c95b5060e5348
35 md e-08-edit-agent bmb bmb/workflows/agent/steps-e/e-08-edit-agent.md b221ebe838b60ba66bca2df342fc0b6ad2abae211bea1f01b1a2d8186cad81dc
36 md e-09-celebrate bmb bmb/workflows/agent/steps-e/e-09-celebrate.md 8a76fa2aca4500f9a0fecc9d2018821eb8bbfc5d533e9f85861acb910f053863
37 md frontmatter-standards bmb bmb/workflows/workflow/data/frontmatter-standards.md b02270a8c293bc3b97d1684774153e23a2c212af51a5495e5d419f24931e49d0
38 md input-discovery-standards bmb bmb/workflows/workflow/data/input-discovery-standards.md e5201a3b67d728df46876e72ca99ad487ff334cfb9b64dc20c1cb3c8f4085117
39 md intent-vs-prescriptive-spectrum bmb bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md 13f8048611e00e92a05eb0106de237938458cd4fc04bc5f4d272ae4697a2a91e
40 md menu-handling-standards bmb bmb/workflows/workflow/data/menu-handling-standards.md 0f2065c8ec2aa7ab1df1f5f92db0d9cd8a2364250ed9b7932e6aa17816f130e1
41 md minimal-output-template bmb bmb/workflows/workflow/templates/minimal-output-template.md f61de8986573aa22ab1bc37235b063541a0209e1033b7c7c0a587dbd8b120a98
42 md module-help-generate bmb bmb/workflows/module/module-help-generate.md c3e0fdec202582f13c471355925d319fd33b475514644c02c4b2d807095427bd
43 md module-standards bmb bmb/workflows/module/data/module-standards.md 4314e487a73c5cb6a85357e8ae71e4e7bfbd75ae395e19056c109c4587d4dd8e
44 md module-yaml-conventions bmb bmb/workflows/module/data/module-yaml-conventions.md 669831f40384bc07982882a85cf050b725151fa5e1fcd711447c54831600e379
45 md output-format-standards bmb bmb/workflows/workflow/data/output-format-standards.md e88aa0032d0a2f6366d43244e739dcd67c1bb2525402c20d2e4d89ea6d394104
46 md persona-properties bmb bmb/workflows/agent/data/persona-properties.md 26ad8d8dc3aae7cdb0818ce26685c9970e3adffefbac1911ce5ee40ed00c7a6b
47 md principles-crafting bmb bmb/workflows/agent/data/principles-crafting.md dc22ed0b426c290119d0295fdf280a2182b6027df45ea2679dab9d10e974b847
48 md step-00-conversion bmb bmb/workflows/workflow/steps-c/step-00-conversion.md c2fa704c6af768516520aabd21c8231e7d67a6c030aca6833b00d9bf47aa4049
49 md step-01-brainstorm bmb bmb/workflows/agent/steps-c/step-01-brainstorm.md 3977b82c7bf9431a90f4ed8f1aa6067cfc66ee658bceea283d5d631cc05200df
50 md step-01-discovery bmb bmb/workflows/workflow/steps-c/step-01-discovery.md 8b7c7b6e22e8bacf8dc2612d07e2142bcb05590b005928ac548648036dd4062c
51 md step-01-init-continuable-template bmb bmb/workflows/workflow/templates/step-01-init-continuable-template.md 1ea222b3c2a2a569515ea25493e8bc6205745e1610a2df5a1d70348e76cd48e5
52 md step-01-load-brief bmb bmb/workflows/module/steps-c/step-01-load-brief.md 06f46a88014817367f8991d9cd697cfff2cfb229c790ec3dc07674d19cdfaf81
53 md step-01-load-target bmb bmb/workflows/module/steps-e/step-01-load-target.md e5e15625642b5fe5836dc57a150f043e2a87355ecd76097993ce9efd233bca21
54 md step-01-load-target bmb bmb/workflows/module/steps-v/step-01-load-target.md 8006a13b76b69c385ff35c2d703f125c235779d3a8561091411e3d6e1dc47bce
55 md step-01-validate bmb bmb/workflows/workflow/steps-v/step-01-validate.md 0a0a7dbcbbdaa1d35855c1a02cc999edb447a60062080775882d8982172e398c
56 md step-01-validate-max-mode bmb bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md a85ea69b45449ac7f6d9bb0ecb3a5c30cf87dba755c6cf7065b268103ebba795
57 md step-01-welcome bmb bmb/workflows/module/steps-b/step-01-welcome.md ed259839a715cdd016ae5161c375f2b21c2038dafe4bb4419c85e61d286609b7
58 md step-01b-continuation bmb bmb/workflows/workflow/steps-c/step-01b-continuation.md d4744e00afb0ddfddd60f8ccf33d3f0b930d5edfa6da7bcab174e5cae4ed4011
59 md step-01b-continue bmb bmb/workflows/module/steps-c/step-01b-continue.md fd8d93b04c057fb7cf2a8c7c6811cb6826900d1f17b49692f9d7909e05cfc4d8
60 md step-01b-structure bmb bmb/workflows/workflow/steps-v/step-01b-structure.md dc1efc9dfa9180798102341c0522512ee4f29903f5ff1c78fe9a3ce0c1604737
61 md step-02-classification bmb bmb/workflows/workflow/steps-c/step-02-classification.md 560d01ce4db22bc094f88657dc1b2f8135fc290b98a638a4b79de5a685fb6847
62 md step-02-discovery bmb bmb/workflows/agent/steps-c/step-02-discovery.md 3f8ff9b7ca8d9e556fa3d624b9c58975f6cd44438681223795648aa3d8b7099f
63 md step-02-file-structure bmb bmb/workflows/module/steps-v/step-02-file-structure.md fc0acf419646452140b033995993f288fa3d97fd41bbd48f7502e319bb326817
64 md step-02-frontmatter-validation bmb bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md 26627ab0efe0b824ab15ef82e64e0d41f0a98a9663d4a39d542f4f65a2ef170a
65 md step-02-select-edit bmb bmb/workflows/module/steps-e/step-02-select-edit.md 500b040c7c5540505c83932cc880de02727576f25404524bdb4be1554c261491
66 md step-02-spark bmb bmb/workflows/module/steps-b/step-02-spark.md 3e054a19fe1a5166759e09a2fb3788d244f7c4f776d28663339401d8b2ac25e2
67 md step-02-structure bmb bmb/workflows/module/steps-c/step-02-structure.md 6177bdc1971c60299b00d9ce9f37106ecad405bf12d6378bedf30779f87a1e03
68 md step-02b-path-violations bmb bmb/workflows/workflow/steps-v/step-02b-path-violations.md ef6f2e0b8a6f608ba06a74466acdd74bf3cf6b9ac5290c58ec780e881f912ed1
69 md step-03-apply-edit bmb bmb/workflows/module/steps-e/step-03-apply-edit.md e9ec488bd25765c1769a8f39e9fd335260c17eb247f2c5246e55a37d2fb02bd7
70 md step-03-config bmb bmb/workflows/module/steps-c/step-03-config.md 14f1bd471ae827aa5ba4947ead23cfbb728ccfa4d2dcf41f7080eed08db35760
71 md step-03-menu-validation bmb bmb/workflows/workflow/steps-v/step-03-menu-validation.md 352f083900a5bd4c7580a21c097547415e67a030f147ddbf338e6605f5e17679
72 md step-03-module-type bmb bmb/workflows/module/steps-b/step-03-module-type.md 387020cdbf5c17286425edcbdfad48d874bd80119aa1e5fd3ecafee59a07385d
73 md step-03-module-yaml bmb bmb/workflows/module/steps-v/step-03-module-yaml.md 874c7a400b90d7c8a53c9348c6194812f21f2a95da1a80127956ed3fb208ae01
74 md step-03-requirements bmb bmb/workflows/workflow/steps-c/step-03-requirements.md b9ffb90bb9b58df2d1af69b72af4bf3975e8e2b02a22615eaa98da29ae45e269
75 md step-03-sidecar-metadata bmb bmb/workflows/agent/steps-c/step-03-sidecar-metadata.md 4a7b64165d29ff01f5ae90c0daae3bb875485f77412a3623f299ea26f85f9df9
76 md step-04-agent-specs bmb bmb/workflows/module/steps-v/step-04-agent-specs.md 5e2b8562eb57857c80cc5f5ee1e08290c39d79070668941ee155552820bd42a9
77 md step-04-agents bmb bmb/workflows/module/steps-c/step-04-agents.md 097d8b87aa5f1402a0dbb3e9255977f7cfe8dba35e237df3ce2c614419091e19
78 md step-04-persona bmb bmb/workflows/agent/steps-c/step-04-persona.md 8f37e0c5f118673a8489ad9b40a0714716c0ddcbad1ed7c834e8bdf67e33656a
79 md step-04-review bmb bmb/workflows/module/steps-e/step-04-review.md 8fc1da4ab65f6639d860600c942e82a9c2ad7fa8fc3788bb9d35e98c811e9cbb
80 md step-04-step-type-validation bmb bmb/workflows/workflow/steps-v/step-04-step-type-validation.md 22666ec35c68019eaa956f792e653bea6d9bb33adae88f81945423925b0aacd9
81 md step-04-tools bmb bmb/workflows/workflow/steps-c/step-04-tools.md 0202c1f6e80366d0e6a970fa3484264bdbec56ac36b0253aee3db710a7b96ab7
82 md step-04-vision bmb bmb/workflows/module/steps-b/step-04-vision.md 4200d1b6811ae7e16ef2ec5377f7a006b508353c42baa1d65ce5e919e35a4414
83 md step-05-commands-menu bmb bmb/workflows/agent/steps-c/step-05-commands-menu.md 13d355dd79eedbbaa4e3b73ef4c7336edf11cf86d3d110bd99154c6405c8f543
84 md step-05-confirm bmb bmb/workflows/module/steps-e/step-05-confirm.md f864c0d7c0f2178dbe5ee785fd6136a097801de22fe9927cc717174465eace77
85 md step-05-identity bmb bmb/workflows/module/steps-b/step-05-identity.md bf6750cdea36d19553295d201d5cf3cc05bba724b4cf105ae297b4fc328ddbe8
86 md step-05-output-format-validation bmb bmb/workflows/workflow/steps-v/step-05-output-format-validation.md d8aed144c932f4d7615b595696a7849d4a8ce468ac632f1316b3a3efe0337f5d
87 md step-05-plan-review bmb bmb/workflows/workflow/steps-c/step-05-plan-review.md 1896308083a01fdbb2c723e3d8f11f60e0423dd2e1d46949e51f6ed2a2bb9cf3
88 md step-05-workflow-specs bmb bmb/workflows/module/steps-v/step-05-workflow-specs.md d2b3b63e54480646b5524b3bd32c0a6acfb410c0ebfb48991cbf3a43b2f5be5b
89 md step-05-workflows bmb bmb/workflows/module/steps-c/step-05-workflows.md ee6ba8767d893f96428a425119039014b5d4d3c2a9e65d59092f100c668c52c0
90 md step-06-activation bmb bmb/workflows/agent/steps-c/step-06-activation.md 2f7923d26cfac1698d2e2d3272cb644947a4d4d705a4236e29f4bb16a4b903df
91 md step-06-design bmb bmb/workflows/workflow/steps-c/step-06-design.md a59fef28936210a6c0edeaba5e4b02af6188950fc6482eb9365d2a93bb8e727c
92 md step-06-docs bmb bmb/workflows/module/steps-c/step-06-docs.md 8e6791e97658a3288d297b61e1396ee3eda64d087077af7a47880f33bd5456d1
93 md step-06-documentation bmb bmb/workflows/module/steps-v/step-06-documentation.md 3c2cda05dba1da28bfecac96b442dd6b260916a5d387255d8a5f8aabf775918a
94 md step-06-users bmb bmb/workflows/module/steps-b/step-06-users.md 876c8a8f186569e99e42a1a5a3f7b94f33081306af9b1f354250285fbb1616c8
95 md step-06-validation-design-check bmb bmb/workflows/workflow/steps-v/step-06-validation-design-check.md 934be5b8740504411c29c92caa162bde9f9f5b76f9b51f900cddc81ce20afc48
96 md step-07-build-agent bmb bmb/workflows/agent/steps-c/step-07-build-agent.md 3a82c276e43e54faef410a2ac8d4f0f8f0bfd80d085aa563da2334cb30b76448
97 md step-07-complete bmb bmb/workflows/module/steps-c/step-07-complete.md 5e62ae3e42648d1bb9e4ad77c0b01eff36eee498d8539804123286cff8ae685e
98 md step-07-foundation bmb bmb/workflows/workflow/steps-c/step-07-foundation.md 496ab7074b6678d0a3ce5a89aec60d3867fb224a7265b004e5e438a80aa6fec7
99 md step-07-installation bmb bmb/workflows/module/steps-v/step-07-installation.md e0067d8cf1ad2b2a0cbdd645ef0b3d897f0424f80eb1ac6c0890a1c1a9f90bbf
100 md step-07-instruction-style-check bmb bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md f637bce8213eed574a5b4d65ee043c1aedfdedf76a1f0d2603f3002a361cb5be
101 md step-07-value bmb bmb/workflows/module/steps-b/step-07-value.md 5634beb03472aee5eba35e5c83d1b0ef502055e6fdca6f16698f9f6ac1cb53b4
102 md step-08-agents bmb bmb/workflows/module/steps-b/step-08-agents.md e33c9857d1f5a43371a34f56ab1e4c1e3b8aa9056eb7dd7aa2e928c3b552e34e
103 md step-08-build-step-01 bmb bmb/workflows/workflow/steps-c/step-08-build-step-01.md dd3677dd82dbcc6339a696a1899c8283e6fb23b187ddf0d5bc9122e0d29546ad
104 md step-08-celebrate bmb bmb/workflows/agent/steps-c/step-08-celebrate.md 8982e0ca16a2bbeed292605d7e07c714c92c5c7e5f25418a36129175c0432495
105 md step-08-collaborative-experience-check bmb bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md 14b9afce8eb7fe59d3b8cc3a44295b955d4419fed0e8d1a6b0ac31a3ef3cc610
106 md step-08-report bmb bmb/workflows/module/steps-v/step-08-report.md e9080fe17dc98280a1d2d7adeaca039d185f580307d43f1224dcc9cf44d62101
107 md step-08b-subprocess-optimization bmb bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md cda18ba6427b1fb8d7266123be8e059c4289ed2b62abc3a39bbae8ea8593227c
108 md step-09-build-next-step bmb bmb/workflows/workflow/steps-c/step-09-build-next-step.md c6fd5d88991d33c9a947f3e0c49181231b95a2baa5c93ac9ac71b2dbd568bcf2
109 md step-09-cohesive-review bmb bmb/workflows/workflow/steps-v/step-09-cohesive-review.md cf604f0dab7aa11af521f2270a9c96fa02c7f99f3430811db1ae25dd59dbe946
110 md step-09-workflows bmb bmb/workflows/module/steps-b/step-09-workflows.md d0a8f1b824d1423f9a5544112afe03725c4b8196a0be62b32c161a930f07e0ee
111 md step-10-confirmation bmb bmb/workflows/workflow/steps-c/step-10-confirmation.md b5cc8dab668df3888b689f272cc39706471a86286542ef807b176abca5a93ddf
112 md step-10-report-complete bmb bmb/workflows/workflow/steps-v/step-10-report-complete.md ec38ede67f999076e3df5eaf3cb88f1f069791cd770dda826c101cac61a1e814
113 md step-10-tools bmb bmb/workflows/module/steps-b/step-10-tools.md 0987d73d4335b6779ca2cd27d2e7620eef92b98cece2d9aa442fe243435c845f
114 md step-11-completion bmb bmb/workflows/workflow/steps-c/step-11-completion.md 49e0f7f8d6aa4ac73828a8cbce8cf9ab0816871009559673dcbbe716c9ed21f0
115 md step-11-plan-validation bmb bmb/workflows/workflow/steps-v/step-11-plan-validation.md 58e4c8a2363cc7eef8b4f1c86c52a03d94e6e160462c34478ff851b2232be8c8
116 md step-11-scenarios bmb bmb/workflows/module/steps-b/step-11-scenarios.md d5ceda11834165ce9b6111d754ce5dbbbee11f34411805c2cc7d7f5fcde1cda8
117 md step-12-creative bmb bmb/workflows/module/steps-b/step-12-creative.md 495309304d1a68b4b0dbe4b5fba0548092641b216b5c57d7cfd6708679898d43
118 md step-13-review bmb bmb/workflows/module/steps-b/step-13-review.md 5a6050a0ebf2046c3730c951572ec17e04bf0e9ccf145b8d0aa3d03235e11477
119 md step-14-finalize bmb bmb/workflows/module/steps-b/step-14-finalize.md 09aba595988eda5bece47552e8b93241780019169e421af5bb6faa33abd71b4a
120 md step-1b-template bmb bmb/workflows/workflow/templates/step-1b-template.md ec4b361c53e6582c2b610b7a96241bd2726acb98dfab7e4a7ef005c3f4140093
121 md step-e-01-assess-workflow bmb bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md 0b1a8a9a6308d428ca8ea285054ca7c6127d8d712e808e13d53c66393872a42a
122 md step-e-02-discover-edits bmb bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md e6dcbf4d638eba3ee5aafb89db958b71c2bea17c56c1724c3741174e943f1c0c
123 md step-e-03-fix-validation bmb bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md f0d07b596606ca6c34616a89b210f09c71ed1b87acce9148e4e88c21d91bdc21
124 md step-e-04-direct-edit bmb bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md a4afa5e0942e386ebaebad2d815144ce08f067024d8e7e2bc29874241cf41e4e
125 md step-e-05-apply-edit bmb bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md 3e5a73e07176ec70e742561c87b6892ca351397f43061a6d2b10d6b7cbcdb26f
126 md step-e-06-validate-after bmb bmb/workflows/workflow/steps-e/step-e-06-validate-after.md 969677115937443e64cc1f01c3acd91c87e0e0d5288ce1bac4db8319d4dd6273
127 md step-e-07-complete bmb bmb/workflows/workflow/steps-e/step-e-07-complete.md 1d5f6b8b3830c46b71c5f9d81d6a522879d118521584c40121dc953a9d78b84d
128 md step-file-rules bmb bmb/workflows/workflow/data/step-file-rules.md 1b470e3d55a8aed1b0724612d1b84524147eabb27e9fa46886ec5d0df7a674f3
129 md step-template bmb bmb/workflows/workflow/templates/step-template.md 3d1b8c2ed88ceeb1545c85c2fe6c34352b2343fb8f9d1a1fba768ac6fc10eb31
130 md step-type-patterns bmb bmb/workflows/workflow/data/step-type-patterns.md 9c5f50d2ddaf3d50d54ee29e21a323bc82f72936dfaf67ff6641fa83c4c68fec
131 md subprocess-optimization-patterns bmb bmb/workflows/workflow/data/subprocess-optimization-patterns.md 533ec5fce72104b1b220c40333489241f55291fdd7973e7235f8d2d4b3d193a4
132 md trimodal-workflow-structure bmb bmb/workflows/workflow/data/trimodal-workflow-structure.md e83b38d8abed9a06495f3da39d8db6d24cd00cf5b5369577f422f22e2b7695e9
133 md understanding-agent-types bmb bmb/workflows/agent/data/understanding-agent-types.md 1f852c86102211c6db08c9d1ed60d63ec7cd460f1bafd308cb3b6841114d1683
134 md v-01-load-review bmb bmb/workflows/agent/steps-v/v-01-load-review.md a0dc536b3523025be2f0b823b9343e46bffc1b2bea847f6e52c7f6e7203d1c8a
135 md v-02a-validate-metadata bmb bmb/workflows/agent/steps-v/v-02a-validate-metadata.md 32b227f2d8fd18637b1d5b78a9598e2600e41f1a70e8caff846a18c287b2ddb1
136 md v-02b-validate-persona bmb bmb/workflows/agent/steps-v/v-02b-validate-persona.md b7535cdf8ae862bf3f3994b900343b73028485d9843dc7df9678253a1e0e65b4
137 md v-02c-validate-menu bmb bmb/workflows/agent/steps-v/v-02c-validate-menu.md 33782859da582ac82acd88be9f604679d7b148dc6fbf0bc0509288cf7d9d0d9e
138 md v-02d-validate-structure bmb bmb/workflows/agent/steps-v/v-02d-validate-structure.md 69c8698961d714f9806d7657b6d9aac88ddf8c9a7c5590bdc764d11d54c6f281
139 md v-02e-validate-sidecar bmb bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md 9eb2ec9001fbc2ffea80a9158d4d496c6acab2b965d928abc2843555508a6458
140 md v-03-summary bmb bmb/workflows/agent/steps-v/v-03-summary.md db9b978c1569afa254184960a9c31ae71a8356a6def57ba09c0961f4efa46ee0
141 md workflow-chaining-standards bmb bmb/workflows/workflow/data/workflow-chaining-standards.md 6aede9a3350786f71687c470038748ad255859e310cda854d147644216bf9bfe
142 md workflow-create-agent bmb bmb/workflows/agent/workflow-create-agent.md 5b83913d4947e77a5137a4fabbe36ca338d45f80afc5c1dedb93c343dd1310c3
143 md workflow-create-module bmb bmb/workflows/module/workflow-create-module.md be3147584de6a3740071b9c80483d8d75f3b4fd818e5c2555cf03ce5d6d4c98c
144 md workflow-create-module-brief bmb bmb/workflows/module/workflow-create-module-brief.md 7c254d7d318b0ee3a8646acf50b59eb744d960614be5d541a65c54a22f569813
145 md workflow-create-workflow bmb bmb/workflows/workflow/workflow-create-workflow.md 5eadc6e949ae2b453811f79d58da1b4800ff6a3f713a181369fd5d88726407ff
146 md workflow-edit-agent bmb bmb/workflows/agent/workflow-edit-agent.md c72408f1c72bcbf15a7a8072bc07cf023d25c16fa928bb18f682db1177694fb3
147 md workflow-edit-module bmb bmb/workflows/module/workflow-edit-module.md c60fa81100c0dab568bb0d1f55d5035c59ca66ebd7f48ca503bbc4866ccdcb82
148 md workflow-edit-workflow bmb bmb/workflows/workflow/workflow-edit-workflow.md 012b2ec4997fcab5b601b475f9aed2a72da41370ea5377bb03064f98c74be91d
149 md workflow-examples bmb bmb/workflows/workflow/data/workflow-examples.md 858a3052f65cad4d6288b8996953e7ae674b00626fe52416c1c088c150847c05
150 md workflow-rework-workflow bmb bmb/workflows/workflow/workflow-rework-workflow.md df97ef45745a89e90b2db9f619aa40bbcc8ea93bd258247d0289fee2add70cf5
151 md workflow-spec-template bmb bmb/workflows/module/templates/workflow-spec-template.md e226dc5357c301dfba14dce94bfaad692bfb0f025599a82ae4c97d494627c7af
152 md workflow-template bmb bmb/workflows/workflow/templates/workflow-template.md 6b39e89217d20c7d917602874978bbf018f0d7d3e33e0e753331a602f114fc14
153 md workflow-type-criteria bmb bmb/workflows/workflow/data/workflow-type-criteria.md 60dc1e893f39a9a67540196b6cd5d3424e1e29efd0622962ffb39665b10265bb
154 md workflow-validate-agent bmb bmb/workflows/agent/workflow-validate-agent.md a1459e71ef5ef12d674f029d45e9560386987e33affc6b8b8e45b302a423bd62
155 md workflow-validate-max-parallel-workflow bmb bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md 4133b5a77c454fc48a55d5e0896fe2d7d21d9e9e39c3e2024febe200df16b3ed
156 md workflow-validate-module bmb bmb/workflows/module/workflow-validate-module.md 7e02b817d7f6bc21ff5bee00f194996a0dd8385bcabd026b2efdcc3f157bebb9
157 md workflow-validate-workflow bmb bmb/workflows/workflow/workflow-validate-workflow.md f792e9b04ee4fe43e40b10499714e3bbb085c2304ddc478faf9b1bb333e11b72
158 md yy-mm-dd-entry-template bmb bmb/workflows/agent/data/reference/with-sidecar/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md afad2b3f97e0a82fb371ce89cab74734eb5b5c1238dfaed02f5967b581bf7c47
159 yaml config bmb bmb/config.yaml 30d714f6a274d8d789d65aadaaaf53337999365ebc1a277a705538203f188a24
160 csv default-party bmm bmm/teams/default-party.csv 5af107a5b9e9092aeb81bd8c8b9bbe7003afb7bc500e64d56da7cc27ae0c4a6e
161 csv documentation-requirements bmm bmm/workflows/document-project/documentation-requirements.csv d1253b99e88250f2130516b56027ed706e643bfec3d99316727a4c6ec65c6c1d
162 csv domain-complexity bmm bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv f775f09fb4dc1b9214ca22db4a3994ce53343d976d7f6e5384949835db6d2770
163 csv domain-complexity bmm bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv 3dc34ed39f1fc79a51f7b8fc92087edb7cd85c4393a891d220f2e8dd5a101c70
164 csv module-help bmm bmm/module-help.csv 70ce6fcf717801e5b3d47f4d0496b027c5dc4e1ce0a0508613f5a4abd828a354
165 csv project-types bmm bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv 7a01d336e940fb7a59ff450064fd1194cdedda316370d939264a0a0adcc0aca3
166 csv project-types bmm bmm/workflows/3-solutioning/create-architecture/data/project-types.csv 12343635a2f11343edb1d46906981d6f5e12b9cad2f612e13b09460b5e5106e7
167 json project-scan-report-schema bmm bmm/workflows/document-project/templates/project-scan-report-schema.json 53255f15a10cab801a1d75b4318cdb0095eed08c51b3323b7e6c236ae6b399b7
168 md architecture-decision-template bmm bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md 5d9adf90c28df61031079280fd2e49998ec3b44fb3757c6a202cda353e172e9f
169 md checklist bmm bmm/workflows/4-implementation/code-review/checklist.md e30d2890ba5c50777bbe04071f754e975a1d7ec168501f321a79169c4201dd28
170 md checklist bmm bmm/workflows/4-implementation/correct-course/checklist.md 24a3f3e0108398d490dcfbe8669afc50226673cad494f16a668b515ab24bf709
171 md checklist bmm bmm/workflows/4-implementation/create-story/checklist.md 5154aa874c6a79285eba644493e87411c6021baff72859490db6e693d15e0bb9
172 md checklist bmm bmm/workflows/4-implementation/dev-story/checklist.md 630b68c6824a8785003a65553c1f335222b17be93b1bd80524c23b38bde1d8af
173 md checklist bmm bmm/workflows/4-implementation/sprint-planning/checklist.md 80b10aedcf88ab1641b8e5f99c9a400c8fd9014f13ca65befc5c83992e367dd7
174 md checklist bmm bmm/workflows/document-project/checklist.md 581b0b034c25de17ac3678db2dbafedaeb113de37ddf15a4df6584cf2324a7d7
175 md checklist bmm bmm/workflows/qa/automate/checklist.md 83cd779c6527ff34184dc86f9eebfc0a8a921aee694f063208aee78f80a8fb12
176 md deep-dive-instructions bmm bmm/workflows/document-project/workflows/deep-dive-instructions.md 8cb3d32d7685e5deff4731c2003d30b4321ef6c29247b3ddbe672c185e022604
177 md deep-dive-template bmm bmm/workflows/document-project/templates/deep-dive-template.md 6198aa731d87d6a318b5b8d180fc29b9aa53ff0966e02391c17333818e94ffe9
178 md epics-template bmm bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md b8ec5562b2a77efd80c40eba0421bbaab931681552e5a0ff01cd93902c447ff7
179 md full-scan-instructions bmm bmm/workflows/document-project/workflows/full-scan-instructions.md 6c6e0d77b33f41757eed8ebf436d4def69cd6ce412395b047bf5909f66d876aa
180 md index-template bmm bmm/workflows/document-project/templates/index-template.md 42c8a14f53088e4fda82f26a3fe41dc8a89d4bcb7a9659dd696136378b64ee90
181 md instructions bmm bmm/workflows/4-implementation/correct-course/instructions.md afdf74701cd2e1200efeb4af24e99a52b013c4c150c1736c56b5d34f003c0a94
182 md instructions bmm bmm/workflows/4-implementation/retrospective/instructions.md c1357ee8149935b391db1fd7cc9869bf3b450132f04d27fbb11906d421923bf8
183 md instructions bmm bmm/workflows/4-implementation/sprint-planning/instructions.md 8ac972eb08068305223e37dceac9c3a22127062edae2692f95bc16b8dbafa046
184 md instructions bmm bmm/workflows/4-implementation/sprint-status/instructions.md 0d2a75639c9e402c06bf0dfab51cdacf8f63e4401ae4bc5e7fe9e92e7779bba1
185 md instructions bmm bmm/workflows/document-project/instructions.md 8807cf832c2bce8062280e10ae00928e4e147d148dd326fb6437571531e22723
186 md instructions bmm bmm/workflows/qa/automate/instructions.md 3f3505f847f943b2f4a0699017c16e15fa3782f51090a0332304d7248e020e0c
187 md prd-purpose bmm bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md 49c4641b91504bb14e3887029b70beacaff83a2de200ced4f8cb11c1356ecaee
188 md prd-template bmm bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md 7ccccab9c06a626b7a228783b0b9b6e4172e9ec0b10d47bbfab56958c898f837
189 md product-brief.template bmm bmm/workflows/1-analysis/create-product-brief/product-brief.template.md ae0f58b14455efd75a0d97ba68596a3f0b58f350cd1a0ee5b1af69540f949781
190 md project-context-template bmm bmm/data/project-context-template.md facd60b71649247146700b1dc7d709fa0ae09487f7cf2b5ff8f5ce1b3a8427e8
191 md project-context-template bmm bmm/workflows/generate-project-context/project-context-template.md 54e351394ceceb0ac4b5b8135bb6295cf2c37f739c7fd11bb895ca16d79824a5
192 md project-overview-template bmm bmm/workflows/document-project/templates/project-overview-template.md a7c7325b75a5a678dca391b9b69b1e3409cfbe6da95e70443ed3ace164e287b2
193 md readiness-report-template bmm bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md 0da97ab1e38818e642f36dc0ef24d2dae69fc6e0be59924dc2dbf44329738ff6
194 md research.template bmm bmm/workflows/1-analysis/research/research.template.md 507bb6729476246b1ca2fca4693986d286a33af5529b6cd5cb1b0bb5ea9926ce
195 md source-tree-template bmm bmm/workflows/document-project/templates/source-tree-template.md 109bc335ebb22f932b37c24cdc777a351264191825444a4d147c9b82a1e2ad7a
196 md step-01-discover bmm bmm/workflows/generate-project-context/steps/step-01-discover.md 0f1455c018b2f6df0b896d25e677690e1cf58fa1b276d90f0723187d786d6613
197 md step-01-document-discovery bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md 9204972d801c28a76433230942c81bacc171e6b6951d3226cea9e7ca5c9310f1
198 md step-01-init bmm bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md 256c5f87e9449ab921614e2f23644a6b5a1222178320d863429ee2a284905e32
199 md step-01-init bmm bmm/workflows/1-analysis/research/domain-steps/step-01-init.md efee243f13ef54401ded88f501967b8bc767460cec5561b2107fc03fe7b7eab1
200 md step-01-init bmm bmm/workflows/1-analysis/research/market-steps/step-01-init.md 8dbd4a1520451945e8a5d5bccb489f9186b76f57f5bf3c77dbdf088e26ac7730
201 md step-01-init bmm bmm/workflows/1-analysis/research/technical-steps/step-01-init.md c9a1627ecd26227e944375eb691e7ee6bc9f5db29a428a5d53e5d6aef8bb9697
202 md step-01-init bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md 6ad502fa5bf5639eaf6a42e8f0bc0f2b811e0a3fd2ae3a24ed3333365f99e23c
203 md step-01-init bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md 7b3467a29126c9498b57b06d688f610bcb7a68a8975208c209dd1103546bc455
204 md step-01-init bmm bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md c730b1f23f0298853e5bf0b9007c2fc86e835fb3d53455d2068a6965d1192f49
205 md step-01-mode-detection bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md d3170f565ed21633a1f08b50c90349c93d1ec362fe6ec86c746f507796acd745
206 md step-01-understand bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md a65eb3b993d83f24c4f14cd0117d1c21ad5013b32fcdcf7276c6e4ba0aed7d61
207 md step-01-validate-prerequisites bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md 5ba8ba972e8376339ed2c9b75e4f98125521af0270bb5dff6e47ec73137e01de
208 md step-01b-continue bmm bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md 08bd92dc8486983ac8b5b19efd943d2fd83f2a6f6ba247aad9bb075e12b20860
209 md step-01b-continue bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md 4e8af43d1847236333566efaa4b0b5e63d706e673872705ee6f215a7ccb9d715
210 md step-01b-continue bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md fde4bf8fa3a6d3230d20cb23e71cbc8e2db1cd2b30b693e13d0b3184bc6bb9a6
211 md step-01b-continue bmm bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md c6cc389b49682a8835382d477d803a75acbad01b24da1b7074ce140d82b278dc
212 md step-02-context bmm bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md 07387b1d8c2f92c646bdbad88ad1401d0295c3adecc1637f07630173d8939088
213 md step-02-context-gathering bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md a79d99cc35e43442acda2ce7da80f26f4f50e2be08f38c10e4e5695ce0ff6016
214 md step-02-customer-behavior bmm bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md ca77a54143c2df684cf859e10cea48c6ea1ce8e297068a0f0f26ee63d3170c1e
215 md step-02-design-epics bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md 2c18d76a9b73eae8b9f552cd4252f8208a0c017624ddbaf6bcbe7b28ddfa217e
216 md step-02-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md d13de9d4a4af17f04ae1af7966b3071af54a6445c0944ee83af129ef078ebe5d
217 md step-02-discovery bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md 6d340f83d62f873a4c09371a38c77dc9ce9726cd6cd1cf9bf89ddec09f36af4c
218 md step-02-domain-analysis bmm bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md 385a288d9bbb0adf050bcce4da4dad198a9151822f9766900404636f2b0c7f9d
219 md step-02-generate bmm bmm/workflows/generate-project-context/steps/step-02-generate.md 0fff27dab748b4600d02d2fb083513fa4a4e061ed66828b633f7998fcf8257e1
220 md step-02-investigate bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md dafa8215d11132018f0ca706d4c1073cc7c97ae006f0f0b7667978e84bfbee3e
221 md step-02-prd-analysis bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md f8c4f293c0a040fa9f73829ffeabfa073d0a8ade583adaefb26431ec83a76398
222 md step-02-technical-overview bmm bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md 9c7582241038b16280cddce86f2943216541275daf0a935dcab78f362904b305
223 md step-02-vision bmm bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md a6262132ec081165358941df207d02e29e5ab00b4f516adf2772effa46d21dd5
224 md step-03-competitive-landscape bmm bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md f10aa088ba00c59491507f6519fb314139f8be6807958bb5fd1b66bff2267749
225 md step-03-complete bmm bmm/workflows/generate-project-context/steps/step-03-complete.md cf8d1d1904aeddaddb043c3c365d026cd238891cd702c2b78bae032a8e08ae17
226 md step-03-core-experience bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md b23ce8244db8a183761a9420fa54ff285bbf7c54b2d30c62c32d3cf8cb4c2f00
227 md step-03-create-stories bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md e6deb22291f05a96e56f5cb3ab88eca3bb6df564208edd8fcc693d4c27139f29
228 md step-03-customer-pain-points bmm bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md ce7394a73a7d3dd627280a8bef0ed04c11e4036275acc4b50c666fd1d84172c4
229 md step-03-epic-coverage-validation bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md f425bcac163b9ea63a004039ff65fffea3499d9e01a2821bb11e0e17e6b6fc52
230 md step-03-execute bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md 463a7865ed9efde3cf073e87ecae591bd668f62746b42f4f4c94a1ba4e4b9da0
231 md step-03-generate bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md c59fe4fe129c2b0461ba0382fdbfcf9160c1997a1a0dca271261bdf006ff2364
232 md step-03-integration-patterns bmm bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md 005d517a2f962e2172e26b23d10d5e6684c7736c0d3982e27b2e72d905814ad9
233 md step-03-starter bmm bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md 535124eb8228ffa628fee5b2e89b9a66d4c2c5d29485c11ccc0d1062b6d674e2
234 md step-03-success bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md 7b7b339c36ab34953dc542f48a3ed38da420078ee62bbf840a4cb939a3121567
235 md step-03-users bmm bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md 7d3884a502341bd5912eac8b24af5bb961385f353b4a37cee916f0a2b2226b97
236 md step-04-architectural-patterns bmm bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md 4636f23e9c585a7a0c90437a660609d913f16362c3557fc2e71d408d6b9f46ce
237 md step-04-customer-decisions bmm bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md 17dde68d655f7c66b47ed59088c841d28d206ee02137388534b141d9a8465cf9
238 md step-04-decisions bmm bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md 41829279a6ffec9b87870fc0a87e8738b529f07f47ec65dabd983e39d582f8b8
239 md step-04-emotional-response bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md 45ff4c3e907f32c91d78f101a78b075f5731642628474c36b7e06c13fd9519e6
240 md step-04-final-validation bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md c507a3ddf39f657d1c9934c9105d079a7fe78694f19bd519e845a010b3afbda4
241 md step-04-journeys bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md ff297509882def062ab58de4ae922472dd05b562338689c8ac25a24bedad7dca
242 md step-04-metrics bmm bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md 887af175137069fe498f1fd26db2995d1ad00d658cf15598846ae30d03ce0ce5
243 md step-04-regulatory-focus bmm bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md d22035529efe91993e698b4ebf297bf2e7593eb41d185a661c357a8afc08977b
244 md step-04-review bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md aa246ba5793f3a1c6dd434b388b41ccfb9e675bb55664a900a4eb2486e2a40e3
245 md step-04-self-check bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md 14e852bf6fa6f19a7457a774f255e1bc6247e6926a9d69d7631b832bf8e7e723
246 md step-04-ux-alignment bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md d2e15adf2aecc2c72f9bb9051e94042fc522fd7cfb16376f41bdcdd294319703
247 md step-05-adversarial-review bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md 310bebff807efed4523acf507cfe98ff9bead3965627f969585ba8c12326d93f
248 md step-05-competitive-analysis bmm bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md ff6f606a80ffaf09aa325e38a4ceb321b97019e6542241b2ed4e8eb38b35efa8
249 md step-05-domain bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md af444794fffb622cd2d18604ed189cd2efe86c34626d16b5ac1c43b6c14ed551
250 md step-05-epic-quality-review bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md e7fd60676d6ade485de77ce2dd4229811912594cb924d6c15bae5d9bdf105a7d
251 md step-05-implementation-research bmm bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md e2b8a2c79bcebadc85f3823145980fa47d7e7be8d1c112f686c6223c8c138608
252 md step-05-inspiration bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md 74ea94822de791eb24f2e2ca39c3acf01a98b2184f23b1c980e2ada6fd11ae5e
253 md step-05-patterns bmm bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md b6bbca68efc7ff66d2f0fc39d8219898c63fd9c0923cb020ad8ac0d469e6fcff
254 md step-05-scope bmm bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md bd7f8878dd8058e1932151d8cbc468bfc2c6dadb0258d93ed967189d0629dff4
255 md step-05-technical-trends bmm bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md fd6c577010171679f630805eb76e09daf823c2b9770eb716986d01f351ce1fb4
256 md step-06-complete bmm bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md 6594a18f37063fcaa0341845df7e59c7bae9543eb4d32d4a3a8e5fdd77402972
257 md step-06-design-system bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md 6e3ead73073ef51ac952f4cf9491635e5d6825525a4af5d5cbf6e2675db69404
258 md step-06-final-assessment bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md 813329a73f0e48374f337ec719e6b7715b95fb3ba43645143b882ea41acc4d91
259 md step-06-innovation bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md efdd55674bd8329a5d963396c841523d73ffebd168add77bc01425e478e22bc4
260 md step-06-research-completion bmm bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md 30d5e14f39df193ebce952dfed2bd4009d68fe844e28ad3a29f5667382ebc6d2
261 md step-06-research-synthesis bmm bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md 4c7727b8d3c6272c1b2b84ea58a67fc86cafab3472c0caf54e8b8cee3fa411fc
262 md step-06-research-synthesis bmm bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md 1f12aaeccd2d3225608ba00117c567a2097d22d35a5ba7580b45fb9c0a1d2814
263 md step-06-resolve-findings bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md e657af6e3687e15852c860f018b73aa263bdcf6b9d544771a8c0c715581a2c99
264 md step-06-structure bmm bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md 716819821cf7e2a6ce5852785e86e2c77c9f8d1d24e08b86889854365a78e552
265 md step-07-defining-experience bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md 89964c435273a08b3065732a23bc0c3bc1290ac2ecd9339d9ff2eb6ecb890b06
266 md step-07-project-type bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md 325e9853015fb844fc80c0b7c00526d0107dcae9a1bfe3b57d956940fc9e29ba
267 md step-07-validation bmm bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md 1305a67b660fcd61346de2bb8087547c8414f60381ba896762d71f6fa9cebeaf
268 md step-08-complete bmm bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md b4dc514afd17e836458f6eb786318fdc2ecee1466c673eca4c800955ffae52e4
269 md step-08-scoping bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md 8e043d237fb7d3af77b5375629dd4e47054832c98279024d66e090d48d766075
270 md step-08-visual-foundation bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md 8aee1183b3c0e5f379e2c20512665e06ef1189d357ac9a845e3616be35a79c47
271 md step-09-design-directions bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md 6ab5f1302ec43aed52f45a2842ae49dc4bd98b2d12109d5657c9f04e4b434f89
272 md step-09-functional bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md 13ced8348b8bb0b7cd88f0400b538fabbcb1fb3c23525bf4fffb7ca9f4c37c8c
273 md step-10-nonfunctional bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md e37395a792ac3b81c635993c27748ebd6d781c755ed49e580cd7c78e5486a012
274 md step-10-user-journeys bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md 30866f55e179d0985efcf57120e63dfbb1fa3ddb6fa9623c4ee0e0b9738f0467
275 md step-11-component-strategy bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md ed805fafa72fb703b1e89b3c59c0c2dbe99c3021e009858602a92cfb473727a6
276 md step-11-polish bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md 935655a256562b6b3420c091a56067c34c35819343a78927ca138c9ea8b92a97
277 md step-12-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md 5443ef1e08c70fdd15092db6f65cb67fe2cded357ed1b5f4918398e404901bf8
278 md step-12-ux-patterns bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md d9bfabc5322aca6e2ba512fa6b39bcdac885b8010dd8c4768c10e33524a04b08
279 md step-13-responsive-accessibility bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md f9f2ae70026eb5524a372332632240cea765360ed90a47fea316a65cc3e0e7ce
280 md step-14-complete bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md 73cc7521dad3db2c730b06731a90df40016e67bdfefa6b6537a18d979c0f14df
281 md step-e-01-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md 2bc88c9480ac5986c06672533ab2080b1ee01086033c8e441a8c80551c8a99ee
282 md step-e-01b-legacy-conversion bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md e6bbe9020e6986a620fc0299a48e6c31c9d1ec14691df11be71baeb79837bc92
283 md step-e-02-review bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md b2660d88a445dc3f8f168f96ca92d4a1a36949e3b39fbf6cda5c77129636d9b1
284 md step-e-03-edit bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md dfcc3e4f0b1ec050d4985af04dc02b28174a995e95327ca01ae4b8cac10cc1e5
285 md step-e-04-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md a1100f8639120311cbaf5a5a880db4e137216bc4bd0110b0926004107a99d3c3
286 md step-v-01-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md 287c39e44b32faab52fb155a4a30ab3f31cf6ef5c599b8b15687e5bb3c97a447
287 md step-v-02-format-detection bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md 251ea5a1cf7779db2dc39d5d8317976a27f84b421359c1974ae96c0943094341
288 md step-v-02b-parity-check bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md 3481beae212bb0140c105d0ae87bb9714859c93a471048048512fd1278da2fcd
289 md step-v-03-density-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md 5b95ecd032fb65f86b7eee7ce7c30c997dc2a8b5e4846d88c2853538591a9e40
290 md step-v-04-brief-coverage-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md 97eb248c7d67e6e5121dd0b020409583998fba433799ea4c5c8cb40c7ff9c7c1
291 md step-v-05-measurability-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md 2f331ee6d4f174dec0e4b434bf7691bfcf3a13c6ee0c47a65989badaa6b6a28c
292 md step-v-06-traceability-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md 970ea67486211a611a701e1490ab7e8f2f98060a9f78760b6ebfdb9f37743c74
293 md step-v-07-implementation-leakage-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md f75d1d808fdf3d61b15bea55418b82df747f45902b6b22fe541e83b4ea3fa465
294 md step-v-08-domain-compliance-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md a1902baaf4eaaf946e5c2c2101a1ac46f8ee4397e599218b8dc030cd00c97512
295 md step-v-09-project-type-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md d53e95264625335184284d3f9d0fc6e7674f67bdf97e19362fc33df4bea7f096
296 md step-v-10-smart-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md 22d48a72bc599f45bbf8c3e81d651d3a1265a6450866c0689bf287f43d7874a4
297 md step-v-11-holistic-quality-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md 1022a1454aadff28e39fd5fa71dd76d8eefccfe438b9ef517a19b44d935c0f5b
298 md step-v-12-completeness-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md c966933a0ca3753db75591325cef4d4bdaf9639a1a63f9438758d32f7e1a1dda
299 md step-v-13-report-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md 9184ef4045829406323c714044ca9c70152ad425e559019633b13829434f6378
300 md tech-spec-template bmm bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md 6e0ac4991508fec75d33bbe36197e1576d7b2a1ea7ceba656d616e7d7dadcf03
301 md template bmm bmm/workflows/4-implementation/create-story/template.md 29ba697368d77e88e88d0e7ac78caf7a78785a7dcfc291082aa96a62948afb67
302 md ux-design-template bmm bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md ffa4b89376cd9db6faab682710b7ce755990b1197a8b3e16b17748656d1fca6a
303 md workflow bmm bmm/workflows/1-analysis/create-product-brief/workflow.md 5858d72a2fd8010a40d86d7e7581e44af9eb3432f13a236575035a21807e755a
304 md workflow bmm bmm/workflows/2-plan-workflows/create-ux-design/workflow.md 10ffb0f43a4e204ecd1a67bf5bff52d6929847651ad096bbe833cf1f0eb198c5
305 md workflow bmm bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md ddfe66e2ced3a092d0be1606d36c5eb9610602e939059c902b22da1aa202e904
306 md workflow bmm bmm/workflows/3-solutioning/create-architecture/workflow.md ad930c2c9b991fb56f0d04cfdbc69d04bffd5df2c515ca570ad7d388f56a055c
307 md workflow bmm bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md d40eb6e04de52d4265af460322a9487bb2c241453b0a59940e1bb04836a7ba65
308 md workflow bmm bmm/workflows/bmad-quick-flow/quick-dev/workflow.md 7e13f74e23f9de40ed15140b5cadb28a7462ad019dc345422b3aede59ad8e7f7
309 md workflow bmm bmm/workflows/bmad-quick-flow/quick-spec/workflow.md e7856a24e0f39108ae494569b8ceb2eb1ca10588ed3869c5feef98832c54db78
310 md workflow bmm bmm/workflows/generate-project-context/workflow.md 0da857be1b7fb46fc29afba22b78a8b2150b17db36db68fd254ad925a20666aa
311 md workflow-create-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md 2331a3f02fd4bc3628e3bb1684645e8392a77e8b5b9f918e55554616a2bfe06b
312 md workflow-domain-research bmm bmm/workflows/1-analysis/research/workflow-domain-research.md 137509e99ad4b11c391ebe87832d4820c46da75ed8570dd5b5a71f4372b75c73
313 md workflow-edit-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md e433664058429f54b49237ad7b2eba43fb115b8b9c68c87846f9523405ac73ef
314 md workflow-market-research bmm bmm/workflows/1-analysis/research/workflow-market-research.md 2798d9cbeab426df7f2bcc228771fc5d5e1a58302eef769e2bbd36ce7d7f43e4
315 md workflow-technical-research bmm bmm/workflows/1-analysis/research/workflow-technical-research.md 16974efc305ab195209232eea5e7ab828df2c6244b8c2ba7ca4a517e90b38b64
316 md workflow-validate-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md 5f7d3a188b5c68fb621b31da4ba62b75444615a0f8eadfe8c505c11f4a8e404c
317 xml instructions bmm bmm/workflows/4-implementation/code-review/instructions.xml 1a6f0ae7d69a5c27b09de3efab2b205a007b466976acdeeaebf7f3abec7feb68
318 xml instructions bmm bmm/workflows/4-implementation/create-story/instructions.xml 38eae4b503711a162f55ccd41b770248581a4357cbbfe1cf1bb34520307ccd63
319 xml instructions bmm bmm/workflows/4-implementation/dev-story/instructions.xml 396eba2694f455e9aa8f0e123b4147799e07205cfb666a411e8a5d0d4b6b5daa
320 yaml config bmm bmm/config.yaml c105f7d0d1dbb0c8ce057cbc386fd96719832be3498367ac8eafc2a20cd5112d
321 yaml deep-dive bmm bmm/workflows/document-project/workflows/deep-dive.yaml a16b5d121604ca00fffdcb04416daf518ec2671a3251b7876c4b590d25d96945
322 yaml full-scan bmm bmm/workflows/document-project/workflows/full-scan.yaml 8ba79b190733006499515d9d805f4eacd90a420ffc454e04976948c114806c25
323 yaml sprint-status-template bmm bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml 0d7fe922f21d4f00e538c265ff90e470c3e2eca761e663d84b7a1320b2f25980
324 yaml team-fullstack bmm bmm/teams/team-fullstack.yaml da8346b10dfad8e1164a11abeb3b0a84a1d8b5f04e01e8490a44ffca477a1b96
325 yaml workflow bmm bmm/workflows/4-implementation/code-review/workflow.yaml 4ddef804c51bd83ad51f39e752333383ab559c0986efb8404b659e4728c81ad8
326 yaml workflow bmm bmm/workflows/4-implementation/correct-course/workflow.yaml 0d9c4502fc2f9524644918e33271d648bf7929e91eba8645e39d7d7c7e67eac7
327 yaml workflow bmm bmm/workflows/4-implementation/create-story/workflow.yaml 7989989306494ad06bd5a08f9be73b50d791389226c3b2c8c281ffb8d078d70a
328 yaml workflow bmm bmm/workflows/4-implementation/dev-story/workflow.yaml 36d144a797706f438f973d4fe0679b98096eb1b911f8b7df3f9a8db4fab5e9d2
329 yaml workflow bmm bmm/workflows/4-implementation/retrospective/workflow.yaml 7eac3fda56bb7106a160b446121de55b25d20d60eadcf2caf1ca3245ad84208f
330 yaml workflow bmm bmm/workflows/4-implementation/sprint-planning/workflow.yaml 3f31e4b0973525228549cef18123816d82dc45741dab1f48720eefb191876f81
331 yaml workflow bmm bmm/workflows/4-implementation/sprint-status/workflow.yaml f03d2804afca3ee29a612117f6bf090b455354a3557c2198ec9b8eb5c5900cef
332 yaml workflow bmm bmm/workflows/document-project/workflow.yaml 9e2886d022d4054c0e6ca6580673f775415add7924961d6723ed13156200a819
333 yaml workflow bmm bmm/workflows/qa/automate/workflow.yaml 670d28da3e20a445ae08ab3e907eaf3eaf13d9a08c4b26244344a0fd8f54a399
334 csv default-party cis cis/teams/default-party.csv e27e5a0480f41760da2fde5aeeccd425dae9c4a654105aab329ee1562cc83392
335 csv design-methods cis cis/workflows/design-thinking/design-methods.csv 97a1fa87aaa355ce855c2c4e3bbfde59cb4ed2166cf9896496af786f10c13459
336 csv innovation-frameworks cis cis/workflows/innovation-strategy/innovation-frameworks.csv bd1d191062302353d2562a54751f8f263ce47e143202e2c0fe41315c2be9eb95
337 csv module-help cis cis/module-help.csv b55259cda5cc5d3facb33d673c783bd188500410ed1042bd792951760998cc63
338 csv solving-methods cis cis/workflows/problem-solving/solving-methods.csv f3a380b12b21ec2410d1ac44bc8ca1970b0a04a21bfe3dd0370ac7ed1ec0d2c0
339 csv story-types cis cis/workflows/storytelling/story-types.csv 8cf3d49d3ce771f30b6d9c0c936d35f92b8af23e0962c876df832c02d605f1ce
340 md instructions cis cis/workflows/design-thinking/instructions.md b0a3e02f516bebe0144584ca78bb265cadc1bf2d693da945056117aaf58db5d2
341 md instructions cis cis/workflows/innovation-strategy/instructions.md bbcf33febc8d0c955a0e6b33ae36dbcbb20f98133183f870c7aae44678248859
342 md instructions cis cis/workflows/problem-solving/instructions.md 5c215099daea5a941aacc32bb5e554f03ce6a08ca5d6ad134ad1de82cb9df59e
343 md instructions cis cis/workflows/storytelling/instructions.md 1856d7f9ea7ec859c188630a6fafbccaaa05e9c8ea5463668842cc74a00d5c7e
344 md README cis cis/workflows/design-thinking/README.md c6eab6e3fe96a97731cc2b7d8d6ea20f5a9664d19f03fc5b2b34e1ac8952142e
345 md README cis cis/workflows/innovation-strategy/README.md 88ab818502bf35c3e99eb8e277aa10244834b013913ecebd1de1449e54944650
346 md README cis cis/workflows/problem-solving/README.md 1eb1bb254b197817249d53af6241cc8af5d9b324e6420eecb53c646ac1ffff8f
347 md README cis cis/workflows/README.md 0488dc66b7b67b400289634b1a2f6acd10f87614fa3473b417ecb9f4c7e152a7
348 md README cis cis/workflows/storytelling/README.md c82b12133c5057c546c96432d574aa035ab1446178f9c64d247cdda9e1e2bfe4
349 md template cis cis/workflows/design-thinking/template.md 7bcf6d0cd09de3c0d91f3f49ee280177365dabb64ed814b97e83e73082643c37
350 md template cis cis/workflows/innovation-strategy/template.md ab574d69fa13e21c806101a9089563b541013f6df44255d800ea24d4cb6d7136
351 md template cis cis/workflows/problem-solving/template.md c46fbdf42a1d9ad732f562e4add05020198ffc7ba18d134718e1cd960752c390
352 md template cis cis/workflows/storytelling/template.md 290615dbd530dc13843a87ebedd107b390bcfd57cf68df67cd250dea8f49b2dd
353 yaml config cis cis/config.yaml edf49a94c97cd8e82c813831df3da061feeb0003bd920408bdaf60ff558ae0be
354 yaml creative-squad cis cis/teams/creative-squad.yaml 5e1033c95a9679e2f8688be4409104aa0b98c6503abb0512447b6d7541dd4f61
355 yaml workflow cis cis/workflows/design-thinking/workflow.yaml 10d06df36d9c210430d6415c758c3b125288da0604d05e9b907ada2cf1170233
356 yaml workflow cis cis/workflows/innovation-strategy/workflow.yaml 79ff4aa210bc706974b78f037d22e9743c2cbe1a9a4d0837e9e6bcab6fc94563
357 yaml workflow cis cis/workflows/problem-solving/workflow.yaml 6dc8ad738218c9f4e4490ab8e57017d1618ab0a2140a3f246f04fe22b31755a4
358 yaml workflow cis cis/workflows/storytelling/workflow.yaml d78ef4eecb82a24142eb8ebef031830c1029b1e646f09eb7a414c70f2e267fea
359 csv brain-methods core core/workflows/brainstorming/brain-methods.csv 0ab5878b1dbc9e3fa98cb72abfc3920a586b9e2b42609211bb0516eefd542039
360 csv methods core core/workflows/advanced-elicitation/methods.csv e08b2e22fec700274982e37be608d6c3d1d4d0c04fa0bae05aa9dba2454e6141
361 csv module-help core core/module-help.csv 4227d475748e8067aeae3e1a67d7b6235c109da13b2ef9131db930083dcb348d
362 md help core core/tasks/help.md 950439aaff47aa25f94ede360ce8f8a47bf29c52b7f19c76a45960e8687fe726
363 md step-01-agent-loading core core/workflows/party-mode/steps/step-01-agent-loading.md 04ab6b6247564f7edcd5c503f5ca7d27ae688b09bbe2e24345550963a016e9f9
364 md step-01-session-setup core core/workflows/brainstorming/steps/step-01-session-setup.md bc09cc22a0465b316ff3c13903b753768fa31d83abd3f9fc328631db63dc0cf8
365 md step-01b-continue core core/workflows/brainstorming/steps/step-01b-continue.md d76a406e0ff0a0e58006ec671b56f19a059e98cfebba4c0724ae6ccdd9303e7f
366 md step-02-discussion-orchestration core core/workflows/party-mode/steps/step-02-discussion-orchestration.md a8a79890bd03237e20f1293045ecf06f9a62bc590f5c2d4f88e250cee40abb0b
367 md step-02a-user-selected core core/workflows/brainstorming/steps/step-02a-user-selected.md 558b162466745b92687a5d6e218f243a98436dd177b2d5544846c5ff4497cc94
368 md step-02b-ai-recommended core core/workflows/brainstorming/steps/step-02b-ai-recommended.md 99aa935279889f278dcb2a61ba191600a18e9db356dd8ce62f0048d3c37c9531
369 md step-02c-random-selection core core/workflows/brainstorming/steps/step-02c-random-selection.md f188c260c321c7f026051fefcd267a26ee18ce2a07f64bab7f453c0c3e483316
370 md step-02d-progressive-flow core core/workflows/brainstorming/steps/step-02d-progressive-flow.md a28c7a3edf34ceb0eea203bf7dc80f39ca04974f6d1ec243f0a088281b2e55de
371 md step-03-graceful-exit core core/workflows/party-mode/steps/step-03-graceful-exit.md bdecc33004d73238ca05d8fc9d6b86cba89833630956f53ecd82ec3715c5f0da
372 md step-03-technique-execution core core/workflows/brainstorming/steps/step-03-technique-execution.md 9e6abceec5f774c57cd5205e30a1f24a95441131dbffcae9c3dce72111f95ceb
373 md step-04-idea-organization core core/workflows/brainstorming/steps/step-04-idea-organization.md 5224490c33bf4b23b2897f3bcf12abe0b1ced306541dd60c21df0ce9fc65d1ac
374 md template core core/workflows/brainstorming/template.md 5c99d76963eb5fc21db96c5a68f39711dca7c6ed30e4f7d22aedee9e8bb964f9
375 md workflow core core/workflows/brainstorming/workflow.md 7d7f957ccd176faed2551e3089abfa49032963e980b5643d9384690af3d61203
376 md workflow core core/workflows/party-mode/workflow.md f8537e152df8db331d86e2a37e5ced55bccff3a71e290f82eb754d28c0c9ec08
377 xml editorial-review-prose core core/tasks/editorial-review-prose.xml 49f462ddc5f20a6e2abf14e4b8f3a25c70885c6a6d776ef4674739dd7880988a
378 xml editorial-review-structure core core/tasks/editorial-review-structure.xml 307edce94877dacdaafb10f7ea39115944c7d19e57228a7859abf2fee8b1a177
379 xml index-docs core core/tasks/index-docs.xml 90076db678b1d65b4dd8b166731584fafc68e660e5015f309a1c78aae6e25a28
380 xml review-adversarial-general core core/tasks/review-adversarial-general.xml 347436fde09411caaab10ff97e4cbd2bfef31dbe9f8db9e0eb49c3ed361ede7b
381 xml shard-doc core core/tasks/shard-doc.xml 947f2c7d4f6bb269ad0bcc1a03227d0d6da642d9df47894b8ba215c5149aed3d
382 xml workflow core core/tasks/workflow.xml 17bca7fa63bae20aaac4768d81463a7a2de7f80b60d4d9a8f36b70821ba86cfd
383 xml workflow core core/workflows/advanced-elicitation/workflow.xml ead4dc1e50c95d8966b3676842a57fca97c70d83f1f3b9e9c2d746821e6868b4
384 yaml config core core/config.yaml 74db4d17c6475b83a0c5e1ce8c1bc128914b9e2b75ba40d92ad1fc22b579e54f
+5
View File
@@ -0,0 +1,5 @@
ide: antigravity
configured_date: 2026-02-13T07:24:22.081Z
last_updated: 2026-02-13T07:24:22.081Z
configuration:
_noConfigNeeded: true
Loaded 100 of 4277 files, more files were not shown because too many files have changed in this diff. Show more