Skip to main content
Development uses the same Docker baseline as deployment: Docker Engine 23.0 or newer with the Buildx and Compose plugins. Verify docker buildx version and docker compose version before starting the stack.

Frontend toolchain

Running P-BitM through Docker does not require Node.js or npm on the host. They are needed only for direct frontend development. The supported range is Node.js ^22.18.0 || >=24.11.0; no exact npm version is imposed. CI follows the current Node.js 24 LTS line. Local development can use any environment in the supported range.

CLI environment

Set app.environment: development in config.yaml, then provision and start:
Development Compose adds MailHog:
  • SMTP: localhost:1025
  • Web UI: http://localhost:8025

Repository boundaries

  • cli/ and p-bitm.py own local lifecycle tooling.
  • server/backend/ is the trusted admin control plane.
  • server/backend-phishing/app/ is the per-campaign service.
  • server/frontend/ is the Vue dashboard.
  • bitm-images/ contains browser runtimes.
  • modules/ contains seedable module definitions.
Do not commit generated .env, DNS secret files, certificates, storage, or campaign artifacts.

Extend assessment behavior

To contribute a new browser assessment capability, follow the attack-vector contribution guide. It explains when to use a Firefox plugin or client module, their runtime contracts, test requirements, and review standard.
Last modified on August 28, 2026