isentinel

Opinionated preferences for roblox-ts development. Use when setting up new roblox-ts projects or when coding style/tooling decisions arise.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "isentinel" with this command: npx skills add christopher-buss/skills/christopher-buss-skills-isentinel

isentinel Preferences

Opinionated tooling and patterns for roblox-ts development.

Quick Summary

CategoryPreference
Package Managerpnpm (bun as optional runtime)
LanguageTypeScript (strict + extra checks)
TypeScript Config@isentinel/tsconfig
Linting@isentinel/eslint-config (no Prettier)
TestingJest-roblox, TDD approach
Git Hookshusky + lint-staged
CommitsConventional Commits

Package Manager (pnpm)

Use pnpm as the package manager. Can use bun as runtime for scripts.

@antfu/ni

Use @antfu/ni for unified package manager commands (It auto-detects the package manager (pnpm/npm/yarn/bun) based on lockfile):

CommandDescription
niInstall dependencies
ni <pkg>Add dependency
ni -D <pkg>Add dev dependency
nr <script>Run script
nuUpgrade dependencies
nun <pkg>Uninstall dependency
nciClean install
nlx <pkg>Execute package

TypeScript

Use @isentinel/tsconfig with the roblox preset. Strict mode plus additional checks:

  • exactOptionalPropertyTypes
  • noUncheckedIndexedAccess
  • noPropertyAccessFromIndexSignature
  • noImplicitOverride
  • noImplicitReturns
  • noFallthroughCasesInSwitch
{
	"extends": "@isentinel/tsconfig/roblox"
}

Linting

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.


Error Handling

Prefer assertions over silent failing. Fail fast, fail loud.

See error-handling.md for patterns.


Test-Driven Development

Red → Green → Refactor:

  1. Write a failing test
  2. Write minimal code to pass
  3. Refactor with test protection

Simplicity Rules (in order)

  1. Passes all tests
  2. Expresses intent clearly
  3. Contains no duplication
  4. Has minimum elements

Three similar lines of code is better than a premature abstraction.

See testing.md for Jest-roblox setup.


References

TopicReference
Tooling detailstooling.md
TypeScript configtypescript.md
Linting ruleslinting.md
Testing (TDD)testing.md
Error handlingerror-handling.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

test-driven-development

No summary provided by upstream source.

Repository SourceNeeds Review
General

humanizer

No summary provided by upstream source.

Repository SourceNeeds Review
General

jest

No summary provided by upstream source.

Repository SourceNeeds Review
General

jecs

No summary provided by upstream source.

Repository SourceNeeds Review