SkillAtlasSkill 详情

pr

Build infinite canvas apps in React with the tldraw SDK.

审核状态:已审核Quality 80Security 100

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月13日
tldraw

npm npm downloads Discord Ask DeepWiki

Build infinite canvas apps in React with the tldraw SDK.

Docs · Examples · Starter kits

Feature highlights

tldraw provides a feature-complete infinite canvas engine designed to be the foundation for any canvas app. Create custom shapes, tools, bindings and UI components for a custom experience. Use the default whiteboarding tool set or use the library's primitives to build entirely new shapes and interactions.

  • Multiplayer — self-hostable real-time collaboration with @tldraw/sync
  • Drawing and diagramming — pressure-sensitive drawing, geometric shapes, rich text, arrows, snapping to shapes, edge scrolling, image and video support, image export
  • Runtime API - drive the canvas at runtime with the Editor API
  • Fully extensible — custom shapes, tools, bindings, UI components, side effects, and event hooks
  • AI integrations — canvas primitives for building with LLMs
  • DOM canvas — web rendering supports anything the browser supports, including embedded websites from YouTube, Figma, GitHub, and more
  • Broad support — works in any browser across desktop, touch screens, tablets, and mobile devices

Who's using tldraw

The tldraw SDK powers canvas experiences in products from Google, Shopify, BlackRock, Autodesk, ClickUp, Replit, Google Stitch, Luma, Runway, Padlet, Mobbin, Jam, Craft, Honeycomb, SchoolAI, Brisk, CADChat, bigpi, Genio, Pollination, Legendkeeper, Matilda, Aries, Alai, Dirac, and many more.

See our showcase for case studies on how teams build with tldraw.

Quick start

Install the tldraw package:

npm i tldraw

Then, use the <Tldraw /> component in your React app:

import { Tldraw } from 'tldraw'
import 'tldraw/tldraw.css'

export default function App() {
	return (
		<div style={{ position: 'fixed', inset: 0 }}>
			<Tldraw />
		</div>
	)
}

Starter kits

Starter kits provide the custom shapes, tools, and user interface needed for common applications. Each kit is MIT-licensed. Hack together a prototype, build out an app on top, or reference the code in a larger project.

Start building with:

npx create-tldraw@latest
  • Multiplayer — self-hosted real-time collaboration powered by @tldraw/sync and Cloudflare Durable Objects, the same stack behind tldraw.com
  • Agent — AI agents that read, interpret, and modify canvas content
  • Workflow — drag-and-drop node builder for automation pipelines, visual programming, and no-code platforms
  • Chat — canvas-powered AI chat where users sketch, annotate, and mark up images alongside conversations
  • Image pipeline — node-based builder for image generation pipelines
  • Branching chat — AI chat with visual branching, letting users explore and compare different conversation paths
  • Shader — WebGL shaders that respond to canvas interactions

Local development

The development server runs the examples app at localhost:5420. You'll need Node.js ^20.0.0. Clone the repo, then enable corepack for the correct yarn version:

npm i -g corepack

Install dependencies and start the dev server:

yarn
yarn dev

Documentation

Documentation for the most recent release can be found on tldraw.dev/docs, including reference docs. Our release notes can be found here.

For more agent-friendly docs, see our LLMs.txt.

From 5.1.x onward, published packages also include a DOCS.md file with the appropriate docs-site content and a generated RELEASE_NOTES.md file with versioned release notes. If you or your coding agent need release notes for your installed version specifically, check these files alongside the source in your node_modules folder.

Community

Contributing

We are not accepting contributions at this time. If you've found a bug or have a feature request, please create an issue and we can discuss it there. See our contributing guide for details.

License

The tldraw SDK is provided under the tldraw license. You can use the SDK freely in development. Production use requires a license key. Visit tldraw.dev to learn more.

Trademarks

Copyright (c) 2024-present tldraw Inc. The tldraw name and logo are trademarks of tldraw.

Please see our trademark guidelines for info on acceptable usage.

Contributors

Star history

Star History Chart
其他

低风险

  • 来源需自行核对维护者身份。
  • 未检测到明显脚本安装指令。
  • 未检测到明显外部权限要求。
  • 未检测到高风险命令。
  • 扫描发现:0 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/tldraw/tldraw.git
  3. 将 "skills/pr" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/tldraw/tldraw.git
  3. 将 "skills/pr" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/tldraw/tldraw.git
  3. 将 "skills/pr" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/tldraw/tldraw.git
  3. 将 "skills/pr" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/tldraw/tldraw.git
  3. 将 "skills/pr" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: pr
description: Create or update a pull request for the current branch in the tldraw repository. Use when the user invokes pr, asks to create a PR, update an existing PR, push current branch changes for review, or prepare a pull request.

PR

Create or update a pull request for the current branch.

Use ../write-pr/SKILL.md as the standards reference for PR titles, descriptions, release notes, API changes, code changes tables, and human-note preservation.

Workflow

  1. Gather context:
    • Current branch: git branch --show-current
    • Working tree: git status --short
    • Existing PR: gh pr view --json number,title,url 2>/dev/null
    • Recent branch commits: git log main..HEAD --oneline 2>/dev/null || git log -3 --oneline
  2. Check for overlapping work so we don't step on a teammate's toes:
    • List open PRs touching the same area: gh pr list --state open --json number,title,url,author,headRefName,updatedAt, and search for related work: gh pr list --search "<keywords>" --state open.
    • Compare their changed files against ours (gh pr diff <number> --stat) to judge real overlap, not just a shared filename.
    • If someone already has a PR open for this: prefer building on their work over racing it. Offer to base our branch on theirs, contribute a review or a follow-up commit, or hand our changes over. Only open a competing PR when the approaches genuinely diverge, and when we do, link to theirs and explain how ours differs so the choice is easy for reviewers.
    • Surface what you found to the user before proceeding when there's meaningful overlap.
  3. Prepare the branch:
    • If on main, create a new branch with a descriptive name.
    • Commit relevant changes, excluding secrets and explicitly private content.
    • Push the branch to the remote. Never force push.
  4. Run an initial review pass before asking a human to look. Spin out a few subagents in parallel over the diff (git diff main...HEAD), each with a focused lens, then fold their findings into concrete fixes:
    • Does the change actually solve the stated problem, end to end, rather than papering over a symptom?
    • Does it leave the codebase better than we found it — clearer names, no dead or duplicated code, no drive-by regressions?
    • Any weird abstractions, premature generality, or unnecessary code that a reviewer would flag? Prefer the smaller, more direct version.
    • Fix what's clearly worth fixing so the human review starts from a strong diff. If a finding needs a product or design call, raise it with the user instead of guessing.
    • Commit and push any fixes from this pass so the remote branch matches before the PR is created, updated, or shared. Never force push.
  5. If no PR exists, create one with gh pr create.
  6. If a PR exists, read it with gh pr view --json title,body,labels,number and inspect the changed-file summary with gh pr diff --stat.
  7. Update the title or body with gh pr edit if the existing PR does not match the current diff or the write-pr standards.
  8. Search for related issues and link them in the PR description with Closes #123 or Relates to #123 where appropriate.
  9. Share the PR URL with the user.

Handling problems

Committing automatically runs hooks. Fix formatting, lint, type, or import issues when the fix is mechanical.

If a hook failure requires meaningful product or implementation decisions, stop and ask the user how to proceed.

Never force commit or force push.

Rules

  • Follow ../write-pr/SKILL.md for all PR content standards.
  • Do not include AI attribution in commit messages, PR titles, or PR descriptions.
  • Do not add yourself or an AI tool as a co-author.

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!