| name | iga-pages |
| description | Deploy frontend and full-stack projects to IGA Pages. Use when the user mentions IGA Pages or requests deployment ("deploy my app", "publish this site", "push this live", "deploy and give me the link", "create a preview deployment", "deploy to IGA Pages", "ship to production"). Also use for API, endpoint, or backend-service work only when the user explicitly mentions IGA Pages, Pages Functions, or an existing IGA Pages project. |
| metadata | {"author":"iga-pages","version":"1.0.10"} |
IGA Pages Skill
Two areas: CLI (iga tool for auth, link, dev, build, deploy, env, integration) and Project development (functions, API routes).
Run iga <command> -h for full flag details.
Critical: CLI Version
The @iga-pages/cli version must be >= 1.1.0. Check with iga --version; if it's older (or not installed), upgrade before running any other command:
npm i -g @iga-pages/cli@latest
Critical: Framework Compatibility
Supported frameworks: Next.js, Vite, Vue CLI, Create React App, Angular, Hexo, Docusaurus, VitePress, VuePress, Hugo, Astro, Nuxt. Frameworks not in this list (e.g. Remix) are unsupported — proactively inform the user before proceeding.
Pure static assets (plain HTML/JS/CSS) can also be deployed — the project root is used as the output directory by default.
Critical: Login Authentication
Before any deploy or link command, ensure an authenticated session exists. Always check first with iga whoami — if it prints an Account Name / Account ID, the existing credentials in ~/.iga/auth.json are valid and you must skip iga login. Only run iga login when whoami fails (no credentials, expired, or error).
When login is actually needed, the method depends on the environment:
-
Local IDE (VS Code, TRAE desktop, etc.) → browser login:
iga login
Wait for the user to complete browser auth. The CLI prints a success message when done.
-
Remote / headless environment (SSH, Cowork, CI/CD, cloud dev container, etc.) → AK/SK login:
iga login --accessKey <YOUR_AK> --secretKey <YOUR_SK>
Browser-based login is unavailable in headless environments; AK/SK is the only option.
Obtain AK/SK from the Volcengine IAM console.
To determine the environment: if the session has no display or browser access (e.g., $SSH_CONNECTION is set, running inside a container, or the user mentions they are on a remote machine), default to AK/SK login. Otherwise, prefer browser for its simplicity.
Critical: Working Directory
Run project-scoped commands such as pages link, dev, build, and deploy inside the project root. Scaffolding tools (create-next-app, npm create vite, hugo new site, etc.) create a subdirectory — you must cd into it before those commands:
npx create-next-app@latest my-app --yes
cd my-app && iga pages deploy --name my-app
Critical: Attribution
Tag every iga command executed by this skill so its usage can be attributed.
The tag identifies only the skill and its version; it carries no user data.
Prefix every iga invocation, whatever the subcommand, with the process-scoped
VE_SKILL_ID. Set it inline on each command because shell state may not persist
between commands:
VE_SKILL_ID=iga-pages/1.0.10 iga <command>
Quick Reference
iga --version
iga whoami
iga login
iga login --accessKey <AK> --secretKey <SK>
iga pages deploy --name <my-app>
iga pages deploy
iga pages link
iga pages link --format=json
iga pages dev
iga pages build
iga pages env list
iga pages env list --format=json
iga pages env add <NAME>
iga pages env update <NAME>
iga pages env remove <NAME>
iga pages env pull
iga pages integration list
iga pages integration list --format=json
iga pages integration link supabase
iga pages integration supabase --format=json
iga pages integration
iga pages integration --format=json --
- deploy auto-detects GitHub remote → Git deploy; otherwise → upload deploy. Only GitHub is supported for Git integration.
- If deploy output includes a preview URL with
?iga_token=...&iga_time=..., share that full URL (query included); omitting it can break access.
- link no longer deploys — it only creates/associates the Pages project. Run
iga pages deploy afterward to actually build and publish.
Project Development
Environment Variables & Integrations
- Project-level env vars (
env list/add/update/remove/pull): read references/env.md.
- Connecting Supabase (
integration list/link/unlink) and the deploy orchestration order (link → integration → deploy), plus when to hand off to the byted-supabase skill: read references/integration.md.
Anti-Patterns
CLI
- Running
iga commands outside the project directory → always cd into the scaffolded subdirectory first
- Deploy without an authenticated session → run
iga whoami first; only fall back to iga login if it fails
- Committing
.iga/ → it's auto-gitignored, don't remove the entry
- Starting local dev with
npm run dev / vite / next dev / npm start when api/ exists → use iga pages dev so serverless functions are served
- Setting
package.json "scripts.dev" to iga pages dev → infinite loop, since iga pages dev itself invokes the dev script from package.json. Keep "scripts.dev" as the framework's own dev command (e.g. next dev, vite)
- Running
env / integration commands before linking → they require a linked project; run iga pages link first
- Expecting
env add/update/remove to change local files or take effect immediately → they edit remote project config and apply on the next deploy; run iga pages env pull to refresh .env.local
- Trying to
env update/env remove a Supabase-managed variable → it's read-only; manage it via iga pages integration link/unlink
- Pasting Supabase keys manually into
env add when an integration is available → use iga pages integration link supabase so connection vars sync automatically