FloCafe
FloCafe is the free, local-first restaurant POS in the FloPOS ecosystem. Run orders, tables, kitchen display, and local data without a software subscription.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Sell where clients ask AI
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Sell where clients ask AI.
Veetlyn puts a seller's services and products inside Claude and ChatGPT. A client's AI finds the offer, asks questions and requests a quote. The client pays with PayPal on Veetlyn. Agents work within the permissions and business policies assigned to them. In the alpha, buyers approve checkout in PayPal; team payouts follow approval and automation settings.
Website · Network and plugin · License
Status: alpha. Payments run on the PayPal sandbox while the product is in alpha. veetlyn.com is open to the launch waitlist; the staging deployment is open for testing.
https://api.veetlyn.com/mcp) lets Claude and ChatGPT search every listed seller, request quotes and follow projects. The alpha connector prepares purchases for buyer approval in PayPal.<seller>.veetlyn.app with structured data, open to AI crawlers, plus guided visibility work.Download the plugin from veetlyn.com/network, or add the connector by hand:
https://api.veetlyn.com/mcp.The plugin source is in plugins/veetlyn.
Claude / ChatGPT ──MCP──┐
▼
browser ──► web Worker (vinext) ──service binding──► api Worker (Hono, tRPC, MCP)
veetlyn.com, dash., api.veetlyn.com
*.veetlyn.app │
├─► Postgres (Hyperdrive, Drizzle)
├─► R2, KV, Queues
└─► PayPal, Resend, Discord
packages/infra/alchemy.run.ts.packages/ui..env.schema) in every app; no secret lives in the repository.apps/
web/ website, dashboard and seller pages (vinext, one Worker)
server/ api Worker: tRPC, MCP, webhooks, queues
packages/
api/ use cases and the action registry
auth/ Better Auth setup
core/ domain rules shared by both Workers
db/ schema, repositories, migrations
paypal/ PayPal client
email/ email templates and delivery
ui/ design tokens and shared components
infra/ Alchemy stages, hosts and deploy scripts
oss/ standalone MIT packages (rules engine, outbox, scheduler)
plugins/veetlyn/ the Claude and ChatGPT plugin
You need Node 24, pnpm 10 and Docker.
pnpm install # also generates the typed env accessors
# Postgres for development
docker run -d --name veetlyn-pg -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:17
docker exec veetlyn-pg createdb -U postgres veetlyn_dev
Fill the ignored env files from their schemas: apps/server/.env (see apps/server/.env.schema) and packages/infra/.env. Set DEV_DATABASE_URL (in packages/infra/.env) to the database above. PayPal values come from a PayPal developer sandbox app.
pnpm db:migrate:dev # migrate the dev database
pnpm dev # site on localhost:3001, dashboard on dash.localhost:3001
Alchemy emulates R2, KV and Queues locally.
pnpm check-types
pnpm lint # Oxlint with the anti-slop plugin, plus the brand and OSS-boundary checks
pnpm test # Vitest; needs TEST_DATABASE_URL in .env.test.local, on a database whose name contains "test"
CI runs all three, a secret scan and the release builds on every pull request.
Built plugin zips are never committed.
pnpm plugin:zip and pnpm plugin:zip:staging write the Claude and ChatGPT zips to dist/plugin/.plugins/ and keeps them as the ai-plugin-zips artifact./plugin/claude.zip and /plugin/chatgpt.zip.Two stages are deployed from GitHub Actions: staging (after CI passes on dev) and production (an owner-approved dispatch from main, with verified staging evidence for the same tree).
Hosts are derived from two zones in packages/infra/deploy-hosts.ts: the platform zone (site, dash., api.) and the seller zone (*. seller pages). Only production is indexed by search engines; other stages send noindex.
Deploys use CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID. The token needs, on the account: Workers Scripts, Workers R2 Storage, Workers KV Storage, Queues, Hyperdrive and Account API Tokens (Edit), Account Settings (Read); on both zones: DNS, Workers Routes and Dynamic URL Redirects (Edit), Zone (Read).
Stage values live in ignored files (packages/infra/.env, packages/infra/.env.<stage>.local) and in the GitHub environment of the same name; pnpm -F @jendal-workspace/infra github-env <stage> copies them and prints names only. PUBLIC_ACCESS=waitlist closes sign-up and sign-in behind a launch list; open opens them.
Branch protection for main is saved in .github/main-protection.json; reapply it with gh api --method PUT repos/veetlyn/veetlyn/branches/main/protection --input .github/main-protection.json.
dev, the default branch. main only receives release merges.pnpm check-types, pnpm lint and pnpm test green; lint must stay at zero findings.CLAUDE.md for the code rules (money in integer minor units, untrusted input decoded with zod, no agent moves money without a person). They apply to people too.Please do not open public issues for vulnerabilities. Report them privately to the maintainer through GitHub (@Mouhamed-B). The app only touches the PayPal sandbox today.
Veetlyn is open core:
ee/ is AGPL-3.0-only, or available under a commercial agreement.ee/ holds the enterprise features under the Veetlyn Enterprise License: free to develop and test, a commercial agreement for production.packages/oss/ are MIT.Details are in LICENSING.md. The Veetlyn name and logo are not licensed by any of these licenses.
If this project helps you, you can sponsor it.