dev
星标2
分支0
更新时间2026年2月11日 09:51
Guide for working on the typed-endpoints codebase — project structure, commands, conventions, and key concepts
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
Guide for working on the typed-endpoints codebase — project structure, commands, conventions, and key concepts
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | dev |
| description | Guide for working on the typed-endpoints codebase — project structure, commands, conventions, and key concepts |
| user-invocable | true |
| allowed-tools | Read, Grep, Glob, Bash |
| Task | Command |
|---|---|
| Run tests | ./scripts/test |
| Update snapshots | ./scripts/test --update |
| Lint (fmt + lint + typecheck) | ./scripts/lint |
| Auto-format | ./scripts/format |
| Build | ./scripts/build |
Always use the scripts, never bare deno commands — they set required permissions.
src/
├── core/ # Shared types, request validation, OpenAPI generation
├── integrations/ # Framework integrations (Fresh v2 runtime, Vite build-time)
├── client/ # Typed HTTP client
├── protocol/ # Multi-step protocol DSL (experimental)
├── pagination/ # Cursor, offset, page, URL pagination helpers
├── tsgen/ # TypeScript type generation from routes
├── cli.ts # CLI entry point
└── mod.ts # Main module exports
e2e_tests/ # End-to-end tests (protocol flows, Fresh server, CLI, Vite)
@dgellow/typed-endpoints on JSRDeno.test + @std/assert + @std/testing/snapshot@/ maps to ./src/readonly properties__kind discriminant for tagged unionsconst generic modifier)// deno-lint-ignore no-explicit-any where variance compatibility requires it_test.ts suffix, colocated with sourcee2e_tests/Based on Andre Videla's container morphisms research. The sequential product (>>) means the request type of step N+1 is a function of the response of step N.
TDone)z.literal())step() — basic stepdependentStep() — dynamic schema (runtime Zod validation)mappedStep() — static literal forwarding (compile-time branded types)fromStep() / fromEndpoint() / fromEndpointMapped() — composition helperstypes.tsindex.tssrc/mod.ts if it's part of the public API_test.ts for unit testse2e_tests/ test if it involves subprocess/compilation/server behavior./scripts/test and ./scripts/lint before considering it done