Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free, open-source back office for small US nonprofits: donations & IRS acknowledgement letters, 990 expenses, grantmaking, PRIs and a CRM. Next.js + Supabase.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗501(c)(FREE) is a free, open-source back office for small US nonprofits and grantmakers: donations and acknowledgement letters, expenses by Form 990 functional class, a full grantmaking pipeline, program-related investments, and a lightweight CRM (organizations, people, notes, meetings and tickets). Built with Next.js and Supabase. It's designed to be self-hosted by one organization per installation.
Built by SAIF for its nonprofit, SAIFbio, and open-sourced so other organizations can use it.
Status: early release (October 2026). It's adapted from the system SAIFbio uses day to day, but expect rough edges. Bug reports, setup problems and ideas are welcome in GitHub Issues.
Live demo: 501cfree-demo.vercel.app. Fictional sample data and pre-written sample AI results; explore freely, nothing you change is saved.
Try it in one minute:
git clone https://github.com/nralston-saif/501cFREE.git && cd 501cFREE && pnpm install && pnpm dev, then open http://localhost:3000. With no database configured, the app runs in demo mode: fictional sample data, no login, and pre-written sample results for the AI features. Changes you make locally last until the server restarts; the hosted demo doesn't save changes.
Fundraising
Expenses and reporting
Grantmaking
Program-related investments (PRIs)
CRM
Integrations (all optional)
You need Node.js 20.11 or newer and pnpm.
git clone https://github.com/nralston-saif/501cFREE.git && cd 501cFREE && pnpm install
supabase/setup.sql, and click Run.pnpm onboard. It asks for your Supabase keys, writes .env.local, checks your database and sign-in settings, and creates your admin login.pnpm dev, open http://localhost:3000 and sign in.Then open Settings to enter your organization's legal name, EIN, address and mission, and invite your team from Settings → Team. docs/setup.md has the details, deploying, optional integrations and troubleshooting.
You don't need to be a developer to install 501(c)(FREE). A coding agent such as Claude Code can do most of the work. The repository includes AGENTS.md (and CLAUDE.md, which loads it), so the agent starts out knowing the project's setup steps, conventions and checks.
Install a coding agent and open it in an empty folder.
Paste a prompt like this:
Set up 501(c)(FREE) for our nonprofit from https://github.com/nralston-saif/501cFREE. Clone it, read AGENTS.md and docs/setup.md, and install the dependencies. Walk me through creating the Supabase project and running
supabase/setup.sql. When it's time forpnpm onboard, tell me to run it myself. Then start the app and confirm I can sign in. After that, help me deploy to Vercel and set up any optional integrations I choose (Claude, Resend, QuickBooks). Explain each step in plain language and ask before you do anything that costs money or can't be undone.
Do the steps the agent hands back to you: creating accounts, copying keys from the Supabase and Vercel dashboards, and running pnpm onboard. Running pnpm onboard yourself keeps your database keys and admin password out of the agent's conversation.
Once you're set up, the same agent can change the app for you, for example adding a field, a report or a new letter template. Ask it to follow AGENTS.md and to run pnpm typecheck, pnpm lint and pnpm test before you rely on a change. Have someone check money, tax and access-control changes before you use them.
Only people on your team list can sign in. There are no public sign-ups. There are two roles:
Voting on, advancing and deciding grant proposals is for everyone on the team by default; Settings → Organization → Grant review can limit it to admins.
These rules are enforced in the database with row-level security and triggers, not only in the app: blind voting, admin-only payments, locked letters and the PRI funding checks hold even for someone calling the Supabase API directly.
pnpm install
pnpm dev # demo mode unless .env.local configures Supabase
pnpm typecheck
pnpm lint
pnpm test # unit tests + database tests
pnpm build
pnpm db:bundle # regenerate supabase/setup.sql after changing a migration
pnpm test includes supabase/tests. Those tests apply every migration to an embedded Postgres (PGlite) and check sign-up restrictions, row-level security, storage policies and the database's business rules, so schema changes are tested without a Supabase project.
Using a coding agent? Point it at AGENTS.md first.
| Doc | What's in it |
|---|---|
| AGENTS.md | Conventions, gotchas and checklists for contributors and coding agents |
| docs/setup.md | Installing, environment variables, deploying, website forms |
| docs/architecture.md | How the code is organized: data flow, auth, data model, database rules, storage, AI, demo mode, tests |
| docs/features.md | Every feature area: routes, components, actions, tables and rules |
| docs/glossary.md | Nonprofit and tax terms (Pub 1771, Form 990, PRI, DAF...) and where they appear |
| docs/README.md | Index of the docs folder |
| docs/quickbooks.md | The optional QuickBooks Online integration |
| CONTRIBUTING.md | How to contribute |
| CODE_OF_CONDUCT.md | How we treat each other |
| CHANGELOG.md | Releases and the database migrations each one adds |
| SECURITY.md |
lib/pdf/letter-data.ts) is a starting point based on IRS publications (Pub 1771, 526, 590-B); have your own accountant or counsel review it, and your setup, before use.| Reporting vulnerabilities; running an installation safely |