arcgis-maps-sdk-js-ai-context / arcgis-starter-app
AGENTS.md0 starsChanged 7 months agoMITView on GitHub
Quick-reference decisions, checklists, and tables for scaffolding ArcGIS applications.
- Reads credentials
- Installs packages
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/arcgis-ai-components/AGENTS.mdAGENTS.md
- skills/arcgis-authentication/AGENTS.mdAGENTS.md
- skills/arcgis-charts/AGENTS.mdAGENTS.md
- skills/arcgis-coding-components/AGENTS.mdAGENTS.md
- skills/arcgis-core-maps/AGENTS.mdAGENTS.md
- skills/arcgis-editing/AGENTS.mdAGENTS.md
- skills/arcgis-embeddable-maps/AGENTS.mdAGENTS.md
- skills/arcgis-interaction/AGENTS.mdAGENTS.md
- skills/arcgis-layers/AGENTS.mdAGENTS.md
- skills/arcgis-visualization/AGENTS.mdAGENTS.md
- skills/arcgis-widgets-ui/AGENTS.mdAGENTS.md
- arcgis-3d-layersSkill
- arcgis-advanced-layersSkill
- arcgis-ai-componentsSkill
- arcgis-arcadeSkill
- arcgis-authenticationSkill
- arcgis-chartsSkill
- arcgis-cim-symbolsSkill
- arcgis-coding-componentsSkill
- arcgis-coordinates-projectionSkill
- arcgis-core-mapsSkill
- arcgis-core-utilitiesSkill
- arcgis-custom-renderingSkill
- arcgis-editingSkill
- arcgis-embeddable-mapsSkill
- arcgis-feature-effectsSkill
- arcgis-geometry-operationsSkill
- arcgis-imagerySkill
- arcgis-interactionSkill
- arcgis-knowledge-graphsSkill
- arcgis-layersSkill
- arcgis-map-toolsSkill
- arcgis-performanceSkill
- arcgis-popup-templatesSkill
- arcgis-portal-contentSkill
- arcgis-rest-servicesSkill
- arcgis-scene-environmentSkill
- arcgis-smart-mappingSkill
- arcgis-spatial-analysisSkill
- arcgis-starter-appSkill
- arcgis-tables-formsSkill
- arcgis-time-animationSkill
- arcgis-utility-networksSkill
- arcgis-visualizationSkill
- arcgis-widgets-advancedSkill
- arcgis-widgets-uiSkill
The file
Files
Agent Guide: arcgis-starter-app
Quick-reference decisions, checklists, and tables for scaffolding ArcGIS applications.
Minimal vs Production Setup Decision
- Is this a prototype, demo, or learning exercise?
- Yes --> Minimal setup (Vite + TypeScript, no linting)
- No --> Production setup
- Will this be maintained by a team or deployed publicly?
- Yes --> Production setup (ESLint, Prettier, git hooks, CI/CD)
- No, personal project --> Minimal is fine
- Do you need CI/CD pipelines?
- Yes --> Production setup includes GitHub Actions workflows
- No --> Minimal setup
| Feature | Minimal | Production |
| Vite + TypeScript | Yes | Yes |
| Map Components + Calcite | Yes | Yes |
| ESLint | No | Yes |
| Prettier | No | Yes |
| Git hooks (lint-staged) | No | Yes |
| GitHub Actions CI/CD | No | Yes |
.env for API key | No | Yes (VITE_ARCGIS_API_KEY) |
| EditorConfig | No | Yes |
New Project Checklist
Quick start (minimal)
npm create vite@latest my-app -- --template vanilla-tscd my-appnpm install @arcgis/map-components @esri/calcite-components- Set
"moduleResolution": "bundler"intsconfig.json - Set
build.target: "esnext"invite.config.ts - Replace
index.htmlbody with<arcgis-map>or<arcgis-scene> - Replace
src/main.tswith component imports andesriConfig.apiKey - Set
html, body { height: 100%; margin: 0; }in CSS npm run dev
Production additions
npm install -D eslint @eslint/js typescript-eslint eslint-config-prettier prettier simple-git-hooks lint-staged- Create
eslint.config.js(flat config) - Create
.prettierrcand.prettierignore - Add
simple-git-hooksandlint-stagedconfig topackage.json - Run
npx simple-git-hooksto install hooks - Create
.env.examplewithVITE_ARCGIS_API_KEY= - Add
.envto.gitignore - Use
import.meta.env.VITE_ARCGIS_API_KEYinmain.ts - Create
.github/workflows/test.ymlanddeploy.yml
Framework Selection Table
| Framework | Web Component Support | Setup Notes |
| Vanilla TS | Native | Simplest setup. Use Vite vanilla-ts template. |
| React 19 | Native (onarcgis* events) | Events use on prefix: onarcgisViewReadyChange. |
| React <19 | Requires ref workaround | Use useEffect + addEventListener on refs. Consider Core API instead. |
| Angular | Via CUSTOM_ELEMENTS_SCHEMA | Add schema to component/module. Import CSS explicitly. |
| Vue 3 | Native (@arcgis* events) | Configure compilerOptions.isCustomElement in vite.config.ts. |
Key Configuration Files
| File | Purpose | Required? |
tsconfig.json | TypeScript config; must set moduleResolution: "bundler" | Yes |
vite.config.ts | Build config; must set build.target: "esnext" | Yes |
package.json | Dependencies and scripts | Yes |
.env | API key (VITE_ARCGIS_API_KEY) | Production |
eslint.config.js | Linting rules (flat config format) | Production |
.prettierrc | Code formatting rules | Production |
Package Dependencies
Required
@arcgis/map-components -- Map Components (web components)
@esri/calcite-components -- Calcite Design SystemRequired (Core API only, without Map Components)
@arcgis/core -- Core API classes
@esri/calcite-components -- Calcite Design SystemDev (minimal)
typescript
viteDev (production, additional)
eslint, @eslint/js, typescript-eslint, eslint-config-prettier
prettier, simple-git-hooks, lint-stagedDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

