# ts/strict

Patches `tsconfig.json` with four compiler options for maximum type safety:

```json
{
  "compilerOptions": {
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "verbatimModuleSyntax": true
  }
}
```

| Option | Purpose |
|--------|---------|
| `strict: true` | Enables all strict type-checking options |
| `noUnusedLocals: true` | Error on unused local variables |
| `noUnusedParameters: true` | Error on unused function parameters |
| `verbatimModuleSyntax: true` | Enforce `import type` for type-only imports |

## Conflict Detection

Each option is checked independently. If any option already exists with a
different value (e.g. `strict: false`), the task returns `conflict` rather
than overwriting it. This prevents accidental loosening of intentional
configurations.

**Tip:** Use `--strict false` when initializing to skip this task entirely. The
  task will still offer to add `noUnusedLocals`, `noUnusedParameters`, and
  `verbatimModuleSyntax` if only `strict` is already set.

## Details

| Property | Value |
|----------|-------|
| **Task ID** | `ts/strict` |
| **Group** | TypeScript |
| **Applicable When** | TypeScript detected |
| **Config Target** | `tsconfig.json` |