CLI + web dashboard for creating viral content on X and LinkedIn. Analyzes your writing style, discovers trending posts in your niches, and uses AI to generate content that matches your voice.
apps/cli/ Go CLI tool (Phase 1)
apps/server/ Go HTTP API server (Phase 2)
apps/web/ React web dashboard (Phase 2)
- Go 1.24+
- Node 22+ (for web dashboard)
- API keys: Claude (required), X and/or LinkedIn credentials
Run the interactive setup wizard:
go run ./apps/cli/ initThis creates ~/.goviral/config.yaml with your API keys and ~/.goviral/goviral.db.
Alternatively, create ~/.goviral/config.yaml manually:
claude:
api_key: "sk-ant-..."
model: "claude-sonnet-4-20250514" # optional, this is the default
x:
bearer_token: "..."
username: "yourhandle"
client_id: "..." # for OAuth posting
client_secret: "..." # for OAuth posting
linkedin:
client_id: "..."
client_secret: "..."
access_token: "..."
gemini:
api_key: "..." # optional, for image generation
niches:
- "AI"
- "startups"
server:
port: 8080
api_key: "your-secret"
allowed_origins:
- "http://localhost:5173"go build -o goviral ./apps/cli/
./goviral fetch --platform x
./goviral profile build
./goviral trending --platform x
./goviral generate --platform xDevelopment mode (two terminals):
# Terminal 1: API server
go run ./apps/server/
# Terminal 2: Web dev server (proxies /api to :8080)
cd apps/web && npm install && npm run devProduction mode (single binary with embedded web UI):
cd apps/web && npm run build
cp -r apps/web/dist/ apps/server/static/
go build -tags embedweb -o goviral-server ./apps/server/
./goviral-server