Flowershow
Publish Markdown and HTML from your AI session as a live website. No account needed.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http flowershow 'https://flowershow.app/api/mcp'
{
"mcpServers": {
"flowershow": {
"type": "http",
"url": "https://flowershow.app/api/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
Flowershow 💐
Publish markdown quickly and easily - for docs, knowledgebases, websites and more
Try it out now and sign up at https://flowershow.app/
Want to see it in action? 🎉 https://flowershow.app itself is built and published with Flowershow 💐
- 📝 Docs: https://flowershow.app/docs
- 🤖 for AI: https://flowershow.app/cli
- 💎 for Obsidian: https://flowershow.app/uses/obsidian
Flowershow is proudly open-source.
Flowershow is a product of Datopian - dedicated to democratising the power of data & knowledge.
Publish
Just login in the website and you can publish in seconds by drag and drop, from Obsidian (plugin), from Github and more.
Command line (for AI)
The CLI is a single binary called fl.
# Install (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/flowershow/flowershow/main/apps/cli/install.sh | sh
# Log in and publish a folder or file
fl login
fl ./my-notes
Windows: download fl_windows_amd64.zip from the latest release and put fl.exe on your PATH. Full details: CLI reference.
Using an AI agent (Claude, ChatGPT, Codex, Cursor)? See https://flowershow.app/publish-with-ai.
For Developers (contributing to Flowershow itself)
You do not need anything below to use Flowershow. To install and publish, see Install and publish above. This section is only for people developing the Flowershow platform from source.
Monorepo Structure
This is a Turborepo monorepo managed with pnpm workspaces.
apps/
flowershow/ # Next.js web application (flowershow.app)
cli/ # Go CLI (`fl`) — publish markdown files from the terminal or AI agents
packages/
api-contract/ # @flowershow/api-contract — Zod schemas, TS types, OpenAPI 3.1 spec
cloudflare-worker/ # Markdown processing Cloudflare worker
remark-wiki-link/ # @flowershow/remark-wiki-link — remark plugin for wiki-style links
content/
flowershow-app/ # Marketing site content (Obsidian vault, not a workspace package)
Development setup
Prerequisites (for platform development only): Node.js 22+, pnpm, and Docker.
# Clone (include the e2e test-site submodule)
git clone --recurse-submodules https://github.com/flowershow/flowershow.git
cd flowershow
# Install dependencies
pnpm install
# Copy env template (then edit apps/flowershow/.env with your secrets)
cp apps/flowershow/.env.example apps/flowershow/.env
# Start everything: Postgres, MinIO, Inngest, Cloudflare Worker, Next.js app
pnpm dev
Visit http://cloud.localhost:3000 once it's running.
If you already cloned without
--recurse-submodules, rungit submodule update --initto fetch the e2e test site.
Commands
pnpm dev --stripe # Also start Stripe webhook forwarding
pnpm dev --github # Also start Smee (GitHub webhook proxy)
pnpm dev --search # Also start Typesense
pnpm dev:all # Start everything including all optional services
pnpm dev:local # Start dev servers only (no Docker infrastructure)
pnpm dev:local:all # Start dev servers only + all optional services
pnpm dev:down # Stop Docker containers (keep data)
pnpm dev:nuke # Stop containers + delete all data volumes
pnpm build # Build all packages
pnpm test # Run tests across all packages
pnpm lint # Lint all packages (ESLint for app, Biome for packages)
pnpm format # Check formatting (Biome)
pnpm format:write # Auto-fix formatting
For web app setup (database, storage, auth, etc.), see apps/flowershow/README.md.
Tooling
| Tool | Scope | Purpose |
|---|---|---|
| Biome | Entire repo | Formatting (single quotes, 2-space indent) and linting for packages/ |
| ESLint | apps/flowershow | Next.js-specific linting via eslint-config-next |
| Vitest | packages/remark-wiki-link | Unit tests |
| Playwright | apps/flowershow | E2E tests |
| Turborepo | Root | Task orchestration and caching |
| Changesets | packages/ | Versioning and npm publishing |
| Husky | Root | Git hooks (pre-commit runs lint-staged) |
A pre-commit hook automatically formats staged files via lint-staged before each commit.
Releasing packages
pnpm changeset # Create a changeset describing your change
pnpm version-packages # Bump versions based on changesets
pnpm release # Build all packages and publish to npm
Documentation
- Web app:
apps/flowershow/README.md— architecture, local dev setup, environment config, testing, troubleshooting - REST API contract:
packages/api-contract/README.md— Zod schemas, TypeScript types, and OpenAPI 3.1 spec for the Flowershow REST API. The contract is the single source of truth for the API surface; the Next.js API routes, CLI, and Obsidian plugin all consume it. - Interactive API docs: With the dev server running, visit
http://cloud.flowershow.local:3000/api/docsfor Swagger UI, or/api/docs/openapi.jsonfor the raw spec. In production: flowershow.app/api/docs. - CLI:
apps/cli/README.md— Go CLI for publishing markdown files. Also the interface for AI agent integration — see the Flowershow skill. - User docs: flowershow.app/docs
Community
- Browse existing issues or submit a new one
- Visit our discussions to ask questions, share ideas, or showcase your Flowershow site
Contributing
We're working on opening up parts of Flowershow for community contributions. While this isn't ready yet, we're excited to welcome contributors soon.
You can already contribute by adding pull requests for demos or tests of Flowershow markdown features:
- Demo: demo.flowershow.me — github.com/flowershow/demo
- Test: test.flowershow.me — github.com/flowershow/test
Development Workflow
- Create feature branch from
staging - Implement changes
- Submit PR to
staging - After approval, changes are merged to
main
We use squash merges to staging with conventional commit messages.
الأسئلة الشائعة
ما هو Flowershow؟
Publish Markdown and HTML from your AI session as a live website. No account needed.
كيف أثبّت Flowershow؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http flowershow 'https://flowershow.app/api/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Flowershow إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Flowershow مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص AGPL-3.0.
من يصون Flowershow؟
ينشره flowershow. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.