‹ 首页

dr-init

@darkroomengineering · 收录于 昨天 · 上游提交 昨天

Initialize new Darkroom project from a satus or novus starter (NOT the same as native /init which writes CLAUDE.md). Triggers "new darkroom project", "satus", "novus", "scaffold from starter".

适合你,如果要快速生成 Darkroom 项目骨架

/ 通过 npx 安装 校验哈希
npx oh-my-skill add darkroomengineering/cc-settings/dr-init
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- darkroomengineering/cc-settings/dr-init
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify darkroomengineering/cc-settings/dr-init
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
40GitHub stars
~719上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 fa04efc · 表述以原文为准
它做什么

该技能会引导你创建一个新的 Darkroom 项目,可选择 satus(Next.js)或 novus(React Router)starter,然后自动克隆仓库、安装依赖、配置环境变量,并启动开发服务器。

什么时候触发

当你提到“新 Darkroom 项目”、“satus”、“novus”等关键词,或要求从 starter 脚手架创建项目时触发。

装好后可以这样说
选择 novus starter。
触发 novus。
技能原文 SKILL.md作者撰写 · MIT · fa04efc

Initialize Darkroom Project

Create a new project using a Darkroom starter. Darkroom maintains two:

| Starter | Stack | When to use | |---|---|---| | satus | Next.js 16 + App Router + RSC + React 19 | Content-driven sites, SEO-critical, Vercel-friendly, projects that benefit from Server Components / Server Actions | | novus | React Router 7 + Vite + React 19 | SPA-leaning apps, projects that prefer the loader/action data model, projects without need for RSC, projects deploying to non-Vercel infra |

Step 1 — Pick the starter

If the user already specified ("/dr-init satus", "/dr-init novus", "create new react-router project"), use that. Otherwise ask:

Which starter?
- satus (Next.js)   — App Router, Server Components, Vercel-optimized
- novus (React Router) — RR7, Vite, classic loader/action model

When the user is unsure, prefer satus for marketing/content sites and novus for app-heavy SPAs.

Step 2 — Clone
satus (Next.js)
bunx degit darkroomengineering/satus $ARGUMENTS
cd $ARGUMENTS
bun install
novus (React Router)
bunx degit darkroomengineering/novus $ARGUMENTS
cd $ARGUMENTS
bun install
Step 3 — Post-setup

Both starters:

  1. Update package.json — change name, description.
  2. Configure environment — copy .env.example to .env (or .env.local for satus).
  3. Start devbun dev.
  4. Open debugCmd/Ctrl + O (satus) or Cmd + . / Ctrl + O (novus).
What each starter includes
satus
  • Next.js 16 + App Router
  • React 19 + React Compiler
  • TypeScript strict mode
  • Tailwind CSS v4
  • Biome
  • Lenis smooth scroll
  • Hamo performance hooks
  • Image / Link component wrappers
  • CSS Modules with s alias
  • @/ path alias
novus
  • React Router 7 + SSR via Vite
  • React 19 + React Compiler
  • TypeScript strict mode
  • Tailwind CSS v4
  • Biome
  • Optional: WebGL (R3F), Anime.js, Theatre.js
  • Sanity CMS integration (optional)
  • t3-env + Valibot for typed env
  • CSS Modules with s alias
  • ~/ path alias
Project structure
satus
app/                 # Next.js routes
components/          # React components
lib/
├── hooks/          # Custom hooks
├── integrations/   # Third-party clients
├── styles/         # Global CSS, Tailwind
└── utils/          # Pure utilities
novus
app/
├── root.tsx        # Root layout
├── routes/         # Route modules (file-based)
└── routes.ts       # Optional explicit route config
components/         # React components
hooks/              # Custom hooks
integrations/       # Third-party clients
styles/             # Global CSS, Tailwind
utils/              # Pure utilities
Don't use
  • create-next-app / create-react-app — missing Darkroom standards
  • Manual setup — too many things to configure
Output

After initialization:

  • Confirm project created and which starter was used
  • List the next steps (env, dev server)
  • Offer to start the dev server
Lenis smooth scroll

Both satus and novus starters ship Lenis wired up. For non-Darkroom projects needing Lenis setup, see commit history of the retired lenis skill (git log --all -- skills/lenis/).

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。