CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/typescript-project-structure

TypeScript project structure, strict tsconfig, module resolution, path aliases, shared types, and monorepo patterns

90

1.09x
Quality

84%

Does it follow best practices?

Impact

100%

1.09x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-1/

CLI Tool — TypeScript Project from Scratch

Problem/Feature Description

A developer needs to build a command-line tool in TypeScript that processes CSV files and generates JSON reports. The tool will be published as an npm package, so it needs proper build output, declaration files for consumers, and a clean project structure.

The CLI should accept a CSV file path as input and output a summary report. It needs to handle errors gracefully (file not found, malformed CSV).

Output Specification

Produce a complete project structure with:

  • package.json — with bin entry, type: module, scripts (build, dev, start, typecheck, lint, test), and appropriate dependencies
  • tsconfig.json — strict config with NodeNext resolution, declaration output, path aliases
  • tsconfig.test.json — test config extending base, including test directory
  • .gitignore — ignoring dist/, node_modules/, and other generated files
  • src/index.ts — CLI entry point (parses command-line args)
  • src/parser.ts — CSV parsing logic
  • src/reporter.ts — Report generation
  • src/types/index.ts — Type definitions (CSVRow, ReportConfig, ReportOutput)
  • src/lib/errors.ts — Custom error types (FileNotFoundError, ParseError)
  • tests/parser.test.ts — Test file for the parser (using vitest or similar)

Focus on project structure, tsconfig configuration, type-only imports, and proper TypeScript patterns. The CSV parsing itself can be simplified.

evals

scenario-1

criteria.json

task.md

tile.json