{
  "schemaVersion": "1.0",
  "entityFamily": "sub-modules",
  "entityType": "DefinedTerm",
  "entityId": "sub-modules:32",
  "canonicalUrl": "https://babadook.tech/sub-modules/developer-experience",
  "machineBaseUrl": "https://babadook.tech/ai/sub-modules/developer-experience",
  "name": "Developer Experience",
  "aliases": [],
  "summary": "CLI, LSP integration, editor extensions, and framework-agnostic SDKs for productive DXP development.",
  "description": [
    "Developer-facing tools including CLI, Language Server Protocol integration, editor extensions, and framework-agnostic SDKs that make building on DXP productive and enjoyable. Developer Experience provides the toolchain that makes DXP feel native to any developer workflow."
  ],
  "sections": [
    {
      "id": "built-by-developers-for-developers-027379cb-cf5f-417c-b38a-fcdd4873fcad",
      "heading": "Built by Developers, for Developers",
      "body": [
        "subtitle: A platform that respects your workflow — CLI-first, LSP-powered, and framework-agnostic."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "dxp-cli-1",
          "heading": "DXP CLI",
          "body": [
            "desc: Project scaffolding, local dev server, deployment, and content management from the terminal."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "lsp-integration-2",
          "heading": "LSP Integration",
          "body": [
            "desc: IntelliSense for DQL, content types, component props, and API endpoints in any editor."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "editor-extensions-3",
          "heading": "Editor Extensions",
          "body": [
            "desc: First-party extensions for VS Code, JetBrains, and Neovim with inline previews."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "framework-sdks-4",
          "heading": "Framework SDKs",
          "body": [
            "desc: TypeScript, JavaScript, Python, Go, and Rust SDKs with full type safety."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "product_showcase",
      "sourceBlockId": "027379cb-cf5f-417c-b38a-fcdd4873fcad"
    },
    {
      "id": "your-workflow-your-way-e2ec6b6a-be9c-4338-87f8-b5a319f11381",
      "heading": "your-workflow,-your-way",
      "body": [
        "Your Workflow, Your Way The DXP CLI handles every lifecycle stage: create a project with scaffolding templates, run a local dev server with hot-reload and content preview, manage content types and entries from the terminal, and deploy to any environment with a single command. The Language Server Protocol integration provides real-time IntelliSense for DQL queries, content type definitions, component props, API endpoints, and configuration files. Errors are caught as you type, not at build time. Hover documentation shows field types, descriptions, and validation rules inline. Framework SDKs provide fully-typed client libraries for TypeScript, JavaScript, Python, Go, and Rust. Every SDK is auto-generated from the DXP API schema, so types are always in sync with the backend. Breaking changes are detected at compile time, not in production."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "e2ec6b6a-be9c-4338-87f8-b5a319f11381"
    },
    {
      "id": "developer-experience-specifications-2ea1f450-71e1-4d5d-a3ee-f41a2a63cfed",
      "heading": "Developer Experience Specifications",
      "body": [],
      "specifications": [
        {
          "label": "CLI Commands",
          "value": "create, dev, build, deploy, content, schema, migrate",
          "group": "spec Items"
        },
        {
          "label": "LSP Features",
          "value": "IntelliSense, diagnostics, hover docs, go-to-definition, rename",
          "group": "spec Items"
        },
        {
          "label": "Editor Support",
          "value": "VS Code, JetBrains (IntelliJ, WebStorm), Neovim, Zed",
          "group": "spec Items"
        },
        {
          "label": "SDK Languages",
          "value": "TypeScript, JavaScript, Python, Go, Rust",
          "group": "spec Items"
        },
        {
          "label": "Local Dev",
          "value": "Hot-reload, content preview, API mocking, seed data",
          "group": "spec Items"
        },
        {
          "label": "Type Generation",
          "value": "Auto-generated from API schema with zero config",
          "group": "spec Items"
        },
        {
          "label": "Package Format",
          "value": "@dxp/* npm packages + PyPI + Go modules + crates.io",
          "group": "spec Items"
        }
      ],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "product_specification",
      "sourceBlockId": "2ea1f450-71e1-4d5d-a3ee-f41a2a63cfed"
    },
    {
      "id": "faq-section-0d84afd3-d780-4e11-abfd-ccb0ff623bdc",
      "heading": "faq section",
      "body": [],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "Which editors are supported by the LSP?",
            "The DXP Language Server works with any editor that supports LSP: VS Code, JetBrains IDEs (IntelliJ, WebStorm, PhpStorm), Neovim, Zed, Sublime Text, and Emacs. First-party extensions for VS Code, JetBrains, and Neovim provide the deepest integration."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "Can I use DXP with an existing framework like Next.js or Nuxt?",
            "Yes. DXP provides framework adapters for Next.js, Nuxt, Remix, Astro, SvelteKit, and vanilla React/Vue. The adapters handle data fetching, preview mode, and incremental static regeneration with zero configuration."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "How are SDKs kept in sync with the API?",
            "SDKs are auto-generated from the DXP API schema. When you add a content type or change a field, regenerating the SDK updates all types automatically. CI/CD pipelines can include type generation as a build step."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-4-4",
          "heading": "Section 4",
          "body": [
            "Is there a local development experience?",
            "Yes. The DXP CLI starts a local dev server with hot-reload, content preview, API mocking, and seed data loading. You can develop and test offline with full functionality."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "faq_section",
      "sourceBlockId": "0d84afd3-d780-4e11-abfd-ccb0ff623bdc"
    },
    {
      "id": "features-5",
      "heading": "features",
      "body": [
        "cli: true",
        "lsp: true",
        "sdks: true",
        "extensions: true"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "features"
    }
  ],
  "specifications": [],
  "claims": [],
  "relationships": [
    {
      "type": "products",
      "targets": [
        {
          "id": "83",
          "family": "products",
          "name": "DXP",
          "slug": "dxp",
          "canonicalUrl": "https://babadook.tech/products/dxp",
          "relationship": "products"
        }
      ]
    },
    {
      "type": "modules",
      "targets": [
        {
          "id": "69",
          "family": "modules",
          "name": "DXP CLI & SDK",
          "slug": "dxp-cli-sdk",
          "canonicalUrl": "https://babadook.tech/modules/dxp-cli-sdk",
          "relationship": "modules"
        },
        {
          "id": "71",
          "family": "modules",
          "name": "Editor Extensions",
          "slug": "editor-extensions",
          "canonicalUrl": "https://babadook.tech/modules/editor-extensions",
          "relationship": "modules"
        },
        {
          "id": "72",
          "family": "modules",
          "name": "Framework Compatibility",
          "slug": "framework-compatibility",
          "canonicalUrl": "https://babadook.tech/modules/framework-compatibility",
          "relationship": "modules"
        },
        {
          "id": "70",
          "family": "modules",
          "name": "Language Server",
          "slug": "language-server",
          "canonicalUrl": "https://babadook.tech/modules/language-server",
          "relationship": "modules"
        }
      ]
    },
    {
      "type": "deployment_types",
      "targets": [
        {
          "id": "36",
          "family": "deployment-type",
          "name": "Air-Gapped",
          "slug": "air-gapped",
          "relationship": "deployment_types"
        },
        {
          "id": "38",
          "family": "deployment-type",
          "name": "Cloud (SaaS)",
          "slug": "cloud-saas",
          "relationship": "deployment_types"
        },
        {
          "id": "3",
          "family": "deployment-type",
          "name": "Self-Hosted",
          "slug": "self-hosted",
          "relationship": "deployment_types"
        }
      ]
    }
  ],
  "authors": [],
  "media": [],
  "regulatoryContext": {
    "exportControlAndLicensingReviewRequired": false
  },
  "language": "en",
  "receipt": {
    "sourceBlockCount": 14,
    "projectedBlockCount": 14,
    "sourceValueCount": 40,
    "projectedValueCount": 40,
    "sourceRelationshipCount": 8,
    "projectedRelationshipCount": 8,
    "sourceClaimCount": 0,
    "projectedClaimCount": 0,
    "unknownBlockTypes": [],
    "omittedFields": [],
    "missingValuePaths": [],
    "invalidClaims": [],
    "complete": true
  },
  "contentHash": "f9534d5c29c82219324f57d00e15b0df0247175ed3c31e6804fb47678bf53310"
}