Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Alp IDENew to Visual Studio Code? Get it now.
Alp IDE

Alp IDE

Alp Lab AI

|
2 installs
| (0) | Free
First-class IDE support for Alp SDK projects: board.yaml schema-aware editing, alp_project.py loader commands, per-OS dependency bootstrap, and west build/flash/run workflows.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Alp IDE — VS Code extension

First-class IDE support for projects built against the Alp SDK:

  • board.yaml LSP-native editing. Inline diagnostics, completion, hover, symbols, quick fixes, and effective-config preview run through the language server.
  • alp_project.py loader commands. Generate Zephyr-conf / DTS overlay / CMake-args / Yocto-conf from board.yaml directly from the command palette.
  • west workflow wrappers where build runs validate board.yaml -> generate all -> west build, plus dedicated flash / run wrappers with progress reporting.
  • Debug-aware orchestration. Inspect, doctor, preflight, launch-profile planning, and support-bundle surfaces are available without embedding debugger implementation into the extension.

Screenshots

ALP IDE Hub

ALP IDE Hub overview dashboard

Workspace readiness at a glance — environment, west workspace and Alp SDK status, board-configurator / hardware-explorer / toolchain-doctor panels, and quick actions.

Create a new project

New Project — choose a template

Step 1 — pick a starter template: minimal, sensor, IoT, edge-AI, board-diagnostics, or host-tooling.

New Project — pick an E1M module

Step 2 — choose the target E1M module, grouped by vendor (Alif Ensemble, NXP i.MX 9, Renesas RZ/V2N).

New Project — choose an SDK

Step 3 — scaffold against the active SDK or a pinned release.

New Project — name and location

Step 4 — name the project and choose its parent folder.

New Project — live create-at path

The "will be created at …" path updates live as you type the project name.

New Project — review and create

Step 5 — review template, module, cores, SDK, name and location, then scaffold board.yaml, CMakeLists.txt and a starter src/main.c.

Configure board.yaml

Configurator — project and hardware

Project & Hardware — SoM SKU, carrier/board preset, and the resolved compute/inference cores + on-module accelerators.

Configurator — per-core OS and libraries

Cores — per-core OS (Zephyr / Yocto), app directory, inference arena, connectivity, peripherals and libraries.

Configurator — linked chip drivers

Chips — link project-wide chip drivers, filtered to the selected SoM family.

Configurator — diagnostics and logging

Diagnostics — default log level, alp_last_error() storage, and per-module log-level overrides.

Configurator — boot, signing, storage and IPC

Advanced — bootloader, image signing, storage partitions, PSA security, OTA provider, and inter-core IPC / RPMsg carve-outs.

Configurator — validation summary

Review — live "board.yaml is valid" with the effective SoM, board, and active cores.

Configurator — effective config preview

Preview the resolved projectContext + effectiveConfig as JSON before building.

Manage SDK releases

SDK Manager — install and switch

List, install, activate and remove versioned Alp SDK releases, each with an expandable changelog.

Install

VS Code Marketplace: search for "Alp SDK". Or grab the latest .vsix from the Releases page and install via Extensions: Install from VSIX.

Repo layout

.
├── README.md                -- this file (the only doc in the root)
├── CLAUDE.md                -- operating guide for AI agents (auto-loaded)
├── docs/                    -- all project docs (see "Documentation Map" below)
├── LICENSE                  -- Apache-2.0
├── package.json             -- VS Code extension manifest (workspace root)
├── pnpm-workspace.yaml      -- pnpm workspace config
├── tsconfig.json
├── packages/
│   └── alp-core/            -- @alp-sdk/core: shared domain logic
│       └── src/             -- board, configurator, sdk, wizard, ...
├── cli-rs/                  -- the native `alp` CLI (Rust; replaced packages/alp-cli)
├── src/                     -- VS Code extension TypeScript source
│   ├── README.md            -- source folder/module guide
│   ├── extension.ts         -- activation entry point
│   ├── bootstrap.ts         -- extension bootstrap and service wiring
│   ├── configuratorPanel.ts -- board.yaml panel surface
│   ├── diagnostics.ts       -- diagnostics surface wiring
│   ├── loader.ts            -- loader command surface
│   ├── debug.ts             -- debug command surface
│   ├── west.ts              -- west command surface
│   ├── statusBar.ts         -- status bar surface
│   ├── lsp/                 -- LSP client/server/service/commands
│   ├── validation/          -- validation plans and issue classification
│   ├── loader/              -- generation planning and execution contracts
│   ├── debug/               -- debug models and orchestration logic
│   ├── project/             -- workspace and toolchain context resolution
│   ├── boardSummary/        -- compact board summary parsing
│   ├── configurator/        -- board model parse/normalize/serialize
│   └── west/                -- west plan/orchestration logic
├── test/                    -- service and adapter-core unit tests
├── snippets/                -- board.yaml + main.c snippets
├── media/                   -- icons + walkthrough assets
└── alp-sdk-upstream/        -- git submodule -> alplabai/alp-sdk
                                (single source of truth for schemas)

