{"id":40142173,"url":"https://github.com/mxvsh/typelense","last_synced_at":"2026-01-21T16:00:37.833Z","repository":{"id":332759043,"uuid":"1134761793","full_name":"mxvsh/typelense","owner":"mxvsh","description":"Inspect TypeScript errors in a monorepo with clarity","archived":false,"fork":false,"pushed_at":"2026-01-15T11:21:05.000Z","size":313,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-20T21:43:41.644Z","etag":null,"topics":["cli-tool","diagnostics","lerna","monorepo","nx","tsconfig","turborepo","type-checking","typescript","typescript-compiler","yarn"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mxvsh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-15T06:59:09.000Z","updated_at":"2026-01-16T06:11:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mxvsh/typelense","commit_stats":null,"previous_names":["mxvsh/typelense"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mxvsh/typelense","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxvsh%2Ftypelense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxvsh%2Ftypelense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxvsh%2Ftypelense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxvsh%2Ftypelense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mxvsh","download_url":"https://codeload.github.com/mxvsh/typelense/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mxvsh%2Ftypelense/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28635926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T15:01:31.228Z","status":"ssl_error","status_checked_at":"2026-01-21T14:42:58.942Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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","diagnostics","lerna","monorepo","nx","tsconfig","turborepo","type-checking","typescript","typescript-compiler","yarn"],"created_at":"2026-01-19T14:33:37.514Z","updated_at":"2026-01-21T16:00:37.786Z","avatar_url":"https://github.com/mxvsh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TypeLense\n\nA modular and scalable TypeScript error collector for monorepos. TypeLense automatically detects your monorepo structure and extracts TypeScript errors across all packages into a convenient TSV file.\n\n## Features\n\n- **Multi-Monorepo Support**: Automatically detects and supports:\n  - PNPM workspaces\n  - Yarn workspaces\n  - NPM workspaces\n  - Lerna\n  - Nx\n  - Turborepo\n- **Modular Architecture**: Pluggable detector and collector system\n- **TypeScript Compiler API**: Uses official TS compiler for accurate error detection\n- **Clean Output**: Generates TSV files with serial IDs for easy tracking\n- **Beautiful CLI**: Color-coded output with ASCII icons and progress indicators\n- **Zero Config**: Works out of the box with sensible defaults\n\n## Usage\n\nNo installation required! Run TypeLense directly using `npx`:\n\n### Basic Usage\n\nRun in the current directory:\n\n```bash\nnpx typelense\n```\n\nRun in a specific directory:\n\n```bash\nnpx typelense /path/to/monorepo\n```\n\n### With Bun\n\n```bash\nbunx typelense\n```\n\n### With PNPM\n\n```bash\npnpm dlx typelense\n```\n\n### CLI Options\n\n```bash\nnpx typelense [directory] [options]\n```\n\n**Options:**\n\n- `-o, --output \u003cpath\u003e` - Output path for the TSV file (default: `typescript-errors.tsv`)\n- `-q, --quiet` - Suppress non-error output\n- `-V, --version` - Output the version number\n- `-h, --help` - Display help information\n\n### Examples\n\n```bash\n# Scan current directory and save to default file\nnpx typelense\n\n# Scan specific directory with custom output\nnpx typelense ./my-monorepo -o errors.tsv\n\n# Run in quiet mode\nnpx typelense -q\n\n# Scan parent directory\nnpx typelense ..\n\n# Using Bun\nbunx typelense\n\n# Using PNPM\npnpm dlx typelense\n```\n\n## Installation (Optional)\n\nIf you want to install TypeLense globally:\n\n```bash\n# Using NPM\nnpm install -g typelense\n\n# Using Bun\nbun install -g typelense\n\n# Using PNPM\npnpm add -g typelense\n\n# Using Yarn\nyarn global add typelense\n```\n\nThen run directly:\n\n```bash\ntypelense /path/to/project\n```\n\n## Output Format\n\nTypeLense generates a TSV (Tab-Separated Values) file with the following columns:\n\n| Column | Description |\n|--------|-------------|\n| `id` | Sequential error number (1, 2, 3...) |\n| `package_name` | Name of the package where the error occurred |\n| `file_name` | Relative path to the file with the error |\n| `error_code` | TypeScript error code (e.g., 2322, 2345) |\n| `description` | Error message description |\n\n### Example Output\n\n```tsv\nid\tpackage_name\tfile_name\terror_code\tdescription\n1\t@myapp/web\tsrc/index.tsx\t2322\tType 'string' is not assignable to type 'number'.\n2\t@myapp/api\tsrc/server.ts\t2304\tCannot find name 'Express'.\n3\t@myapp/shared\tsrc/utils.ts\t2532\tObject is possibly 'undefined'.\n```\n\n## Supported Monorepo Types\n\nTypeLense automatically detects the following monorepo configurations:\n\n### Turborepo\nDetected by: `turbo.json` + workspace configuration\n\n### PNPM Workspaces\nDetected by: `pnpm-workspace.yaml`\n\n```yaml\npackages:\n  - 'packages/*'\n  - 'apps/*'\n```\n\n### Yarn Workspaces\nDetected by: `package.json` with `workspaces` field + `yarn.lock`\n\n```json\n{\n  \"workspaces\": [\"packages/*\"]\n}\n```\n\n### NPM Workspaces\nDetected by: `package.json` with `workspaces` field\n\n```json\n{\n  \"workspaces\": [\"packages/*\"]\n}\n```\n\n### Lerna\nDetected by: `lerna.json`\n\n```json\n{\n  \"packages\": [\"packages/*\"]\n}\n```\n\n### Nx\nDetected by: `nx.json` or `workspace.json`\n\n## Roadmap\n\nPlanned features for future releases:\n\n- [ ] **Per-package TSV files** - Generate separate TSV files for each package\n- [ ] **Multiple output formats** - Support JSON and CSV in addition to TSV\n- [ ] **Error severity filtering** - Filter by error, warning, or suggestion\n- [ ] **Watch mode** - Continuous monitoring with incremental updates\n- [ ] **Git integration** - Show errors only in changed files since a commit\n- [ ] **Error statistics** - Summary dashboard with error trends and hotspots\n- [ ] **Custom formatters** - Plugin system for custom output formats\n- [ ] **CI/CD integration** - GitHub Actions, GitLab CI templates\n- [ ] **Configuration file** - `.typelenserc` for project-specific settings\n- [ ] **IDE extensions** - VSCode and other editor integrations\n- [ ] **Incremental mode** - Only re-check modified packages\n- [ ] **Error suppression** - Ignore specific errors by code or pattern\n\nHave a feature request? [Open an issue](https://github.com/monawwar/typelense/issues) on GitHub!\n\n## Documentation\n\n- **[Architecture](./docs/ARCHITECTURE.md)** - Learn about TypeLense's modular design and how to extend it\n- **[Contributing](./CONTRIBUTING.md)** - Guidelines for contributing to the project\n\n## Requirements\n\n- TypeScript 5.x (peer dependency)\n- Bun 1.x or Node.js 18+ (runtime)\n\n## License\n\nMIT - See [LICENSE](./LICENSE) file for details\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](./docs/CONTRIBUTING.md) to get started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxvsh%2Ftypelense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmxvsh%2Ftypelense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxvsh%2Ftypelense/lists"}