Appearance
ToolBox Development
This section is for contributors working on the Power Platform ToolBox host application itself — the Electron shell that loads and runs tools — as distinct from building a tool that runs inside it. It covers the technology stack, how the project is organized, and the workflow for getting a change from a fork into a release.
Power Platform ToolBox is built with Electron, TypeScript, Vite, SCSS, and pnpm; contribute by forking the repo, running pnpm install and pnpm run dev, and targeting your pull request at the dev branch.
Technology stack
The host application is built with:
- Electron — the desktop application framework.
- TypeScript
- Vite
- SCSS
- pnpm — the package manager used across the project.
Prerequisites
To contribute to the host, you need:
- Node.js 18 or higher.
- pnpm 10 or higher.
- Git.
- VS Code (recommended editor).
Getting started
New contributors fork the repository, clone their fork locally, and run:
bash
pnpm installto set up dependencies. Start development mode with:
bash
pnpm run devFor a step-by-step walkthrough, see Getting Started.
Project organization
The codebase separates concerns across a few key directories:
src/main/— the main process, handling Node.js-side operations.src/renderer/— the renderer process, managing the UI.- An API layer that facilitates communication between the main and renderer processes.
See Architecture for a deeper look at how these pieces fit together.
Development workflow
The typical workflow involves running lint checks, formatting code, type checking, and building the application:
bash
pnpm run lint
pnpm run buildPlatform-specific builds are available too, for example:
bash
pnpm run package:winContributing standards
- Target the
devbranch with your pull requests, notmain. - Follow the Conventional Commits format, using types such as
feat,fix,docs,refactor,test,chore,perf, andci.
Pull request requirements
Pull requests must include a meaningful title, test results, references to related issues, and completion of the provided PR template checklist before they're merged into dev.
Release strategy
- Nightly pre-releases are generated automatically from merges into
dev, using the version format1.0.0-dev.YYYYMMDD. - Stable releases follow a
dev-to-mainbranch merge.