Documentation Map

  • ARCHITECTURE_RULES.md: Layering, dependency direction, and testing contracts.
  • PLAN.md: Product goals and phased roadmap.
  • BACKLOG.md: Epic and issue checklist with current implementation state.
  • CLI.md: Proposed CLI command families, output contract, and exit-code policy.
  • CI_EXAMPLES.md: GitHub Actions and GitLab CI examples for Alp CLI validation/generation/doctor flows.
  • GETTING_STARTED_VSCODE.md: VS Code first-run workflow from install to validation and generation.
  • GETTING_STARTED_CLI.md: CLI-first workflow for local terminal and CI usage.
  • EDITOR_FEATURES.md: LSP/editor capabilities for board.yaml authoring.
  • GENERATION_OUTPUTS.md: Generation targets, output paths, and deterministic output expectations.
  • SOURCE_SCAFFOLDING.md: Project bootstrap and module scaffolding workflows.
  • TROUBLESHOOTING_VALIDATION.md: Validation failure diagnosis and recovery flow.
  • TROUBLESHOOTING_GENERATION_CONFLICTS.md: Generation/scaffolding conflict handling and overwrite safety.
  • TROUBLESHOOTING_ENVIRONMENT.md: Runtime/toolchain troubleshooting for CLI and VS Code workflows.
  • TASK_RECIPES.md: Common GUI/CLI task mapping for daily workflows.
  • TEST_MATRIX.md: Test coverage map by surface and test type.
  • COMPATIBILITY_RULES.md: Backward compatibility guarantees for schema, generation targets, and CLI contracts.
  • RELEASE_GATES.md: Required release checks for core, LSP, UI, CLI, and docs.
  • PERFORMANCE_BUDGETS.md: Performance budgets and regression-check guidance.
  • DEBUG.md: Debug support matrix and launch strategy.
  • CONTRIBUTING.md: Dev setup, the CLI release flow, and rollback playbook.
  • EXTENSION_CLI_INTEGRATION.md: How the extension consumes the native alp CLI (binary resolution + the in-process vs delegated split).
  • BUILD_ORCHESTRATION.md: Wave C plan — the alp CLI drives the build (materialise/execute/schedule/cache/UX) and wraps west/bitbake/cmake directly, consuming the SDK's alp_orchestrate.py --emit build-plan instead of re-implementing the planner; the consumed BuildPlan contract, parity strategy, and phased rollout.
  • PROPOSAL-alp-build-core.md: the team-to-team agreement record — the settled CLI/SDK split, why we consume --emit build-plan, and the SDK's committed contract seams.
  • ALP_IDE_ONBOARDING.md / ALP_IDE_SDK_INSTALLATION.md: IDE Hub onboarding and SDK install flows.
  • src/README.md: Source module map.
  • src/lsp/README.md: LSP module responsibilities.
  • src/debug/README.md: Debug module boundaries.
  • src/loader/README.md: Loader module responsibilities.
  • src/validation/README.md: Validation module ownership.
  • src/project/README.md: Workspace/toolchain context rules.
  • src/wizard/README.md: First-run project wizard responsibilities.

Why a separate repo

The extension previously lived at alp-sdk/vscode/. Split out because:

  • Different toolchain. TypeScript + esbuild + vsce against Node 18+; nothing in common with the SDK's CMake / Zephyr / Yocto build context.
  • Different release cadence. VS Code Marketplace releases follow extension-side changes; SDK quarterly tags lag.
  • Different contributors. Some folks build extensions, some build firmware -- splitting lowers the barrier for the former.

The alp-sdk consumer still gets a one-line install via the Marketplace; no functionality changed.

Schema-sync

The extension's schema-aware validation uses a vendored copy of the board schema at schemas/board.schema.json (so it ships inside the VSIX — alp-sdk-upstream/** is excluded from the package). It is derived from the alp-sdk submodule's board schema; package.json::contributes.yamlValidation.url points at the vendored path. Its presence + structure ($id, required) are enforced by test/board.schema.vendored.test.js and the CI "vendored schema" check.

Schema v2 (alp-sdk v0.6+): board.yaml now uses schema_version: 2 with a per-core cores: block replacing the top-level os: field. Use the alp-board-min or alp-board-hetero snippet to get a valid starting point.

When alp-sdk bumps the schema:

cd alp-sdk-upstream
git fetch && git checkout main
cd ..
cp alp-sdk-upstream/metadata/schemas/<board-schema>.json schemas/board.schema.json  # re-vendor
git add alp-sdk-upstream schemas/board.schema.json
git commit -m "deps(alp-sdk): bump submodule to <sha> + re-vendor schema"
pnpm test         # re-runs the schema-snapshot tests
pnpm run package  # builds the .vsix against the new schema

Build

git clone --recurse-submodules https://github.com/alplabai/alp-sdk-vscode.git
cd alp-sdk-vscode
pnpm install
pnpm run compile    # tsc -> out/ (extension) + webview (vp build)
pnpm test           # compile + lightweight service / adapter tests
pnpm run package    # vsce package -> alp-sdk-<version>.vsix

Load the local build via Extensions: Install from VSIX.

Development

Use pnpm test as the default verification step while changing the extension.

The current test setup is intentionally lightweight:

  • pure service modules are tested directly
  • thin adapter seams with injected dependencies are tested without booting VS Code
  • compile stays part of the test run so API drift is caught early

When changing architecture-sensitive code, prefer keeping this split:

  • service for pure decision logic
  • vscodeAdapter for VS Code, filesystem, and subprocess access
  • adapterCore for runtime-independent seam logic
  • surface files such as commands, panels, status bar, and diagnostics for presentation and orchestration only

For the full implementation contract, see ARCHITECTURE_RULES.md.

For slice-level ownership and file conventions, see src/README.md and each module-local README.

License

Apache-2.0, same as the SDK.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft