Build your first extension
This is the manual development route. Build and install a project card using matching local SDK/CLI packages. For your first creation, start with Skill Master. Version 0.1.0-alpha.9 is an internal identifier, not a formal release.
First time? Start with Skill MasterOutcome: Build and install an extension, then open it in the host.
Before you begin: Prepare the files and tools specified on this page. The previous page in the learning path is not automatically a dependency.
On this page
01Prepare matching local packages
Use Node.js ≥22.13, npm and the supplied host source snapshot. Obtain the SDK, CLI and extension-core tarballs plus their manifest from the maintainer. Verify SHA-256 against that manifest. Replace the path below with their absolute directory. Other build dependencies may require registry access.
export AMBLELOFT_PACKS="/absolute/path/to/local-packages"
mkdir extension-work
cd extension-work
npm init -y
npm install --save-dev "$AMBLELOFT_PACKS/ambleloft-extension-sdk-0.1.0-alpha.9.tgz" "$AMBLELOFT_PACKS/ambleloft-extension-core-0.1.0-alpha.9.tgz" "$AMBLELOFT_PACKS/ambleloft-extension-cli-0.1.0-alpha.9.tgz"02Create, build and package
Run in extension-work. The CLI creates a new directory without installing dependencies. Install all three matching local packages before building, so the CLI can resolve the local core package.
npx --no-install amble-extension init my-business-app --name my-business-app --template project-card
cd my-business-app
npm install --save-dev "$AMBLELOFT_PACKS/ambleloft-extension-sdk-0.1.0-alpha.9.tgz" "$AMBLELOFT_PACKS/ambleloft-extension-core-0.1.0-alpha.9.tgz" "$AMBLELOFT_PACKS/ambleloft-extension-cli-0.1.0-alpha.9.tgz"
npm run build
npm run validate
npm run pack03Install and inspect the result
In Settings → Extensions → Install, select dist/my-business-app.amble-extension, confirm trust and grant the declared project permission. Open the project card and select a test project. A successful read should show its details. No production business integration is included.
04Recover from errors
If a tarball is missing, stop and obtain the matching set; do not fall back to npm latest. If the target directory exists, use a new name. Check actual package resolution with npm ls. For unsupported host methods, use the matching source build. For denied access, inspect trust, permissions and project selection.
npm ls @ambleloft/extension-sdk @ambleloft/extension-cli @ambleloft/extension-core05Next: UI and localization
Return to extension-work before creating another template. The localization guide uses an existing template to verify translated forms and collection interfaces.
Run the localization templateCheck the result and troubleshoot
Build and install an extension, then open it in the host.
Check actual results using this page’s verification steps. For business integrations, inspect UI submission, tool receipts and server records separately.
Open the error reference →