lintcn

Compile Go-based custom lint rules into a tsgolint binary for TypeScript codebases.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/otto-assistant/bridge --skill lintcn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lintcn
Source: https://github.com/otto-assistant/bridge/tree/main/cli/skills/lintcn
Command: npx skills add https://github.com/otto-assistant/bridge --skill lintcn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ts golint enables developers to define custom lint rules for TypeScript by writing Go-based rule implementations that live under .lintcn/ as separate subfolders. Each rule is compiled into a tsgolint binary, enabling fast, isolated checks across large codebases.

Core Features & Use Cases

  • Subfolder-per-rule architecture under .lintcn/ where each folder is the Go package name and the rule identity.
  • Build and test workflow: go build ./... and go test -v ./... inside the .lintcn/ directory to validate rules.
  • Run lint checks with the lintcn CLI (e.g., lintcn lint) to apply your custom rules to TypeScript projects, including monorepos with multiple packages.

Quick Start

Install and run the lintcn CLI to start validating your TypeScript code against your custom rules.

Frequently Asked Questions about lintcn

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define custom TypeScript lint rules using Go?

Custom TypeScript lint rules are defined by writing Go-based rule implementations, packaging each rule as a separate subfolder under the .lintcn directory to ensure isolated checks across monorepos.

What is the best way to run custom static analysis on a TypeScript monorepo?

Custom static analysis on a TypeScript monorepo is run via the lintcn CLI, which executes compiled Go-based tsgolint binaries to apply your specific coding guidelines across multiple packages.

How do I build and test custom tsgolint rules?

Custom tsgolint rules are built and tested by running go build ./... and go test -v ./... directly inside the .lintcn directory to compile and validate each rule package.

Does the subfolder-per-rule architecture work for monorepos with multiple packages?

The subfolder-per-rule architecture under .lintcn works for monorepos by compiling each rule identity into a tsgolint binary, enabling fast and isolated static analysis checks across multiple package folders.

Why does each custom lint rule need its own subfolder in .lintcn?

Each custom lint rule requires its own subfolder because the folder name serves as the Go package name and the rule identity, which allows the Go compiler to package each rule into a distinct binary.