CtrlK
BlogDocsLog inGet started
Tessl Logo

simon/skills

Auto-generated tile from GitHub (10 skills)

92

1.16x
Quality

94%

Does it follow best practices?

Impact

92%

1.16x

Average score across 44 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-24/

Set Up Automated Lint Enforcement for the Reporting Service

Problem/Feature Description

The reporting-service team has a working neostandard/ESLint v9 setup locally, but linting is entirely optional — nobody runs it before pushing, and the CI pipeline doesn't check it either. As a result, style regressions get merged regularly and code review is cluttered with formatting comments.

The team wants two things: first, lint violations should block the CI pipeline so that no non-compliant code can be merged. Second, developers should get fast feedback before they even push — ideally on only the files they changed, so it doesn't slow them down. The team uses GitHub Actions for CI. The project targets Node.js 20.

Your task is to set up CI and pre-commit lint enforcement for the project. Produce all configuration files needed to make this work, and write a brief integration-notes.md explaining the choices made.

Output Specification

Produce the following files:

  • .github/workflows/ci.yml — GitHub Actions CI workflow that includes linting
  • package.json — updated with pre-commit tooling and any required scripts
  • integration-notes.md — short document explaining the integration decisions
  • Any additional config files needed by the pre-commit tooling

Input Files

The following files are provided as inputs. Extract them before beginning.

=============== FILE: package.json =============== { "name": "reporting-service", "version": "1.0.0", "description": "Internal reporting microservice", "main": "index.js", "type": "module", "scripts": { "test": "node --test", "lint": "eslint .", "lint:fix": "eslint . --fix" }, "devDependencies": { "eslint": "^9.0.0", "neostandard": "^1.0.0" } }

=============== FILE: eslint.config.js =============== import neostandard from 'neostandard'

export default neostandard()

=============== FILE: index.js =============== export function generateReport (data) { return data.map(item => ({ id: item.id, value: item.value })) }

=============== FILE: .gitignore =============== node_modules/ dist/ coverage/

evals

README.md

tile.json