Skip to content

rogerdigital/publio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

540 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Publio

English | 中文

Version License: MIT TypeScript Vite Hono

A focused writing and multi-platform publishing tool for individual creators. Write once, adapt per platform.

  • Writing desk — Markdown editing with live preview and .md import, immersive full-screen mode, manual save with best-effort save when closing or moving the page to the background, revision-aware platform variants, templates, and a media library.
  • Draft library — Manage drafts, publish state, and platform variants.
  • Multi-platform publishing — Publish to WeChat, Xiaohongshu, Zhihu, and X (Twitter) with progress tracking.
  • Optional AI assistance — Rewrite, title suggestions, and platform adaptation; AI entry points are hidden when unconfigured.

Product Scope

Publio focuses on the creation and publishing loop:

Writing Desk -> Platform Variants -> Publish Checks -> Publish Progress -> Draft Library

The current app keeps only three user-facing routes:

Route Purpose
/ Write, preview, manage platform variants, run checks, and publish
/drafts Reopen drafts and inspect publish state
/settings Configure platform credentials and AI agent settings

Quick Start

git clone https://github.com/rogerdigital/publio.git
cd publio
pnpm install
pnpm dev

Open http://localhost:3000. Configure platform credentials and AI agent in Settings (/settings).


Features

Writing Desk

Markdown editor with live preview, .md import, immersive full-screen mode, manual save with best-effort save when closing or moving the page to the background, content templates, and a media library. Platform variants track the main-draft revision, so main-draft updates do not silently overwrite manual or AI edits.

AI Assistance

When an agent is configured, slash commands can trigger AI rewrite and title suggestions. Platform adaptation can generate variants for WeChat, Xiaohongshu, Zhihu, and X. AI responses stream to the UI; writing and publishing still work when AI is disabled.

Multi-Platform Publishing

Each platform has its own content variant that can be manually edited, synced from the main draft, or AI-adapted. Publish checks run before submission, and the progress overlay polls task status after publishing starts.

Draft Library

The draft library shows saved drafts, publish timestamps, publish status, and platform variant entry points. It supports reopening drafts, deleting drafts, and reviewing recent work.

Core APIs

The API surface covers drafts, platform variants, publishing, publish status, settings, templates, uploads, platform connection checks, and AI write/adapt/status endpoints.


Configuration

See docs/configuration.md for platform credentials and AI agent setup.

Runtime data is stored in .publio-data/.


Development

Built as a pnpm workspaces monorepo: a Vite 8 SPA frontend (apps/web, React 19 + react-router) talks to a standalone Hono 4 API server (apps/api, port 8787) over /api/*. TypeScript 5 (strict), vanilla-extract, and Zustand throughout. Shared types live in packages/shared-types.

pnpm dev              # start web (3000) + api (8787) concurrently
pnpm dev:web          # frontend only (Vite, port 3000)
pnpm dev:api          # backend only (Hono, port 8787)
pnpm build            # production build (tsc + vite build)
pnpm test             # run Vitest tests
pnpm lint             # ESLint
pnpm check:no-js-source  # enforce TypeScript-only source roots

CI runs check:no-js-source, lint, format:check, tsc --noEmit, test, and build on every pull request to main.


License

MIT

About

Write once, publish everywhere.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages