{"id":48781134,"url":"https://github.com/sylphxai/typescript","last_synced_at":"2026-05-18T16:01:06.068Z","repository":{"id":287084866,"uuid":"962955498","full_name":"SylphxAI/typescript","owner":"SylphxAI","description":"Strict, AI-optimized TypeScript monorepo: ESLint Flat Configs, tsconfig, Prettier, and guidelines for modern TypeScript projects.","archived":true,"fork":false,"pushed_at":"2025-12-10T10:54:02.000Z","size":755,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-13T14:37:18.937Z","etag":null,"topics":["ai","eslint","eslint-config","flat-config","guidelines","monorepo","prettier","react","react-native","security","sonarjs","strict","styleguide","sylph","sylphlab","tsconfig","turborepo","typescript","unicorn","vue"],"latest_commit_sha":null,"homepage":"https://sylphlab.github.io/typescript/","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/SylphxAI.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2025-04-08T23:52:38.000Z","updated_at":"2025-12-10T10:55:15.000Z","dependencies_parsed_at":"2025-04-10T06:38:54.875Z","dependency_job_id":"8323f063-3373-4409-aeb6-92979bb58cd9","html_url":"https://github.com/SylphxAI/typescript","commit_stats":null,"previous_names":["sylphlab/typescript","sylphxltd/typescript","sylphxai/typescript"],"tags_count":85,"template":false,"template_full_name":null,"purl":"pkg:github/SylphxAI/typescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Ftypescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Ftypescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Ftypescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Ftypescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SylphxAI","download_url":"https://codeload.github.com/SylphxAI/typescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Ftypescript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33183288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"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":["ai","eslint","eslint-config","flat-config","guidelines","monorepo","prettier","react","react-native","security","sonarjs","strict","styleguide","sylph","sylphlab","tsconfig","turborepo","typescript","unicorn","vue"],"created_at":"2026-04-13T14:33:10.270Z","updated_at":"2026-05-18T16:01:06.050Z","avatar_url":"https://github.com/SylphxAI.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SylphLab TypeScript Ecosystem\n\n[![CI Status](https://github.com/sylphlab/typescript/actions/workflows/ci-release.yml/badge.svg)](https://github.com/sylphlab/typescript/actions/workflows/ci-release.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\u003e **Strict, AI-optimized, and modern TypeScript tooling monorepo using Biome.**\n\u003e Centralizes all SylphLab TypeScript standards (formatting, linting via Biome; tsconfig presets), with a focus on extreme code quality, maintainability, performance, and developer/AI efficiency.\n\n---\n\n## Description\n\n- **Monorepo for all SylphLab TypeScript configurations and guidelines**\n- **Includes:**\n  - [@sylphlab/biome-config](./packages/biome-config): Base Biome configuration (formatting \u0026 linting). Includes Standard and Strict tiers.\n  - [@sylphlab/typescript-config](./packages/typescript-config): Strict, reusable tsconfig bases (Node, DOM, React, Vue, React Native).\n  - *Deprecated:* `@sylphlab/eslint-config-*` and `@sylphlab/prettier-config` packages are replaced by Biome.\n- **Managed with:** Turborepo, pnpm workspaces\n- **Build Tool:** tsup (for building packages)\n- **Documentation:** [@sylphlab/typescript-docs](./packages/docs/) (Built with Astro Starlight)\n\n---\n\n## Core Philosophy\n\n- **Extreme strictness:** All critical lint rules are errors. No compromise on quality (especially with `@sylphlab/biome-config/strict`).\n- **Modern tooling:** Biome (Linting/Formatting), tsup (Building), TypeScript 5+, pnpm, Turborepo, Lefthook (Git Hooks), ESM-first.\n- **AI \u0026 developer ergonomics:** Explicit typing, clear naming, strict structure (co-location), consistent formatting via Biome.\n- **Automation:** Biome \u0026 commitlint via Lefthook (pre-commit/commit-msg hooks), CI/CD (GitHub Actions), Dependabot.\n- **Performance \u0026 bug prevention:** Fast tooling (Biome, tsup), static analysis, security rules, complexity limits.\n- **Mandatory Co-location:** Test (`*.test.ts`) and benchmark (`*.bench.ts`) files **MUST** reside in the same directory as the source file they target.\n\n---\n\n## Usage\n\n### Install\n\n```bash\npnpm install\n```\n\n### Explore Packages\n\n- Each package has its own README with install and usage.\n- See [packages/](./packages/).\n\n### Run Standard Scripts\n\nThese scripts should be defined in the root `package.json` and individual package `package.json` files as needed, aligning with Core Instruction V.I.\n\n```bash\npnpm run format     # Apply Biome formatting fixes\npnpm run check      # Run Biome checks (lint + format check) \u0026 apply safe fixes\npnpm run lint       # Alias for 'check'\npnpm run typecheck  # Run TypeScript compiler checks (tsc --noEmit)\npnpm run test       # Run tests (e.g., Vitest)\npnpm run validate   # Run check, typecheck, and test sequentially\npnpm run build      # Build packages using tsup (via Turborepo if applicable)\n```\n\n---\n\n## Quick Start: Biome Config\n\n```bash\n# Install Biome and the base config\npnpm add -D @biomejs/biome @sylphlab/biome-config\n```\n\nCreate `biome.json` in your package root:\n\n```json\n{\n  // Extend the shared config (Standard tier)\n  \"extends\": [\"@sylphlab/biome-config\"]\n  // Or for Strict tier:\n  // \"extends\": [\"@sylphlab/biome-config/strict\"]\n\n  // Add project-specific overrides below if absolutely necessary\n  // \"files\": { \"ignore\": [\"dist/**\"] },\n  // \"linter\": { ... },\n  // \"formatter\": { ... }\n}\n```\n\nAdd standard scripts to your `package.json` (see \"Run Standard Scripts\" above).\n\n---\n\n## Quick Start: TypeScript Config\n\n```bash\npnpm add -D typescript @sylphlab/typescript-config\n```\n\n`tsconfig.json` (example for a Node package):\n\n```json\n{\n  // Choose the appropriate base: node, dom, react, vue, react-native\n  \"extends\": \"@sylphlab/typescript-config/node\",\n  \"compilerOptions\": {\n    // Output directory for tsup/tsc\n    \"outDir\": \"dist\",\n    // Source directory\n    \"rootDir\": \"src\"\n    // DO NOT use \"composite\": true or \"references\" in workspace packages\n  },\n  \"include\": [\"src/**/*\"],\n  \"exclude\": [\"node_modules\", \"dist\", \"**/*.test.ts\", \"**/*.spec.ts\", \"**/*.bench.ts\"]\n}\n```\n\n---\n\n## Build Tool (tsup)\n\n- Package building (compilation, declarations) **MUST** use `tsup`.\n- Configure `tsup.config.ts` with `dts: true` and list workspace dependencies in `external`.\n- Do **NOT** use `tsc` command-line for building workspace packages.\n\n---\n\n## Git Hooks (Lefthook + commitlint)\n\n- Enforces standards (Biome checks, commit message format) automatically before commits.\n- Requires `lefthook`, `@commitlint/cli`, `@commitlint/config-conventional`.\n- Configure via `lefthook.yml` and `commitlint.config.cjs`.\n- See [Code Style \u0026 Quality Docs](./packages/docs/src/content/docs/style-guide/style-quality.md) for setup.\n\n---\n\n## Documentation\n\n- The documentation site is built using Astro Starlight and located in the `packages/docs` directory.\n- Run `pnpm run docs:dev` to start the local development server.\n\n---\n\n## Contributing\n\n- PRs welcome. Follow code style (Biome), quality standards, and commit conventions (Conventional Commits via commitlint).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylphxai%2Ftypescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsylphxai%2Ftypescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylphxai%2Ftypescript/lists"}