skills/sails-new-app/SKILL.md
Use when a builder is starting a new standard Gear/Vara Sails app and needs the correct greenfield sequence before implementation. Do not use for edits to an established repo, Vara.eth or ethexe targets, or non-Sails templates.
npx skillsauth add gear-foundation/vara-skills sails-new-appInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Move a greenfield request from scope to an approved Sails workspace path without skipping the planning artifacts that later implementation depends on.
rustup, the required Wasm targets, cargo-sails, and a local gear binary, start with ../sails-dev-env/SKILL.md.cargo sails new <project-name> unless the user explicitly needs a custom non-template layout.docs/plans/YYYY-MM-DD-<topic>-spec.md using ../../assets/spec-template.md.../sails-architecture/SKILL.md.cargo sails new <project-name> intact: app, client, src, tests, top-level build.rs, Wasm output, and generated-client path..idl and Rust client artifacts. For a dedicated client crate, prefer sails-rs with features = ["build"] and sails_rs::build_client::<Program>() before introducing manual sails-idl-gen / sails-client-gen-v2 wiring.../sails-gtest/SKILL.md, then ../sails-local-smoke/SKILL.md.create-vara-app to scaffold it from the program's .idl: npx create-vara-app <name> --idl path/to/service.idl. Then route to ../sails-frontend/SKILL.md for customization.../../references/vara-domain-overview.md../../references/sails-cheatsheet.md../../references/sails-program-and-service-architecture.md../../references/sails-idl-client-pipeline.md../../references/sails-idl-v2-syntax.md — IDL v2 annotations, !@include, service-scoped types.idl and .opt.wasm artifact path intact, and check the crate's build.rs before adding ad hoc generation steps.cargo sails new <project-name> for greenfield Sails/Vara work. Hand-assembled workspaces are a known source of errors: shared top-level workspaces cause Cargo feature unification to enable both gstd and gtest on sails-rs simultaneously, breaking the build. See ../../references/sails-rs-imports.md for the canonical layout.#[sails_type] for all custom types (structs, enums) used in service interfaces. This replaces the verbose #[derive(Encode, Decode, TypeInfo)] #[codec(crate = ...)] pattern from 0.x.development
Use when approved tasks require Rust code changes in a Sails ethexe workspace with the ethexe feature enabled. Do not use for standard Gear/Vara Sails apps without ethexe, or when the spec or architecture is still unsettled.
development
Use when a builder needs to design or review architecture for a Sails ethexe app with dual-transport, payable methods, Solidity interface generation, or Ethereum-style events. Do not use for standard Gear/Vara Sails apps without ethexe.
development
Use when a builder needs to design or debug calls from a standard Gear/Vara Sails program into runtime builtin actors such as BLS12-381, staking, proxy, or ETH bridge, including ActorId derivation, request encoding, reply decoding, and gas or ED budgeting. Do not use for regular program-to-program messaging, Vara.eth or ethexe-only work, non-Sails repositories, or runtime-maintenance tasks inside the Gear repo.
development
Use when a builder needs a read-side indexer and query API for a standard Gear/Vara Sails app using program events, IDL-driven decoding, projected read models, and optional on-chain query enrichment. Do not use for command-side backends, generic Node APIs, non-Sails repositories, Vara.eth or ethexe-first work.