Skip to main content
Glama
vikram-vn
by vikram-vn

CPQ-BML VS Code Extension

A high-performance, feature-rich development environment for Oracle CPQ BigMachines Language (BML). Built for CPQ developers, architects, and AI pair-programmers.


⚡ Quick Start: Key Capabilities & Documentation

For complete architectural blueprints, Control Flow Graphs (CFGs), and code examples, explore our Knowledge Base:

Feature Area

Description

Deep Dive Guide

🔍 Cloud Property Inspector

Dedicated React 19 + Pure CSS inspector panel for Actions, Attributes, Integrations, Transactions, and Parts. Fast search, cursor code injection, and read-only virtual JSON docs (cpq-cloud://) preventing dirty unsaved buffers.

Cloud Inspector Guide

🕸 Visual Dependency & Blast Radius Graph

Full-topology interactive dependency visualizer powered by Cytoscape.js and React 19. Traces caller/callee trees and calculates blast radius impact across BML libraries, commerce actions, and rules.

Advanced Architectures

💡 IntelliSense & Autocomplete

Workspace util library suggestions (util.pricing.), BMQL $var dynamic completion, parameter signatures, Call Hierarchy (Shift+Alt+H), and F12 Go to Definition.

IntelliSense Guide

🛠 BML Beautifier & Formatter

Deterministic 4-stage formatting, brace styles (collapse/expand), minimal range diffing, on-type formatting, and .bmlbeautifyrc.

Beautifier Guide

🔍 Real-Time Security & Linter

Real-time squiggles and Alt+Enter Quick-Fixes for BMQL injection risks, queries in loops, unbounded while loops, and type validation.

Linter Guide

⚡ BML Logic Scratchpad

Offline interactive sandbox to test pure BML algorithms (math, string manipulation, dates, dict, json) and view print logs instantly.

Scratchpad

🤖 Model Context Protocol (MCP)

Seamless multi-client MCP auto-registration for Cursor, Copilot, Google Antigravity, Claude Desktop, and ChatGPT.

MCP Server Guide

☁ Safe Cloud Sync & 3-Way Diff

OAuth2/Basic Auth client, side-by-side diff review on pull conflicts, and live debug streaming to CPQ DevKit Terminal.

REST API Guide

🏗 BML & BMQL Scaffolding

Explorer context scaffolding for library functions with docHeaders and -meta.json sidecars, plus parameterized BMQL queries.

Scaffolding

🚦 CI/CD Security Audit

Workspace-wide BML security and quality audit via MCP audit_bml_code tool — detects BMQL injection risks, queries in loops, and failing quality scores.

Linter Guide

⚙ Interactive Settings Panel

Webview UI dashboard for managing environments, credentials, formatter options, MCP traffic inspection, and diagnostics.

Settings Panel Guide

🔤 Smart Spell Checker

Morphological inflection analyzer and domain dictionary designed for BML identifiers and comments.

Spell Check Guide

📄 XSLT & XML Subsystem

Document Engine XSL template formatting, XPath 1.0 autocompletion, and BML transformxml() integration.

XSLT Guide

📊 Code Quality & Metrics

McCabe Cyclomatic Complexity, Halstead Software Science, Maintainability Index (MI), and visual dashboard.

Metrics Guide


Related MCP server: Coding Tools MCP

⌨ Key Shortcuts & Common Commands

Action

Shortcut (Windows/Linux)

Shortcut (macOS)

Command Palette (Ctrl/Cmd+Shift+P)

Format Document

Shift+Alt+F

Shift+Option+F

Format Document

Call Hierarchy

Shift+Alt+H

Shift+Option+H

Show Call Hierarchy

Go to Definition

F12

F12

Go to Definition

Find All References

Shift+F12

Shift+F12

Find All References

Quick Fix / Lightbulb

Ctrl+.

Cmd+.

Quick Fix...

Architecture & Blast Radius Graph

-

-

CPQ-BML: Open Architecture & Blast Radius Dependency Graph

Inspect Cloud Component

-

-

CPQ-BML: Inspect Component / Action / Attribute

Open BML Scratchpad

-

-

CPQ-BML: Open BML Logic Scratchpad (Offline Sandbox)

Run BML Script Locally

-

-

CPQ-BML: Run BML Script Locally (Scratchpad)

Scaffold Library Function

-

-

CPQ-BML: Scaffold New Library Function (with -meta.json sidecar)

Scaffold BMQL Query

-

-

CPQ-BML: Scaffold Parameterized BMQL Query

Switch Environment

-

-

CPQ-BML: Switch Active CPQ Environment

Export Team Profiles

-

-

CPQ-BML: Export Team Profiles (cpq/profiles.json)

Open Settings Panel

-

-

CPQ-BML: Open Settings

Show Code Metrics

-

-

BML: Show Code Metrics

Pull Function from CPQ

-

-

CPQ: Pull Function

Debug Function Remotely

-

-

CPQ: Debug Function

Deploy Function

-

-

CPQ: Deploy Current Util Function to CPQ


⚙ Configuration Setup

Configure your CPQ environments in .env (workspace root) or through the Settings Panel (CPQ-BML: Open Settings):

# Oracle CPQ Cloud Environment Setup (.env)
CPQ_SITE_URL=https://sitename.oracle.com
CPQ_USERNAME=api_developer
CPQ_PASSWORD=YourPasswordHere!
CPQ_AUTH_METHOD=basic
CPQ_REST_VERSION=v17
CPQ_COMMERCE_PROCESS=oraclecpqo
CPQ_COMMERCE_DOCUMENT=transaction

To customize formatting options across your project, create a .bmlbeautifyrc file:

{
  "indent_size": 4,
  "brace_style": "collapse",
  "space_before_conditional": true,
  "preserve_newlines": true,
  "max_preserve_newlines": 2,
  "uppercase_reserved_words": true
}

💻 Local Development & Contributions

# Clone the repository
git clone https://github.com/vikram-vn/cpq-bml.git
cd cpq-bml

# Install dependencies
npm install

# Compile the extension bundle
npm run compile

Press F5 in VS Code to launch the Extension Development Host.

📐 Architectural & Code Quality Standards

  • File Length Constraint: No JavaScript file in the codebase may exceed 500 lines of code. Enforced via node scripts/check-rules.js.

  • Module Aliasing: All internal requires in app/ use @/ alias resolution via scripts/register-alias.js. Direct relative paths (./ or ../) are strictly prohibited.

  • Webview Tech Stack: All webview user interfaces (Inspector, Architecture Graph, Settings Panel) are built exclusively in React 19 and Pure CSS, compiled via esbuild. No raw CSS strings in JS.


📄 License & Disclaimer

  • License: Licensed under the MIT License.

  • Disclaimer: This extension is an independent open-source tool and is not affiliated with or endorsed by Oracle Corporation.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to perform Business Central AL development tasks including language server operations, container management, Git version control, and file system operations for professional BC development workflows.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to develop within a local project workspace by reading and modifying files, running commands and tests, checking Git state, and persisting progress as history sessions that can be restored in later conversations.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI clients to safely read, search, understand, and edit local project code and files, with Git inspection, code indexing, and controlled command execution within permissioned workspaces.
    2 npm
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI clients like ChatGPT or Codex to manage files and local Git repositories within an explicitly authorized workspace, with server-enforced path boundary checks and optional remote Git operations.
    18
    1
    MIT