{"id":36831184,"url":"https://github.com/jbabin91/tsc-files","last_synced_at":"2026-01-12T14:13:10.236Z","repository":{"id":316342558,"uuid":"1062726513","full_name":"jbabin91/tsc-files","owner":"jbabin91","description":"Run TypeScript compiler on specific files without ignoring tsconfig.json","archived":false,"fork":false,"pushed_at":"2025-12-29T01:44:36.000Z","size":1521,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-31T20:43:49.308Z","etag":null,"topics":["cli-tool","git-hooks","lefthook","lint-staged","nodejs","pre-commit","tsc","type-check","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbabin91.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-09-23T16:33:51.000Z","updated_at":"2025-12-29T01:44:40.000Z","dependencies_parsed_at":"2025-09-24T04:18:53.474Z","dependency_job_id":"7042f8eb-a243-430d-b7d6-7d5d4c2bebaf","html_url":"https://github.com/jbabin91/tsc-files","commit_stats":null,"previous_names":["jbabin91/tsc-files"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/jbabin91/tsc-files","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbabin91%2Ftsc-files","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbabin91%2Ftsc-files/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbabin91%2Ftsc-files/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbabin91%2Ftsc-files/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbabin91","download_url":"https://codeload.github.com/jbabin91/tsc-files/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbabin91%2Ftsc-files/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli-tool","git-hooks","lefthook","lint-staged","nodejs","pre-commit","tsc","type-check","typescript"],"created_at":"2026-01-12T14:13:09.358Z","updated_at":"2026-01-12T14:13:10.223Z","avatar_url":"https://github.com/jbabin91.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @jbabin91/tsc-files\n\n[![npm version](https://img.shields.io/npm/v/@jbabin91/tsc-files.svg)](https://www.npmjs.com/package/@jbabin91/tsc-files)\n[![CI](https://github.com/jbabin91/tsc-files/workflows/CI/badge.svg)](https://github.com/jbabin91/tsc-files/actions)\n[![Security](https://github.com/jbabin91/tsc-files/workflows/Security/badge.svg)](https://github.com/jbabin91/tsc-files/actions)\n[![codecov](https://codecov.io/gh/jbabin91/tsc-files/branch/main/graph/badge.svg)](https://codecov.io/gh/jbabin91/tsc-files)\n\n\u003e A modern TypeScript CLI tool that enables running TypeScript compiler checks on specific files while respecting existing tsconfig.json configuration.\n\nPerfect for git hooks, lint-staged, and CI/CD workflows where you need to type-check only the files that have changed.\n\n## 🚀 Quick Start\n\n```bash\n# Install globally\nnpm install -g @jbabin91/tsc-files\n\n# Or install locally\nnpm install --save-dev @jbabin91/tsc-files\n\n# Check specific files\ntsc-files src/index.ts src/utils.ts\n\n# Use with git hooks (lint-staged)\ntsc-files $(git diff --cached --name-only --diff-filter=ACM | grep -E '\\.(ts|tsx)$')\n```\n\n## ✨ Features\n\n### Core Functionality\n\n- ✅ **Respects tsconfig.json** - Uses your existing TypeScript configuration\n- ✅ **File-specific checking** - Only checks the files you specify\n- ✅ **Monorepo support** - Per-file tsconfig resolution for complex projects\n- ✅ **JavaScript support** - Handles allowJs/checkJs configurations automatically\n- ✅ **Package manager detection** - Works with npm, yarn, pnpm, and bun\n- ✅ **Automatic setup file detection** - Finds and includes test setup files automatically\n- ✅ **Ambient declaration support** - Automatically discovers `.d.ts`, `.d.mts`, `.d.cts`, and `.gen.ts` files\n\n### Enhanced CLI Experience\n\n- ✅ **Colored output** - Beautiful, readable error messages and help text\n- ✅ **Verbose debugging** - Detailed logging with `--verbose` flag\n- ✅ **JSON output** - Machine-readable results with `--json` for CI/CD\n- ✅ **Environment variables** - Use `TSC_PROJECT` for consistent configuration\n- ✅ **Input validation** - Helpful error messages for invalid options\n- ✅ **Enhanced help** - Comprehensive examples and usage patterns\n\n### Performance \u0026 Reliability\n\n- ✅ **Fast \u0026 lightweight** - Optimized file resolution and execution\n- ✅ **tsgo compiler support** - Optional 10x performance boost with native TypeScript compiler\n- ✅ **Compiler selection** - Force tsc/tsgo or automatic selection with intelligent fallback\n- ✅ **Performance benchmarking** - Compare compiler speeds with `--benchmark` flag\n- ✅ **Cross-platform** - Tested on Windows, macOS, and Linux\n- ✅ **Git hook friendly** - Perfect for pre-commit hooks and lint-staged\n- ✅ **CI/CD optimized** - Designed for continuous integration workflows\n- ✅ **Comprehensive testing** - Full test suite (unit + integration) with 95%+ coverage\n\n### Security \u0026 Quality\n\n- ✅ **Supply chain security** - npm provenance and trusted publishing enabled\n- ✅ **Signed commits** - GitHub App automation with verified commit signatures\n- ✅ **Automated security scanning** - Dependency audits, secrets scanning, CodeQL analysis\n- ✅ **ESM distribution** - Optimized ESM bundle with CLI binary entry point\n\n## 🎯 Why tsc-files?\n\n### The Problem\n\nThe TypeScript compiler (`tsc`) is designed to check entire projects, not individual files:\n\n```bash\n# This doesn't work as expected\ntsc src/index.ts src/utils.ts\n```\n\nThis ignores your `tsconfig.json` and uses default compiler options, missing important type checking rules.\n\n### The Solution\n\n`tsc-files` creates a temporary configuration that:\n\n- ✅ Extends your existing `tsconfig.json`\n- ✅ Includes only the specified files\n- ✅ Maintains all your compiler options\n- ✅ Provides accurate type checking\n\n```bash\n# This works correctly\ntsc-files src/index.ts src/utils.ts\n```\n\n## 📋 Quick Reference\n\n| Task           | Command                                                      |\n| -------------- | ------------------------------------------------------------ |\n| Check files    | `tsc-files \"src/**/*.ts\"`                                    |\n| Custom config  | `tsc-files -p tsconfig.build.json \"src/**/*.ts\"`             |\n| Verbose output | `tsc-files --verbose \"src/**/*.ts\"`                          |\n| JSON output    | `tsc-files --json \"src/**/*.ts\"`                             |\n| Skip lib check | `tsc-files --skip-lib-check \"src/**/*.ts\"`                   |\n| Git hooks      | `tsc-files $(git diff --cached --name-only \\| grep '\\.ts$')` |\n\n## 📦 Installation\n\n### Global Installation\n\n```bash\nnpm install -g @jbabin91/tsc-files\n```\n\n### Project Installation\n\n```bash\n# npm\nnpm install --save-dev @jbabin91/tsc-files\n\n# yarn\nyarn add --dev @jbabin91/tsc-files\n\n# pnpm\npnpm add --save-dev @jbabin91/tsc-files\n\n# bun\nbun add --dev @jbabin91/tsc-files\n```\n\n## 🔧 Usage\n\n### Command Line\n\n#### Basic Usage\n\n```bash\n# Check specific files\ntsc-files src/index.ts src/utils.ts\n\n# Check with glob patterns (quote to prevent shell expansion)\ntsc-files \"src/**/*.ts\" \"tests/**/*.ts\"\n\n# Both single and double quotes work\ntsc-files 'src/**/*.ts' 'tests/**/*.ts'\n\n# Check all TypeScript files\ntsc-files \"**/*.{ts,tsx}\"\n```\n\n#### Automatic Setup File Detection\n\n`tsc-files` automatically detects and includes test setup files when checking test files:\n\n```bash\n# Setup files are automatically included when checking test files\ntsc-files \"tests/**/*.test.ts\"\n\n# Output shows which setup files were included\n✓ Automatically included 2 setup files: tests/setup.ts, tests/globals.ts\n```\n\n**Supported setup file patterns:**\n\n- `setup.ts`, `setup.js`, `setupTests.ts`, `setupTests.js`\n- `test-setup.ts`, `test-setup.js`, `testSetup.ts`, `testSetup.js`\n- `globals.ts`, `globals.js`, `test-globals.ts`, `test-globals.js`\n- Custom patterns defined in `vitest.config.ts`, `jest.config.js`, etc.\n\n**Manual override:**\n\n```bash\n# Explicitly specify setup files\ntsc-files --include tests/custom-setup.ts \"tests/**/*.test.ts\"\n```\n\n#### Advanced Options\n\n```bash\n# Use specific tsconfig\ntsc-files --project tsconfig.build.json \"src/**/*.ts\"\n\n# Using environment variable (great for CI/CD)\nTSC_PROJECT=tsconfig.build.json tsc-files \"src/**/*.ts\"\n\n# Verbose output for debugging\ntsc-files --verbose \"src/**/*.ts\"\n\n# JSON output for CI/CD integration\ntsc-files --json \"src/**/*.ts\"\n\n# Skip library checking for faster execution\ntsc-files --skip-lib-check \"src/**/*.ts\"\n\n# Disable caching for debugging\ntsc-files --no-cache \"src/**/*.ts\"\n```\n\n#### Git Hook Usage\n\n```bash\n# Perfect for lint-staged\ntsc-files $(git diff --cached --name-only --diff-filter=ACM | grep -E '\\.(ts|tsx)$')\n\n# With verbose output for debugging hooks\ntsc-files --verbose $(git diff --cached --name-only --diff-filter=ACM | grep -E '\\.(ts|tsx)$')\n```\n\n### Git Hooks Integration\n\n#### With lint-staged\n\n```json\n{\n  \"lint-staged\": {\n    \"*.{ts,tsx}\": \"tsc-files\"\n  }\n}\n```\n\n#### With husky\n\n```bash\n# Install husky\nnpm install --save-dev husky\nnpx husky install\n\n# Add pre-commit hook\nnpx husky add .husky/pre-commit \"npx lint-staged\"\n```\n\n#### With lefthook\n\n```yaml\n# lefthook.yml\npre-commit:\n  commands:\n    type-check:\n      glob: '*.{ts,tsx}'\n      run: tsc-files {staged_files}\n```\n\n```bash\n# Install lefthook\nnpm install --save-dev lefthook\nnpx lefthook install\n```\n\n### Programmatic API\n\n```typescript\nimport { checkFiles } from '@jbabin91/tsc-files';\nimport type { CheckOptions, CheckResult } from '@jbabin91/tsc-files';\n\n// Basic usage\nconst result = await checkFiles(['src/index.ts'], {\n  project: './tsconfig.json',\n  verbose: true,\n});\n\nif (result.success) {\n  console.log(`✓ Type check passed (${result.duration}ms)`);\n  console.log(`Checked ${result.checkedFiles.length} files`);\n} else {\n  console.error(\n    `✗ Found ${result.errorCount} errors, ${result.warningCount} warnings`,\n  );\n\n  // Detailed error information\n  result.errors.forEach((error) =\u003e {\n    console.error(\n      `${error.file}:${error.line}:${error.column} - ${error.message} [${error.code}]`,\n    );\n  });\n\n  // Handle warnings separately\n  result.warnings.forEach((warning) =\u003e {\n    console.warn(\n      `${warning.file}:${warning.line}:${warning.column} - ${warning.message} [${warning.code}]`,\n    );\n  });\n}\n```\n\n#### Advanced API Usage\n\n```typescript\n// With all options\nconst result = await checkFiles(['src/**/*.ts'], {\n  project: './tsconfig.build.json',\n  skipLibCheck: true,\n  verbose: true,\n  cache: false,\n  cwd: './packages/core',\n  throwOnError: false,\n});\n\n// Error handling with throwOnError\ntry {\n  const result = await checkFiles(['src/index.ts'], {\n    throwOnError: true,\n  });\n\n  if (result.success) {\n    console.log('✓ No type errors');\n  } else {\n    console.error(`✗ Found ${result.errorCount} errors`);\n  }\n} catch (error) {\n  // Exceptions occur when configuration or compiler execution fails\n  console.error('Type checking aborted:', (error as Error).message);\n}\n```\n\n## 📋 Package.json Scripts Integration\n\nAdd type checking scripts to your `package.json` for different scenarios:\n\n```json\n{\n  \"scripts\": {\n    \"type-check\": \"tsc-files 'src/**/*.ts'\",\n    \"type-check:verbose\": \"tsc-files --verbose 'src/**/*.ts'\",\n    \"type-check:ci\": \"tsc-files --json --skip-lib-check 'src/**/*.ts'\",\n    \"type-check:build\": \"TSC_PROJECT=tsconfig.build.json tsc-files 'src/**/*.ts'\",\n    \"type-check:staged\": \"tsc-files $(git diff --cached --name-only --diff-filter=ACM | grep -E '\\\\.(ts|tsx)$')\"\n  }\n}\n```\n\n## 🚦 Exit Codes\n\n`tsc-files` uses standard exit codes to indicate different types of results:\n\n- **`0`** - Success (no type errors)\n- **`1`** - Type errors found\n- **`2`** - Configuration errors (tsconfig.json issues)\n- **`3`** - System errors (TypeScript not found)\n\nPerfect for CI/CD pipelines and scripts:\n\n```bash\n#!/bin/bash\ntsc-files \"src/**/*.ts\"\nexit_code=$?\n\ncase $exit_code in\n  0) echo \"✅ Type checking passed\" ;;\n  1) echo \"❌ Type errors found\" ;;\n  2) echo \"⚠️ Configuration error\" ;;\n  3) echo \"💥 System error\" ;;\nesac\n\nexit $exit_code\n```\n\n## 🔮 Ambient Declaration Support\n\n`tsc-files` automatically discovers and includes ambient declaration files (`.d.ts`, `.d.mts`, `.d.cts`) and generated type files (`.gen.ts`) without requiring explicit imports. This ensures type checking works correctly with libraries that provide global types.\n\n### Supported File Types\n\n- **`.d.ts`** - Standard TypeScript declaration files\n- **`.d.mts`** - ES module declaration files (TypeScript 4.7+)\n- **`.d.cts`** - CommonJS declaration files (TypeScript 4.7+)\n- **`.gen.ts`** - Generated type files (TanStack Router, GraphQL Code Generator, etc.)\n\n### Common Use Cases\n\n#### SVG Module Declarations (vite-plugin-svgr)\n\n```typescript\n// custom.d.ts (automatically included)\ndeclare module '*.svg' {\n  const content: string;\n  export default content;\n}\n\n// main.ts (type checking works!)\nimport Logo from './logo.svg';\nexport const logo: string = Logo;\n```\n\n#### Global Type Augmentations (styled-components)\n\n```typescript\n// styled.d.ts (automatically included)\nimport 'styled-components';\n\ndeclare module 'styled-components' {\n  export interface DefaultTheme {\n    colors: {\n      primary: string;\n    };\n  }\n}\n\n// App.tsx (theme typing works!)\nconst Button = styled.button`\n  color: ${({ theme }) =\u003e theme.colors.primary};\n`;\n```\n\n#### Generated Routes (TanStack Router)\n\n```typescript\n// routes.gen.ts (automatically included)\nexport const routes = {\n  home: { path: '/' },\n  about: { path: '/about' },\n} as const;\n\n// router.ts (type checking works!)\nimport { routes } from './routes.gen';\nconst homePath: string = routes.home.path;\n```\n\n### How It Works\n\n`tsc-files` uses your `tsconfig.json` include/exclude patterns to discover ambient files:\n\n1. Converts include patterns to declaration file patterns\n2. Discovers all matching `.d.ts`, `.d.mts`, `.d.cts`, and `.gen.ts` files\n3. Respects your `exclude` patterns (e.g., `node_modules`, `dist`)\n4. Includes them automatically in the type checking process\n\nNo configuration needed - it just works!\n\n## 🏗️ Clean Temporary File Management\n\n`tsc-files` follows industry conventions by storing all temporary files in `node_modules/.cache/tsc-files/`, just like ESLint, Babel, and Webpack.\n\n### What Goes in the Cache Directory\n\nAll temporary files are automatically stored in a clean location:\n\n```txt\nnode_modules/.cache/tsc-files/\n├── tsconfig.-12345-RandomID-.json     # Temporary TypeScript configs\n└── tsconfig.tsbuildinfo               # Incremental compilation cache (composite projects)\n```\n\n**Before** (cluttered project root):\n\n```txt\n./tsconfig.-13004-EnSa1Zt7Fgvi-.json\n./tsconfig.-13004-EnSa1Zt7Fgvi-.tsbuildinfo\n./tsconfig.-14245-IW0W1oRJy8js-.json\n./tsconfig.-14245-IW0W1oRJy8js-.tsbuildinfo\n./tsconfig.-17938-eMSfOCleqr2M-.json\n./tsconfig.-17938-eMSfOCleqr2M-.tsbuildinfo\n```\n\n**After** (clean project root):\n\n```txt\n# All temp files in node_modules/.cache/tsc-files/ ✨\n```\n\n### Benefits\n\n- ✅ **No project root clutter** - All temp files in one clean location\n- ✅ **Already gitignored** - `node_modules/` is standard in `.gitignore`\n- ✅ **Automatic cleanup** - Removed when you delete `node_modules`\n- ✅ **Incremental builds** - Build info persists for faster type checking\n- ✅ **Industry convention** - Follows ESLint, Babel, Webpack patterns\n\n### TypeScript Project References Support\n\nFor projects using [TypeScript Project References](https://www.typescriptlang.org/docs/handbook/project-references.html) (`composite: true`), `tsc-files` automatically sets `tsBuildInfoFile` to enable incremental compilation without cluttering your project root.\n\n**Manual override (optional):**\n\n```json\n{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"tsBuildInfoFile\": \"./build/tsconfig.tsbuildinfo\"\n  }\n}\n```\n\nWhen you provide an explicit `tsBuildInfoFile`, `tsc-files` respects your configuration.\n\n### Recommended .gitignore Pattern\n\nWhile `node_modules/` is already gitignored, you may want to add a catch-all pattern:\n\n```gitignore\n# TypeScript temporary files\n*.tsbuildinfo\n```\n\nThis ensures any build info files are ignored, regardless of location.\n\n## 🎯 Best Practices\n\n### Performance Tips\n\n```bash\n# Use --skip-lib-check for faster execution in CI\ntsc-files --skip-lib-check \"src/**/*.ts\"\n\n# Caching is enabled by default; disable it for debugging temp config issues\ntsc-files --no-cache \"src/**/*.ts\"\n\n# Use JSON output for programmatic processing\ntsc-files --json \"src/**/*.ts\" | jq '.errorCount'\n```\n\n### Monorepo Usage\n\n```bash\n# Check specific package\ntsc-files --project packages/core/tsconfig.json \"packages/core/src/**/*.ts\"\n\n# Check multiple packages\ntsc-files \"packages/*/src/**/*.ts\"\n\n# Use environment variable for consistency\nTSC_PROJECT=tsconfig.build.json tsc-files \"packages/*/src/**/*.ts\"\n```\n\n### CI/CD Integration\n\n```yaml\n# GitHub Actions\n- name: Type Check\n  run: tsc-files --json --skip-lib-check \"src/**/*.ts\"\n\n# With custom tsconfig\n- name: Type Check Build\n  env:\n    TSC_PROJECT: tsconfig.build.json\n  run: tsc-files \"src/**/*.ts\"\n```\n\n## ⚙️ CLI Options\n\n| Option              | Short | Description                                                           | Default            |\n| ------------------- | ----- | --------------------------------------------------------------------- | ------------------ |\n| `--help`            | `-h`  | Show help information                                                 |                    |\n| `--version`         | `-v`  | Show version number                                                   |                    |\n| `--project \u003cpath\u003e`  | `-p`  | Path to tsconfig.json                                                 | Auto-detected      |\n| `--verbose`         |       | Enable detailed output                                                | `false`            |\n| `--json`            |       | Output results as JSON                                                | `false`            |\n| `--skip-lib-check`  |       | Skip type checking of declaration files                               | `true`             |\n| `--no-cache`        |       | Disable cached temporary configs (caching is enabled by default)      | `false` (cache on) |\n| `--use-tsc`         |       | Force the classic `tsc` compiler                                      | Auto select        |\n| `--use-tsgo`        |       | Force the native `tsgo` compiler (fails if not available)             | Auto select        |\n| `--show-compiler`   |       | Print which compiler is being used                                    | `false`            |\n| `--benchmark`       |       | Compare compiler performance (runs both compilers when possible)      | `false`            |\n| `--no-fallback`     |       | Disable automatic fallback from tsgo to tsc                           | `fallback on`      |\n| `--tips`            |       | Show performance tips for git hooks and TypeScript compilation        | `false`            |\n| `--include \u003cfiles\u003e` |       | Additional files to include (comma-separated, useful for setup files) | None               |\n\n## 🔄 Package Manager Support\n\n`tsc-files` automatically detects and works with:\n\n- **npm** (via `package-lock.json`)\n- **yarn** (via `yarn.lock`)\n- **pnpm** (via `pnpm-lock.yaml`)\n- **bun** (via `bun.lockb`)\n\nNo configuration needed - it just works!\n\n\u003e **⚡ Performance Tip:** For 10x faster type checking, see the [tsgo compiler guide](./docs/usage/tsgo-compiler.md) using the native TypeScript compiler.\n\n## 🏗️ Development Status\n\n- **Infrastructure**: ✅ Complete (enterprise-grade CI/CD, testing, security, release automation)\n- **Security**: ✅ Complete (signed commits, npm provenance, automated vulnerability scanning)\n- **Release Pipeline**: ✅ Complete (automated versioning, publishing, GitHub releases)\n- **Research \u0026 Analysis**: ✅ Complete (original tsc-files community solutions analyzed and implemented)\n- **Core Implementation**: ✅ Complete (4,000+ lines: CLI, type checker, config, detectors, execution, utils)\n- **All Critical Features**: ✅ Complete (monorepo, package managers, JavaScript support, error handling)\n- **Advanced Features**: ✅ Complete (tsgo integration, enhanced errors, Bun support, dependency discovery)\n- **Testing \u0026 Quality**: ✅ Complete (comprehensive test suite with 95%+ coverage)\n- **Status**: 🚀 **Production Ready** - Mature TypeScript CLI tool with advanced performance optimization\n\n## 📚 Documentation\n\n- [API Reference](./docs/reference/api.md) - Complete CLI and programmatic API documentation\n- [Usage Examples](./docs/guides/usage-examples.md) - Real-world usage scenarios and patterns\n- [tsgo Compiler Guide](./docs/usage/tsgo-compiler.md) - 10x faster type checking with native compiler\n- [Benchmarking Guide](./docs/guides/benchmarking.md) - Performance measurement and optimization\n- [Troubleshooting Guide](./docs/guides/troubleshooting-guide.md) - Common issues and solutions\n- [Architecture](./docs/architecture/README.md) - How tsc-files works internally\n- [Contributing](./docs/CONTRIBUTING.md) - Development setup and contribution guidelines\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](/docs/CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/jbabin91/tsc-files.git\ncd tsc-files\n\n# Install dependencies\npnpm install\n\n# Run tests\npnpm test\n\n# Build the project\npnpm build\n\n# Run linting\npnpm lint\n```\n\n## 📄 License\n\nMIT © [Jace Babin](https://github.com/jbabin91)\n\n## 🔗 Related Projects\n\n- [TypeScript](https://www.typescriptlang.org/) - The TypeScript language\n- [lint-staged](https://github.com/okonet/lint-staged) - Run linters on git staged files\n- [husky](https://github.com/typicode/husky) - Git hooks made easy\n- [lefthook](https://github.com/evilmartians/lefthook) - Fast and powerful Git hooks manager\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbabin91%2Ftsc-files","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbabin91%2Ftsc-files","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbabin91%2Ftsc-files/lists"}