first-time-setup

Install and configure @northguild/gmt-eslint in ESLint flat config to enforce Date API bans.

6|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/northguild/gmt --skill first-time-setup-northguild
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: first-time-setup
Source: https://github.com/northguild/gmt/tree/main/packages/gmt-eslint/skills/first-time-setup
Command: npx skills add https://github.com/northguild/gmt --skill first-time-setup-northguild

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @northguild/gmt-eslint, eslint.

What problem does it solve? Adopting a Temporal-first date handling policy requires banning Date and legacy date libraries across a codebase, but wiring a new ESLint plugin into an existing flat config without breaking current lint rules is error-prone. This Skill guides the installation, configuration, and verification of @northguild/gmt-eslint so Date-ban rules are active with minimal config churn. ## Core Features & Use Cases - Dependency installation: Installs @northguild/gmt-eslint, eslint, and required parser dependencies. - Flat config wiring: Merges the gmt-eslint config into eslint.config.mjs while preserving existing project rules. - Enforcement verification: Runs ESLint to confirm Date API bans and restricted imports of moment, dayjs, luxon, date-fns, and similar libraries are reported. - Use Case: A team migrating to the TC39 Temporal standard uses this Skill to add gmt-eslint to their repo, verify new Date() is flagged, and stage import bans gradually in a codebase still using date-fns. ## Quick Start Set up @northguild/gmt-eslint in my project's ESLint flat config and verify that Date usage is banned.

Frequently Asked Questions about first-time-setup

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

FAQPage Schema
How do I ban new Date() in ESLint?▼

Install @northguild/gmt-eslint and merge its exported config into your eslint.config.mjs flat config array. Running ESLint afterward will report Date API usage as violations, enforcing Temporal-first date handling.

How to set up gmt-eslint with ESLint flat config?▼

Install @northguild/gmt-eslint, eslint, and required parser dependencies, then import the plugin in eslint.config.mjs and export a merged config array. Keep your existing project rules and add the gmt config additively.

Does gmt-eslint block moment, dayjs, and date-fns imports?▼

Yes, the config bans importing moment, moment-timezone, dayjs, luxon, date-fns, date-fns-tz, and spacetime via no-restricted-imports and no-restricted-syntax. In codebases still using them, warn users before enabling or stage the rollout.

Will adding gmt-eslint break my existing ESLint rules?▼

No, the setup keeps edits additive and merges the gmt config alongside your project-specific rules. Avoid broad lint-rule rewrites unrelated to the Date-ban adoption.

Can I use gmt-eslint with Biome or Oxlint?▼

Yes, companion packages @northguild/gmt-biome and @northguild/gmt-oxlint provide matching Date-ban enforcement for those linters. Install them alongside gmt-eslint for consistent policy across tooling.