Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
SQL data checks for PostgreSQL
Translation pending
Developer toolsTypeScript · CSSGitHub @jma49OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Open-source SQL data checks for PostgreSQL: write read-only checks, run them on a schedule, and hear about it where your team works when something changes.
Live demo: https://assay.majincheng.com (try it as a guest, or sign in with Google or GitHub; new accounts are viewers)
A check is a read-only SQL query whose returned rows are problems: duplicate orders, payments that do not match, stock below zero. Assay runs checks on a schedule and keeps each one's state:
DATABASE_URL is the built-in database; admins can add more PostgreSQL databases (connection strings encrypted, private hosts refused unless allowed) and each check picks the one it runs against.Next.js (App Router) · TypeScript · Tailwind CSS · MongoDB (checks, runs, users) · PostgreSQL (the databases being checked) · Upstash Redis (cache, rate limits) · Better Auth (Google, GitHub) · Vitest and Playwright. Exact versions are in package.json.
npm install
cp .env.example .env.local # fill in MongoDB, PostgreSQL, Redis, Better Auth and one OAuth provider
npm run seed:demo # optional: a demo schema and sample checks
npm run dev
Sign in once, then make yourself admin: npm run user:set-role -- [email protected] admin.
npm run dev:services starts MongoDB, PostgreSQL and Redis (with Upstash's
REST protocol) from compose.yaml, so development needs no cloud accounts.
Point .env.local at them:
MONGODB_URI=mongodb://127.0.0.1:27017/assay_dev
DATABASE_URL=postgresql://postgres:[email protected]:5432/assay_demo
UPSTASH_REDIS_REST_URL=http://127.0.0.1:8079
UPSTASH_REDIS_REST_TOKEN=local
BETTER_AUTH_SECRET=local-development-only-not-a-secret
APP_URL=http://localhost:3000
AUTH_DEV_PASSWORD_LOGIN=true # email and password sign-in, next dev only
AUTH_DEV_PASSWORD_LOGIN removes the need for a Google or GitHub app
locally; production refuses it.
Scheduled runs need something to call POST /api/cron/run-scheduled every
30 minutes (QStash, any cron, or npm run sql:run-scheduled); see
docs/deployment.md.
| docs/architecture.md | Layers, how a check runs, data sources, API conventions |
| docs/engineering.md | Invariants, public contracts, hotspots, verification |
| docs/database.md | Collections, fields, indexes, retention, concurrency |
| docs/authentication.md | Sign-in and roles |
| docs/notifications.md | Alert channels, delivery, setup |
| docs/mcp.md | Connecting agents (OAuth or API key), tools, security |
| docs/deployment.md | Configuration, scheduled runs, first deploy, smoke test, rollback |
| docs/backup-restore.md | MongoDB backups and restore |
| docs/secret-rotation.md | Rotating or recovering ASSAY_SECRET_KEY |
| docs/roadmap.md | Open reliability goals |
| DESIGN.md | Design tokens, components, the brand mark |
npm run typecheck && npm run lint && npm test # before every commit (see AGENTS.md)
npx knip && npm run build # before a pull request (CI runs both)
src/
├── app/ # routes: pages and API
├── components/ # UI
├── contracts/ # request and response types shared by server and client
├── domain/ # pure rules: runs, alerts, digests, reminders
├── lib/ # infrastructure: config, logging, auth, database clients, SQL validation
└── server/ # services, repositories, notifications, MCP
scripts/ # CLI entry points and migrations
docs/ # engineering docs
Issues and pull requests are welcome: see CONTRIBUTING.md. Report security problems privately, as SECURITY.md describes.
Apache License 2.0. Copyright 2025-2026 Jincheng Ma; see NOTICE and THIRD_PARTY_NOTICES.md.
| scripts/README.md | Command-line tools and migrations |
/docs in the app | User guide (English and Chinese) |