一键导入
isentinel
Opinionated preferences for roblox-ts development. Use when setting up new roblox-ts projects or when coding style/tooling decisions arise.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Opinionated preferences for roblox-ts development. Use when setting up new roblox-ts projects or when coding style/tooling decisions arise.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Write tests, mock functions, assert values, and configure test suites for Roblox/Luau code using Jest Roblox — a Luau port whose API diverges from JS Jest in subtle, non-obvious ways that LLM training data does not cover. Use whenever encountering Jest in Roblox/Luau code: editing .spec test files, calling jest.fn/jest.mock/spyOn, using describe/it/expect, or debugging Jest tests.
Test-driven development (TDD) with red-green-refactor loop. Use when user wants to build features, fix bugs, mentions "tdd", wants integration tests, or implementing all new code.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
| name | isentinel |
| description | Opinionated preferences for roblox-ts development. Use when setting up new roblox-ts projects or when coding style/tooling decisions arise. |
| metadata | {"author":"Christopher Buss","version":"2026.1.29"} |
Opinionated tooling and patterns for roblox-ts development.
| Category | Preference |
|---|---|
| Package Manager | pnpm (bun as optional runtime) |
| Language | TypeScript (strict + extra checks) |
| TypeScript Config | @isentinel/tsconfig |
| Linting | @isentinel/eslint-config (no Prettier) |
| Testing | Jest-roblox, TDD approach |
| Git Hooks | husky + lint-staged |
| Commits | Conventional Commits |
Use pnpm as the package manager. Can use bun as runtime for scripts.
Use @antfu/ni for unified package manager commands (It auto-detects the
package manager (pnpm/npm/yarn/bun) based on lockfile):
| Command | Description |
|---|---|
ni | Install dependencies |
ni <pkg> | Add dependency |
ni -D <pkg> | Add dev dependency |
nr <script> | Run script |
nu | Upgrade dependencies |
nun <pkg> | Uninstall dependency |
nci | Clean install |
nlx <pkg> | Execute package |
Use @isentinel/tsconfig with the roblox preset. Strict mode plus additional
checks:
exactOptionalPropertyTypesnoUncheckedIndexedAccessnoPropertyAccessFromIndexSignaturenoImplicitOverridenoImplicitReturnsnoFallthroughCasesInSwitch{
"extends": "@isentinel/tsconfig/roblox"
}
Use @isentinel/eslint-config. No Prettier - ESLint handles formatting.
// eslint.config.ts
import { isentinel } from "@isentinel/eslint-config";
export default isentinel();
Fix errors with nr lint --fix.
Prefer assertions over silent failing. Fail fast, fail loud.
See error-handling.md for patterns.
Red → Green → Refactor:
Three similar lines of code is better than a premature abstraction.
See testing.md for Jest-roblox setup.
| Topic | Reference |
|---|---|
| Tooling details | tooling.md |
| TypeScript config | typescript.md |
| Linting rules | linting.md |
| Testing (TDD) | testing.md |
| Error handling | error-handling.md |