ambleloft

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 Master
PRACTICAL GUIDE

Outcome: 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.

Code example
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.

Code example
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 pack

03Install 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.

Code example
npm ls @ambleloft/extension-sdk @ambleloft/extension-cli @ambleloft/extension-core

05Next: 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 template

Check 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 →
SDK / CLI 0.1.0-alpha.9 · Contract baseline Compatibility and preview notes · Sample source