diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..0beb853 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,98 @@ +# AGENTS.md + +This file provides guidance to AI coding agents (Claude Code, Codex, Cursor, Copilot, and others) +when working in this repository. It is loaded into agent context automatically — keep it concise. + +## Overview + +Freshmint is a TypeScript toolkit and CLI for minting NFT collections on the Flow blockchain. +The repo is a Turborepo-managed npm workspace monorepo (`package.json` `"workspaces": ["packages/*"]`, +`turbo.json` pipeline) containing Cadence contract templates under `cadence/` and four TypeScript +packages under `packages/`. The root `package.json` is `"private": true`; only the package subdirs +publish to npm. License: Apache-2.0. + +## Build and Test Commands + +Run from the repo root unless noted. Package manager is **npm** (lockfile: `package-lock.json`, +root `"packageManager": "npm@8.15.0"`, `engines.node: ">=14.0.0"`, CI uses Node 16). + +- `npm install` — install all workspace dependencies. +- `npm run build` — `turbo run build` across all packages (each uses `tsup`; outputs to `dist/`). +- `npm run test` — `turbo run test`. Only `@freshmint/core` defines tests (Jest + ts-jest, + `jest --runInBand --bail`, config at `packages/core/jest.config.js`). +- `npm run dev` — `turbo run dev --parallel` (tsup watch mode in each package). +- `npm run lint` — `turbo run lint` (ESLint with `@typescript-eslint`, config at `.eslintrc`). +- `npm run format` — `prettier --write "**/*.{ts,tsx}"` (config at `.prettierrc`: + 120 printWidth, single quotes, trailing commas). + +Per-package scripts (invoke with `npm run