Files
cosmos-explorer/.github/skills/build/SKILL.md
jawelton74 b483118b99 Copilot instructions and build/test skills (#2444)
* Add copilot instructions and skills for build and tests.

* Add dev-server skill.

* Auth Util changes to fix Entra login while running from copilot.

* Fix lint issue.
2026-04-06 15:51:54 -07:00

2.7 KiB

name, description, allowed-tools
name description allowed-tools
build Build the Cosmos Explorer project. Use this skill when asked to build, compile, or check the build status of the project. shell

Build Skill

Use the following commands to build the Cosmos Explorer project. Choose the appropriate command based on the task.

Full Production Build

Run a complete production build (format check → lint → compile → strict compile → webpack prod → copy):

npm run build

CI Build (Faster)

Run a CI build that uses webpack dev mode for faster bundling:

npm run build:ci

TypeScript Compile Only

Run a TypeScript type-check without emitting output:

npm run compile

Strict TypeScript Compile

Run a strict null-checks compile on the subset of files in tsconfig.strict.json:

npm run compile:strict

Lint Only

Run ESLint across all .ts and .tsx files:

npm run lint

Format Check

Run Prettier to verify formatting without modifying files:

npm run format:check

Pre-Build: Check Dependencies

Before running any build command, check whether npm install needs to be run. Do this by comparing package.json and package-lock.json against the installed node_modules:

  1. Check if the node_modules directory exists. If it does not, run npm install.
  2. If node_modules exists, check whether package.json or package-lock.json have been modified more recently than node_modules. If so, run npm install.
# Check if node_modules is missing or outdated
if [ ! -d node_modules ] || [ package.json -nt node_modules ] || [ package-lock.json -nt node_modules ]; then
  npm install
fi

On Windows PowerShell:

if (-not (Test-Path node_modules) -or
    (Get-Item package.json).LastWriteTime -gt (Get-Item node_modules).LastWriteTime -or
    (Get-Item package-lock.json).LastWriteTime -gt (Get-Item node_modules).LastWriteTime) {
    npm install
}

Always run this check before proceeding with any build command.

Guidelines

  • When asked to simply "build", run npm run build for a full production build.
  • When asked for a quick or fast build, use npm run build:ci.
  • When asked to just check types, use npm run compile.
  • If the build fails, read the error output carefully. Common issues include:
    • TypeScript errors: Fix type errors shown in the npm run compile output.
    • Strict null-check errors: Fix strict errors shown in npm run compile:strict output.
    • Lint errors: Fix lint issues shown in npm run lint output.
    • Format errors: Run npm run format to auto-fix formatting, then retry the build.
  • New files must be added to tsconfig.strict.json so they compile under strict mode.