Doop
Doop: 오픈소스 멀티플레이어 디자인 캔버스 및 AI 에이전트용 MCP
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Checks UI copy for Tembusu Bank, a fictional bank, before it goes to compliance review. It flags personal data, style-guide breaks, risky phrasing and missing disclosures, and produces a report for a person to review. It never approves anything. When the reviewer asks, it drafts a revision from their decisions, and code checks that draft before they see it.
Never paste real customer data. Use placeholders such as
{name},{nric},{phone}or{email}. Everything in this repo is invented.
Open the live demo at copy-precheck.vercel.app. There's nothing to install.
To start again with different copy, select the Copy pre-check logo at the top of the page.
Good to know:
Copy is checked in three layers, in this order:
All rules live in one file, content/rules.yaml. The checker reads it, and the style guide is generated from it, so the two can never disagree.
Needs Node.js 22 or later.
npm install
npm test # run the test set and all other tests
npm run check -- "Earn 2.5% interest. Act now!" --context promo-banner
To run the AI checks too, copy .env.example to .env.local, add an Anthropic API key (create a project-only key with a spend limit), and add --ai:
npm run check -- "Watch your savings grow without lifting a finger." --context promo-banner --ai
.env.local is ignored by git. Never commit a real key.
| Command | What it does |
|---|---|
npm run check -- "copy" [options] | Checks one piece of copy. Add --help for options. Exits with 1 if there's an open blocker. |
npm test | Runs every sample in the test set, plus the engine and validation tests. |
npm run guide | Rebuilds content/style-guide.md from rules.yaml. Run it after changing a rule. |
npm run typecheck | Checks the TypeScript. |
npm run dev | Starts the web page at http://localhost:3000. Reads the API key from .env.local. |
check options:
--context, -c: where the copy appears (button, error, confirmation, promo-banner, rate-card, help-text, notification, email-snippet). Some rules only apply in certain places; without a context, every rule runs.--override, -o: release one personal-data match you've checked isn't personal data, e.g. --override "PD-002|+65 6123 4567|Published overseas line". Name the exact text: any other match from the same rule stays blocked. Repeat the option for more than one.--ai: also run the AI checks with Claude. Needs ANTHROPIC_API_KEY. Each check costs well under a cent.--verbose, -v: also list every rule and whether it ran.--json: print the full report as JSON.The page opens with a form: paste copy (or pick a sample from the test set), choose where it appears, and check it. The results show the copy with flagged words highlighted, then each finding grouped by severity, with why it matters and what to do. Reviewers mark each finding Fix or Dismiss, and override a personal-data match with a reason (the AI checks then run). Once every finding is decided, "Draft a revision" starts the review and rewrite loop above.
Above the results, Edit copy lets the reviewer change the words themselves; the edit is checked as the next round, dismissals carry over, and the report records it as "edited by hand". Clicking the logo in the header starts a new check with different copy, and asks first (offering the report) when there are rounds to lose. Copy text copies the latest version of the copy; Download report saves the full review, every round included, as Markdown.
The check runs on the server, so the API key never reaches the browser. Copy is capped at 1,500 characters, and AI checks have a best-effort rate limit; the real cost cap is the spend limit on the key.
npm run eval measures the checker against the test set and runs the review and rewrite loop on sample emails, with the real model (about US$0.50 a run). Results, and what they show, are in eval/: on the latest run, the code layers matched all 39 samples, the AI checks matched the test set in 92 of 93 runs, the model ignored both prompt-injection samples, and every finding marked Fix was fixed by the draft.
content/rules.yaml. The field reference is at the top of the file.content/test-set.yaml, including a near-miss that should not be flagged.npm run guide, then npm test.If the rules file has a mistake, such as a misspelled severity, a missing field or a broken pattern, the checker stops with a message saying where, rather than skipping the rule.
content/ Rules, test set and style guide (edit these, not code, to change rules)
src/engine/ The checker: loading, validation and the three layers (AI layer in src/engine/ai/,
review and rewrite loop in src/engine/revise/)
src/models/ Connection to Claude (swap this to use a different model)
src/cli/ The `npm run check` command
src/guide/ Generates the style guide from the rules
src/app/ Web page (Next.js)
scripts/ `npm run guide`
tests/ Automated tests