CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/angular-best-practices

Angular patterns — standalone components, signals, inject(), reactive forms, HTTP interceptors, and new control flow

95

2.75x
Quality

94%

Does it follow best practices?

Impact

99%

2.75x

Average score across 4 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

angular-standalone.jsonverifiers/

{
  "instruction": "Use standalone components with inject() for DI and providedIn root for services. Never use NgModules or constructor injection.",
  "relevant_when": "Agent creates or modifies Angular components, services, or modules",
  "context": "Modern Angular uses standalone: true on all components (no NgModules), inject() function for dependency injection (not constructor parameters), and @Injectable({ providedIn: 'root' }) for services.",
  "sources": [
    {
      "type": "file",
      "filename": "skills/angular-best-practices/SKILL.md",
      "tile": "tessl-labs/angular-best-practices@0.1.4"
    }
  ],
  "checklist": [
    {
      "name": "standalone-components",
      "rule": "Agent creates components with standalone: true — no NgModule classes",
      "relevant_when": "Agent creates or modifies Angular components"
    },
    {
      "name": "inject-function",
      "rule": "Agent uses inject() function for all dependency injection, never constructor parameter injection",
      "relevant_when": "Agent injects services, HttpClient, or any dependency in Angular"
    },
    {
      "name": "providedIn-root",
      "rule": "Agent decorates services with @Injectable({ providedIn: 'root' })",
      "relevant_when": "Agent creates Angular services"
    }
  ]
}

tile.json