doco AGENTS.md

Repository instructions for doco, a React and TypeScript collaborative document editor with real-time multi-user syncing, knowledge-base management, and Markdown and PDF export.

In plain words
What is it for?
Use them when working on editing, document routes, shared updates, imports, exports, diagrams, or the Node.js server and SQLite database.
Why use it?
They document the project's technology choices, directory structure, and collaboration design so contributors can change the editor without losing its intended architecture.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/songofhawk/doco/agents-md
Clone the repo
git clone --depth 1 https://github.com/songofhawk/doco

Made for: Codex, OpenCode.

Per session 2,565 This file is loaded in full into every session.
When invoked 2,565 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02565 $0.02565
Opus 5 $0.01282 $0.01282
Sonnet 5 $0.00513 $0.00513
Haiku 4.5 $0.00257 $0.00257

Measured 3d ago against content hash eb30445a8800, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

doco AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 164 lines

How it starts

The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Doco Editor — 项目说明

基于 Tiptap (ProseMirror) + React + Vite 的富文本协同编辑器,支持多端实时同步(Yjs CRDT),具备知识库管理能力。

永远输出中文。


技术栈

技术
前端框架 React 18 + Vite + TypeScript
路由 react-router-dom v7
CSS Tailwind CSS v4
编辑器 Tiptap v3(基于 ProseMirror)
UI 组件 Radix UI (Popover)、Lucide React (图标)、Tippy.js (弹层)
协同算法 Yjs (CRDT) + Hocuspocus(@hocuspocus/provider / @hocuspocus/server)
图表 Mermaid、PlantUML (plantuml-encoder)
导出/导入 服务端 Markdown 导出(prosemirror-markdown)、html2pdf.js、mammoth、pdfjs-dist
后端 Node.js + Express + Hocuspocus
数据库 better-sqlite3(SQLite,WAL 模式)

后端曾有 Python (FastAPI + ypy-websocket) 与 Cloudflare Worker 两版实现,均因同步协议缺陷于 2026-07 移除, 决策依据见 docs/重构方案-协同同步与Markdown导出.md


目录结构

doco/
├── src/
│   ├── main.tsx                       # 应用入口
│   ├── App.tsx                        # 根组件,路由管理(/ 首页、/app 工作区、/doc/:id 文档,
│   │                                  #   /app/doc/:id 兼容重定向),工作区外壳,导入/导出
│   ├── components/
│   │   ├── HomePage.tsx               # 落地首页(奢侈品宣传页风格,配套 HomePage.css):
│   │   │                              #   Hero/宣言/特性/图表与代码/协同/导入导出/数据 分区;登录为点击弹出的模态框
│   │   │                              #   (Portal + Esc/遮罩关闭,邮箱验证码 / Google);已登录用户
│   │   │                              #   可自由浏览(入口变为「进入工作区」),仅被 /app 拦截回跳时
│   │   │                              #   登录成功后续走来源页;
│   │   │                              #   动效:IntersectionObserver + [data-reveal] 滚动浮现,
│   │   │                              #   [data-parallax] rAF 视差(文字/图/背景幽灵大字错位漂移)
│   │   └── Sidebar.tsx                # 知识库侧边栏(文档树管理)
│   └── editor/                        # 编辑器模块(与 App 同仓同构建,无独立编译步骤)
│       ├── DocoEditor.tsx             # 编辑器主组件(Yjs/Hocuspocus 初始化、扩展注册)
│       ├── types.ts                   # 对外 Props/Ref 类型
│       └── components/                # 各扩展与 UI(BubbleMenu、BlockHandle、MermaidBlock、
│                                      #   CalloutBlock、SlashCommand、CollapseExtension 等)
├── backend/
│   ├── server.js                      # 入口:Express + Hocuspocus + 导出路由 + 优雅退出
│   ├── database.js                    # better-sqlite3 初始化与建表
│   ├── api.js                         # 知识库/文件夹/文档 REST 路由
│   ├── markdown.js                    # YDoc → ProseMirror JSON → Markdown(服务端导出)
│   ├── migrate.js                     # 旧版 ydoc_updates → ydoc_state 一次性迁移
│   └── schema.sql                     # 表结构参考
└── src/index.css                      # 全局样式(ProseMirror、折叠块等)

Read the full file on GitHub · 164 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 164 lines · 2,565 tokens per session scan A eb30445a8800

Subscribe to this mod's changes

doco AGENTS.md is an instructions file published in the GitHub repository songofhawk/doco (6 stars, last pushed 12d ago), licensed MIT. It adds 2,565 tokens to every session, about $0.0128 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.