Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,17 @@ npm --prefix admin run lint # Lint Admin
npm --prefix site run lint # Lint Site (includes stylelint)
```

### Linting and Formatting (Auto-fix)

```bash
npm run lint:fix # Auto-fix all packages
npm --prefix api run lint:fix # Auto-fix API
npm --prefix admin run lint:fix # Auto-fix Admin
npm --prefix site run lint:fix # Auto-fix Site (includes stylelint)
```

These commands auto-fix import sorting, remove unused imports, and apply Prettier formatting. The root `lint:fix` also formats config files outside the packages.

### Testing (API only currently)

```bash
Expand Down Expand Up @@ -141,6 +152,10 @@ The `site-configs/` directory manages site configurations, compiled into environ

## Key Patterns

### Post-Change Workflow

After making code changes, always run `npm --prefix <package> run lint:fix` for each affected package. This auto-fixes import ordering, removes unused imports, and applies Prettier formatting. Run this before committing or presenting changes as complete.

### API Module Structure

Feature-based organization: `auth/`, `documents/`, `dam/`, `menus/`, `footers/`, `redirects/`, `status/`
Expand Down
3 changes: 3 additions & 0 deletions admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
"lint": "npm run admin-generator && run-p -l lint:{eslint,knip,prettier,tsc} intl:extract",
"lint:ci": "npm run lint",
"lint:eslint": "eslint --max-warnings 0 src/ '**/*.json' --no-warn-ignored",
"lint:fix": "run-p lint:fix:{eslint,prettier}",
"lint:fix:eslint": "npm run lint:eslint -- --fix",
"lint:fix:prettier": "npx prettier --write '*.{ts,js,json,md,yml,yaml}'",
"lint:knip": "knip --exports --files --dependencies --tags=-knipignore",
"lint:prettier": "npx prettier --check '*.{ts,js,json,md,yml,yaml}'",
"lint:tsc": "tsc --project .",
Expand Down
3 changes: 3 additions & 0 deletions api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
"lint": "npm run api-generator && run-p -l lint:{eslint,knip,prettier,tsc}",
"lint:ci": "npm run lint",
"lint:eslint": "eslint --max-warnings 0 src/ '**/*.json' --no-warn-ignored",
"lint:fix": "run-p lint:fix:{eslint,prettier}",
"lint:fix:eslint": "npm run lint:eslint -- --fix",
"lint:fix:prettier": "npx prettier --write '*.{ts,js,json,md,yml,yaml}'",
"lint:knip": "knip --exports --files --dependencies --tags=-knipignore",
"lint:prettier": "npx prettier --check '*.{ts,js,json,md,yml,yaml}'",
"lint:tsc": "tsc --project ./tsconfig.lint.json",
Expand Down
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
"lint:api": "npm --prefix api run lint",
"lint:ci": "npm run lint:root",
"lint:create-app": "npm --prefix api run lint",
"lint:fix": "run-p -l lint:fix:{admin,api,root,site}",
"lint:fix:admin": "npm --prefix admin run lint:fix",
"lint:fix:api": "npm --prefix api run lint:fix",
"lint:fix:root": "npx prettier --write './!(admin|api|site|create-app)/**/*.{js,json,md,yml,yaml}'",
"lint:fix:site": "npm --prefix site run lint:fix",
"lint:root": "npx prettier --check './!(admin|api|site|create-app)/**/*.{js,json,md,yml,yaml}' && npx cspell '**'",
"lint:site": "npm --prefix site run lint",
"test:ci": "run-p test:ci:*",
Expand Down
4 changes: 4 additions & 0 deletions site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
"lint": "run-p -l lint:{eslint,knip,prettier,style,tsc} intl:extract",
"lint:ci": "npm run lint",
"lint:eslint": "eslint --max-warnings 0 src/ '**/*.json' --no-warn-ignored",
"lint:fix": "run-p lint:fix:{eslint,prettier,style}",
"lint:fix:eslint": "npm run lint:eslint -- --fix",
"lint:fix:prettier": "npx prettier --write '*.{ts,js,json,md,yml,yaml,css,scss}'",
"lint:fix:style": "npm run lint:style -- --fix",
"lint:knip": "knip --exports --files --dependencies --tags=-knipignore",
"lint:prettier": "npx prettier --check '*.{ts,js,json,md,yml,yaml,css,scss}'",
"lint:style": "npx stylelint '**/*.{css,scss}'",
Expand Down