Adds the full signal-to-post pipeline for non-automated opportunities:
- SQLite migration 007: opportunities table (platform, community, thread_url,
draft title/body, post_type, status, campaign_id, dismiss_note)
- FastAPI endpoints: GET/POST /opportunities, GET/PATCH /{id}, /{id}/approve,
/{id}/mark-posted, /{id}/dismiss
- approve() returns auto_post_ready (Reddit) or manual_handoff (Lemmy/LinkedIn/etc)
with clipboard-ready draft and instructions
- OpportunitiesView.vue: status-filtered queue, slide-over detail panel with
inline draft editor, approve/dismiss actions, manual handoff copy+open flow
- Opportunities now default landing route; nav link added
- MCP tools: list_opportunities, create_opportunity, approve_opportunity,
dismiss_opportunity, update_opportunity
Closes #9
31 lines
300 B
Text
31 lines
300 B
Text
# Secrets / config
|
|
.env
|
|
session.json
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
*.egg-info/
|
|
dist/
|
|
.venv/
|
|
|
|
# Node
|
|
node_modules/
|
|
frontend/dist/
|
|
|
|
# Debug screenshots
|
|
debug_*.png
|
|
|
|
# Data
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
data/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
|
|
# CLAUDE.md — gitignored per BSL 1.1 + docs-location policy
|
|
CLAUDE.md
|