typescript-standards — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited typescript-standards (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill helps you create professional TypeScript libraries using the typescript-library-template pattern and apply these standards to existing projects. It provides a modern, production-ready setup with dual module format support, comprehensive testing, and consistent code quality tooling.
Trigger this skill when:
# Clone the template
git clone https://github.com/jordanburke/typescript-library-template.git my-library
cd my-library
# Remove template's git history
rm -rf .git
git init
# Install dependencies
pnpm install
# Customize (see references/template-setup.md for checklist)
# - Update package.json (name, description, repository)
# - Update README.md
# - Add your code to src/
# Validate everything works
pnpm validateSee references/standardization.md for detailed migration guide. Quick version:
pnpm validateThe template follows a consistent command pattern:
Main validation command:
pnpm validate # Format → Lint → Test → Build (use before commits)Individual operations:
# Formatting
pnpm format # Write formatted code
pnpm format:check # Validate formatting only
# Linting
pnpm lint # Fix ESLint issues
pnpm lint:check # Check ESLint issues only
# Testing
pnpm test # Run tests once
pnpm test:watch # Watch mode
pnpm test:coverage # With coverage report
pnpm test:ui # Interactive UI
# Building
pnpm build # Production build (dist/)
pnpm dev # Development watch (lib/)
pnpm ts-types # Type check onlyThe template supports both CommonJS and ES modules:
package.json exports:
{
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"require": "./dist/index.js",
"import": "./dist/index.mjs"
}
}
}Build outputs:
lib/ - Development builds (NODE_ENV !== "production")dist/ - Production builds (NODE_ENV === "production")Key features:
Configuration highlights:
ESLint:
Prettier:
TypeScript:
noImplicitAny: falsestrictPropertyInitialization: falsepnpm dev (watch mode)pnpm test:watchpnpm validate before commitsnpm publish (prepublishOnly auto-validates)The template includes safety checks:
{
"scripts": {
"prepublishOnly": "pnpm validate"
}
}This ensures every publish:
Publishing workflow:
# Update version
npm version patch # or minor, major
# Publish (prepublishOnly runs automatically)
npm publish --access publicThe tsup configuration (line 3 in tsup.config.ts) checks NODE_ENV:
const isDev = process.env.NODE_ENV !== "production"
export default defineConfig({
outDir: isDev ? "lib" : "dist",
minify: !isDev,
sourcemap: isDev,
// ...
})Why two output directories?
lib/ - Fast development builds, easier debuggingdist/ - Optimized production builds, what npm getsproject/
├── src/
│ ├── index.ts # Main entry point
│ └── **/*.ts # All source files
├── test/
│ └── *.spec.ts # Vitest tests
├── lib/ # Dev builds (gitignored)
├── dist/ # Prod builds (gitignored)
├── tsup.config.ts # Build config
├── vitest.config.ts # Test config
├── eslint.config.mjs # Lint config
├── .prettierrc # Format config (optional)
└── package.json # Scripts + exports"Cannot find module" errors:
Watch mode not working:
Tests not found:
Coverage incomplete:
Dual module problems:
require() and importType definitions missing:
dts: trueWhen applying these standards to an existing project:
pnpm validatepnpm validateWhen working with this template, these files contain the canonical configurations:
tsup.config.ts - Build configuration with environment logicvitest.config.ts - Test configuration with coverageeslint.config.mjs - Linting rules and TypeScript integrationpackage.json - Scripts, exports, and dependency versionsSTANDARDIZATION_GUIDE.md - Migration instructionsnpm link to test before publishing~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.