typescript-project SKILL.md skillA

typescript-project from majiayu000/spellbook is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add majiayu000/spellbook/typescript-project@git:20261007.31bf196

Pins git:20261007.31bf196 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
majiayu000/spellbook
Path
skills/typescript-project/SKILL.md
Versions recorded
6
Latest version
git:20261007.31bf196, committed Oct 7, 2026
First version recorded
Dec 17, 2025
Size
13,212 bytes
Repository stars
290
License
MIT

Modern TypeScript project architecture guide for 2025. Use when creating new TS projects, setting up configurations, or designing project structure. Covers tech stack selection, layered architecture, and best practices.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# TypeScript Project Architecture

## Core Principles

- **Type safety first** — Strict mode, no `any`, Zod for runtime validation
- **ESM native** — ES Modules by default, Node 22+ / Bun
- **Layered architecture** — Separate lib/services/adapters
- **200-line limit** — No file exceeds 200 lines (see elegant-architecture skill)
- **Test reality** — Vitest/Bun test, minimal mocks
- **No backwards compatibility** — Delete, don't deprecate. Change directly, no shims
- **LiteLLM for LLM APIs** — Use LiteLLM proxy for all LLM integrations, unless specific SDK required

## Gotchas

- Bun, Zod, directory layout and LiteLLM choices are activation observations, not proof of
  task success. Check valid inputs, invalid inputs, state changes and the actual error contract.
- A template can pass service tests and still fail `typecheck`; the maintained template's
  `noUnusedLocals` caught an unused configuration helper in the October 2026 case. Run both.
- `latest` dependency declarations do not pin a reproduced run. Keep the generated lockfile
  with its evidence and record actual installed versions. Don't claim another runtime passed.
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add majiayu000/spellbook/typescript-project@sha256:1437727c9f0a5ad3

The line at the top of this page pins the label git:20261007.31bf196, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_ibwiubt5w7cxmoqm.svg)](https://markdownregistry.com/a/art_ibwiubt5w7cxmoqm)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 6 versions of this file, between Dec 17, 2025 and Oct 7, 2026, about one every 59 days.

versioncommittedcommitsizeaudit
git:20261007.31bf196 latest2026-10-07 31bf196 13,212 BA view · diff
git:20260714.772b3982026-07-14 772b398 12,483 BA view · diff
git:20260605.a09e45c2026-06-05 a09e45c 12,468 BA view · diff
git:20260523.d39dd112026-05-23 d39dd11 12,468 BA view · diff
git:20251217.35eb9c72025-12-17 35eb9c7 12,476 BA view · diff
git:20251217.1c773b42025-12-17 1c773b4 10,273 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (13212 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

majiayu000/spellbook · 290 stars · license MIT · pushed 2026-11-04 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_ibwiubt5w7cxmoqm
GET https://markdownregistry.com/api/v1/resolve?ref=majiayu000/spellbook/typescript-project
GET https://markdownregistry.com/api/v1/blob/1437727c9f0a5ad3265bc9af3d2ba2d3409a71642f9ac148ff8d25810ed7350d

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from majiayu000/spellbook

AGENTS.md AGENTS.md file
majiayu000/spellbook · AGENTS.md
git:20260630.1f0cf93 · audit A · 290 stars
idea-analogist SKILL.md skill
majiayu000/spellbook · plugins/idea-coach/skills/idea-analogist/SKILL.md · 想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and…
git:20260820.304ca2f · audit A · 290 stars
idea-devils-advocate SKILL.md skill
majiayu000/spellbook · plugins/idea-coach/skills/idea-devils-advocate/SKILL.md · 想法群聊室 — 反方角色。被 idea-team 主编排器调用,或用户单独说"反方意见"、"挑这个想法的刺"、"为什么会失败"、"找漏洞 / 反例"、"devil's…
git:20260820.304ca2f · audit A · 290 stars
idea-research SKILL.md skill
majiayu000/spellbook · plugins/idea-coach/skills/idea-research/SKILL.md · 想法群聊室 — 调研员角色。被 idea-team 主编排器调用,或用户单独说"调研一下 X"、"X 的现状/竞品/数据"、"找 2026 数据"、"事实底"时触发。**用 WebSearch 拉真实 2026…
git:20260820.304ca2f · audit A · 290 stars
idea-team SKILL.md skill
majiayu000/spellbook · plugins/idea-coach/skills/idea-team/SKILL.md · 想法群聊室主持人 — 把一句话想法丢给多角色 AI 团队(调研员/反方/类比者)做查漏补缺。每个角色有自己的 voice,他们互相 @ 接话;你随时插话。**这是创意扩展工具,不打分、不否决、不堵路**。Use when…
git:20260820.304ca2f · audit A · 290 stars
idea-to-product SKILL.md skill
majiayu000/spellbook · plugins/idea-coach/skills/idea-to-product/SKILL.md · 端到端产品教练 — 把一句话想法走到 PRD + 可点击 HTML 原型。会顶嘴、强制砍功能、用 Nielsen + Norman 做友好性硬检。Use when user 说"我有一个想法"、"想做一个产品"、"做 MVP"、"写…
git:20260820.304ca2f · audit A · 290 stars
app-ui-design SKILL.md skill
majiayu000/spellbook · plugins/spellbook-ui/skills/app-ui-design/SKILL.md · Mobile app UI design expert for iOS and Android. Use when designing app interfaces, creating design systems, ensuring…
git:20260831.f1a2f17 · audit A · 290 stars
figma-to-react SKILL.md skill
majiayu000/spellbook · plugins/spellbook-ui/skills/figma-to-react/SKILL.md · Use when the user wants to extract Figma designs into production-ready React or Next.js components with TypeScript…
git:20260831.f1a2f17 · audit A · 290 stars
frontend-design SKILL.md skill
majiayu000/spellbook · plugins/spellbook-ui/skills/frontend-design/SKILL.md · Create distinctive, production-grade web frontend interfaces with high design quality. Use when the user explicitly…
git:20260831.f1a2f17 · audit A · 290 stars
ui-design-system SKILL.md skill
majiayu000/spellbook · plugins/spellbook-ui/skills/ui-design-system/SKILL.md · Use when creating or maintaining UI design systems, design tokens, component documentation, responsive calculations…
git:20260831.f1a2f17 · audit A · 290 stars
AGENTS.md@registry AGENTS.md file
majiayu000/spellbook · registry/AGENTS.md
git:20260623.1378532 · audit A · 290 stars
AGENTS.md@scripts AGENTS.md file
majiayu000/spellbook · scripts/AGENTS.md
git:20260623.1378532 · audit A · 290 stars

Every file in majiayu000/spellbook

Browse by kind, by grade A, or by owner.