How facundodlf/agentic-marketing-team works
This is a Nuxt marketing-team dashboard, with a concrete news workflow: a user scans news or submits a URL, the scraper API extracts and ideates news, and the review UI displays ideas that can be approved or discarded. The composable synchronizes ideas and status changes through API routes; the server uses Firebase/Firestore and Gemini. The tree also shows copywriting, newsroom editing, leads, inbox, and orchestration areas, but their runtime wiring is mostly unsampled. Those branches are represented without inferred call chains.
Main entry points: scraper.post.ts News scraper API · useScraper.ts Scraper and ideas state · ideas Idea read and update API · firebase.ts Firestore access
Components 22
Dashboard and navigation
- App shell
app/layouts/default.vue - Sidebar navigation
shared/ui/AppSidebar.vue - Dashboard pages
app/pages
News discovery and review
- News review
widgets/pending-news/ui/PendingNewsWidget.vue - Scraper and ideas state
features/ScraperNews/composables/useScraper.ts - News scraper API
server/api/agents/scraper.post.ts - Idea read and update API
server/api/ideas - News idea schema
entities/news/types.ts - Firestore access
server/utils/firebase.ts
Content and copy
- Copywriter API
server/api/agents/copyhook.post.ts - Newsroom editor
widgets/newsroom/ui/NewsroomWorkspace.vue - Copy editor
widgets/newsroom/ui/CopyEditor.vue - Social preview
widgets/newsroom/ui/SocialPreview.vue - Latest copy preview
widgets/latest-copy/ui/LatestCopyWidget.vue
Agents and leads
- Orchestrator chat
widgets/orchestrator-chat/ui/OrchestratorChatWidget.vue - Qualified leads
widgets/qualified-leads/ui/QualifiedLeadsWidget.vue - Lead data
entities/lead/model/mock-data.ts - Agent definitions
shared/constants/agents.ts
Other components
- Marketing user
- Firebase Firestore
- Gemini AI
- News and URL sources
Connections 19
- Marketing user → App shell: opens app
app/layouts/default.vue - App shell → Sidebar navigation: renders
app/layouts/default.vue - Marketing user → Dashboard pages: visits
- Dashboard pages → News review: shows
- News review → Scraper and ideas state: uses
widgets/pending-news/ui/PendingNewsWidget.vue - Scraper and ideas state → News scraper API: posts scans
features/ScraperNews/composables/useScraper.ts - Scraper and ideas state → Idea read and update API: fetches and patches
features/ScraperNews/composables/useScraper.ts - News scraper API → Firestore access: reads and writes
server/api/agents/scraper.post.ts - Idea read and update API → Firestore access: accesses
server/api/ideas/index.get.ts - Firestore access → Firebase Firestore: initializes
server/utils/firebase.ts - News scraper API → Gemini AI: generates ideas
server/api/agents/scraper.post.ts - News scraper API → News and URL sources: extracts news
- News scraper API → News idea schema: validates ideas
server/api/agents/scraper.post.ts - Idea read and update API → News idea schema: uses schema
server/api/ideas/index.get.ts - Newsroom editor → Copy editor: renders
widgets/newsroom/ui/NewsroomWorkspace.vue - Newsroom editor → Social preview: previews copy
- Qualified leads → Lead data: displays
widgets/qualified-leads/ui/QualifiedLeadsWidget.vue - News scraper API → Agent definitions: uses agent config
server/api/agents/scraper.post.ts - Copywriter API → Agent definitions: uses agent config
server/api/agents/copyhook.post.ts