
wrenautomation/wren
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
Wren Automation platform. One TypeScript monorepo: durable automations on Restate, Postgres via Drizzle, dashboard in Next.js (later). Spec: designs/2026-09-17-platform-spec.md.
概要
Wren Automation platform. One TypeScript monorepo: durable automations on Restate, Postgres via Drizzle, dashboard in Next.js (later). Spec: designs/2026-09-17-platform-spec.md. New here: walkthrough/ is the guided path (setup → content loop → Meta ads → email campaign → production) with read-only demos against prod. Drafts follow WREN_CONTENT_VOICE (a markdown file in your words), your last redraft notes on that platform and its best posts so far, and go out through the channels in WREN_CONTENT_CHANNELS. A local --media file lands in WREN_MEDIA_BUCKET first (the worker and the box cannot read this laptop); a URL is used as is. Design: designs/2026-09-22-content-loop.md. Video footers are templates: post:youtube/footer under a long video's description, post:youtube/shorts-footer under a Short's, post:instagram/reel-footer under a Reel's caption. Edit with wren templates get post:youtube/footer > f.post, then wren templates set post:youtube/footer f.post --why "...
README
以下は原文 README の抜粋です。原文を見る。
wren
Wren Automation platform. One TypeScript monorepo: durable automations on Restate, Postgres via Drizzle, dashboard in Next.js (later). Spec: designs/2026-09-17-platform-spec.md.
New here: walkthrough/ is the guided path (setup → content loop → Meta ads →
email campaign → production) with read-only demos against prod.
Quick start
cp .env.example .env
pnpm install
docker compose up -d # Postgres :5434, Restate ingress :8080 admin :9070
pnpm db:migrate
pnpm worker # Restate endpoint on :9080 (keep running)
pnpm register # tell Restate where the worker is (once per worker restart)
ln -s "$PWD/bin/wren" ~/.local/bin/wren # the CLI, compiled on first run and after every source change
wren status
Content loop (every platform)
wren status # drafts, open ideas, spend; exit 1 on Thursday+ with nothing drafted this week
echo "shipped the spend gate today. every buy asks me first." | wren content add
wren content add idea.md --media short.mp4 --title "Spend gate" # a short: YouTube, Reels, TikTok, X, LinkedIn captions
wren content drafts # one row per platform, status draft
wren content show
wren content redraft "shorter, keep the discord line" # the model rewrites from your note
wren content edit fixed.md
wren content approve ... # each posts at its platform's next slot (LinkedIn 08:30 + 12:30 weekdays, X noon, IG 18:00 … on WREN_SEND_TIMEZONE)
wren content approve --at 2026-09-23T14:00:00Z
wren content approve --now # on the queue's next pass
wren content queue start # ContentScheduler/default: posts approved drafts as they come due
wren content metrics start # ContentMetrics/default: one look per young post per day; Monday = what-worked to the channel
wren content planner start --draft # ContentPlanner/default, 17:00: drafts tomorrow's open slots (ideas, build log, a reader's question); approve keeps the slot
wren content planner slots linkedin 08:30 --days 1-5 # one platform's post times (1 = Monday); keeps the rest, starts the planner
wren content results --days 7 # published posts, engagement per 100 views, best first
wren content costs --days 30 # drafting calls and tokens by platform and model
Drafts follow WREN_CONTENT_VOICE (a markdown file in your words), your last redraft notes
on that platform and its best posts so far, and go out through the channels in
WREN_CONTENT_CHANNELS. A local --media file lands in WREN_MEDIA_BUCKET
first (the worker and the box cannot read this laptop); a URL is used as is. Design: designs/2026-09-22-content-loop.md.
Video footers are templates: post:youtube/footer under a long video’s description,
post:youtube/shorts-footer under a Short’s, post:instagram/reel-footer under a Reel’s caption.
推奨ツール
別のキーワードを試すか、フィルタを外してください。
インストール
npx skillfish add wrenautomation/wren