[{"data":1,"prerenderedAt":651},["ShallowReactive",2],{"navigation":3,"docs:\u002Feos\u002Fadrs\u002F0004-lint-markdown-in-ci":214,"external-navigation":422},[4,8,201],{"title":5,"path":6,"stem":7},"Documentation","\u002F","README",{"title":9,"path":10,"stem":11,"children":12},"EOS","\u002Feos","eos\u002FREADME",[13,44,121,181],{"title":14,"collapsed":15,"path":16,"stem":17,"children":18,"page":43},"Adrs",true,"\u002Feos\u002Fadrs","eos\u002Fadrs",[19,23,27,31,35,39],{"title":20,"path":21,"stem":22},"Use Turborepo for the EOS monorepo","\u002Feos\u002Fadrs\u002F0001-use-turborepo-for-eos","eos\u002Fadrs\u002F0001-use-turborepo-for-eos",{"title":24,"path":25,"stem":26},"Use Oxc for linting and formatting","\u002Feos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting","eos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting",{"title":28,"path":29,"stem":30},"Lint Markdown and validate links in CI","\u002Feos\u002Fadrs\u002F0004-lint-markdown-in-ci","eos\u002Fadrs\u002F0004-lint-markdown-in-ci",{"title":32,"path":33,"stem":34},"Use Lefthook for repository-managed Git hooks","\u002Feos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks","eos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks",{"title":36,"path":37,"stem":38},"Use Commitlint's conventional configuration","\u002Feos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration","eos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration",{"title":40,"path":41,"stem":42},"Use Nx for EOS task execution","\u002Feos\u002Fadrs\u002F0007-use-nx-for-eos","eos\u002Fadrs\u002F0007-use-nx-for-eos",false,{"title":45,"path":46,"stem":47,"children":48},"Harbourmaster","\u002Feos\u002Fharbourmaster","eos\u002Fharbourmaster\u002FREADME",[49,58,71,96],{"title":50,"path":51,"stem":52,"children":53,"page":43},"Decisions","\u002Feos\u002Fharbourmaster\u002Fdecisions","eos\u002Fharbourmaster\u002Fdecisions",[54],{"title":55,"path":56,"stem":57},"AI-50: GitHub auth and fork pull request policy","\u002Feos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy","eos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy",{"title":59,"path":60,"stem":61,"children":62,"page":43},"Explanation","\u002Feos\u002Fharbourmaster\u002Fexplanation","eos\u002Fharbourmaster\u002Fexplanation",[63,67],{"title":64,"path":65,"stem":66},"The Harbourmaster review pipeline","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline","eos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline",{"title":68,"path":69,"stem":70},"The Harbourmaster shared-action trust boundary","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary","eos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary",{"title":72,"path":73,"stem":74,"children":75,"page":43},"How To","\u002Feos\u002Fharbourmaster\u002Fhow-to","eos\u002Fharbourmaster\u002Fhow-to",[76,80,84,88,92],{"title":77,"path":78,"stem":79},"How to add Harbourmaster reviews to a repository","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository","eos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository",{"title":81,"path":82,"stem":83},"How to build a pilot dashboard","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard","eos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard",{"title":85,"path":86,"stem":87},"How to configure model routing","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing","eos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing",{"title":89,"path":90,"stem":91},"How to request a Harbourmaster review","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review",{"title":93,"path":94,"stem":95},"How to diagnose a Harbourmaster review failure","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review",{"title":97,"path":98,"stem":99,"children":100,"page":43},"Reference","\u002Feos\u002Fharbourmaster\u002Freference","eos\u002Fharbourmaster\u002Freference",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Harbourmaster command-line interface","\u002Feos\u002Fharbourmaster\u002Freference\u002Fcli","eos\u002Fharbourmaster\u002Freference\u002Fcli",{"title":106,"path":107,"stem":108},"Harbourmaster configuration","\u002Feos\u002Fharbourmaster\u002Freference\u002Fconfiguration","eos\u002Fharbourmaster\u002Freference\u002Fconfiguration",{"title":110,"path":111,"stem":112},"Harbourmaster GitHub Action","\u002Feos\u002Fharbourmaster\u002Freference\u002Fgithub-action","eos\u002Fharbourmaster\u002Freference\u002Fgithub-action",{"title":114,"path":115,"stem":116},"Harbourmaster review behavior","\u002Feos\u002Fharbourmaster\u002Freference\u002Freview-behavior","eos\u002Fharbourmaster\u002Freference\u002Freview-behavior",{"title":118,"path":119,"stem":120},"Harbourmaster telemetry","\u002Feos\u002Fharbourmaster\u002Freference\u002Ftelemetry","eos\u002Fharbourmaster\u002Freference\u002Ftelemetry",{"title":72,"path":122,"stem":123,"children":124,"page":43},"\u002Feos\u002Fhow-to","eos\u002Fhow-to",[125,129,133,137,141,145,149,153,157,161,165,169,173,177],{"title":126,"path":127,"stem":128},"How to add an external documentation source","\u002Feos\u002Fhow-to\u002Fadd-external-documentation-source","eos\u002Fhow-to\u002Fadd-external-documentation-source",{"title":130,"path":131,"stem":132},"How to connect SDLC integrations","\u002Feos\u002Fhow-to\u002Fconnect-sdlc-integrations","eos\u002Fhow-to\u002Fconnect-sdlc-integrations",{"title":134,"path":135,"stem":136},"How to consume the EOS plugin marketplace","\u002Feos\u002Fhow-to\u002Fconsume-eos-marketplace","eos\u002Fhow-to\u002Fconsume-eos-marketplace",{"title":138,"path":139,"stem":140},"How to create a spike ticket","\u002Feos\u002Fhow-to\u002Fcreate-spike-ticket","eos\u002Fhow-to\u002Fcreate-spike-ticket",{"title":142,"path":143,"stem":144},"How to finalise a repository change","\u002Feos\u002Fhow-to\u002Ffinalise-change","eos\u002Fhow-to\u002Ffinalise-change",{"title":146,"path":147,"stem":148},"How to install the EOS Docs MCP server","\u002Feos\u002Fhow-to\u002Finstall-eos-docs-mcp","eos\u002Fhow-to\u002Finstall-eos-docs-mcp",{"title":150,"path":151,"stem":152},"How to resolve a spike ticket","\u002Feos\u002Fhow-to\u002Fresolve-spike-ticket","eos\u002Fhow-to\u002Fresolve-spike-ticket",{"title":154,"path":155,"stem":156},"How to run Git hook checks","\u002Feos\u002Fhow-to\u002Frun-git-hook-checks","eos\u002Fhow-to\u002Frun-git-hook-checks",{"title":158,"path":159,"stem":160},"How to use the AI-enabled SDLC","\u002Feos\u002Fhow-to\u002Fuse-ai-enabled-sdlc","eos\u002Fhow-to\u002Fuse-ai-enabled-sdlc",{"title":162,"path":163,"stem":164},"Use the Aikido plugin","\u002Feos\u002Fhow-to\u002Fuse-aikido-plugin","eos\u002Fhow-to\u002Fuse-aikido-plugin",{"title":166,"path":167,"stem":168},"How to use Compass","\u002Feos\u002Fhow-to\u002Fuse-compass","eos\u002Fhow-to\u002Fuse-compass",{"title":170,"path":171,"stem":172},"How to use Fallow","\u002Feos\u002Fhow-to\u002Fuse-fallow","eos\u002Fhow-to\u002Fuse-fallow",{"title":174,"path":175,"stem":176},"How to use incremental mutation tests","\u002Feos\u002Fhow-to\u002Fuse-incremental-mutation-tests","eos\u002Fhow-to\u002Fuse-incremental-mutation-tests",{"title":178,"path":179,"stem":180},"How to use Scout","\u002Feos\u002Fhow-to\u002Fuse-scout","eos\u002Fhow-to\u002Fuse-scout",{"title":97,"path":182,"stem":183,"children":184,"page":43},"\u002Feos\u002Freference","eos\u002Freference",[185,189,193,197],{"title":186,"path":187,"stem":188},"Compass CLI","\u002Feos\u002Freference\u002Fcompass-cli","eos\u002Freference\u002Fcompass-cli",{"title":190,"path":191,"stem":192},"EOS marketplace skills","\u002Feos\u002Freference\u002Fmarketplace-skills","eos\u002Freference\u002Fmarketplace-skills",{"title":194,"path":195,"stem":196},"Nx task execution and cache","\u002Feos\u002Freference\u002Fnx-task-execution","eos\u002Freference\u002Fnx-task-execution",{"title":198,"path":199,"stem":200},"Scout CLI","\u002Feos\u002Freference\u002Fscout-cli","eos\u002Freference\u002Fscout-cli",{"title":202,"path":203,"stem":204,"children":205},"Product engineering","\u002Fproduct-engineering","product-engineering\u002FREADME",[206],{"title":14,"collapsed":15,"path":207,"stem":208,"children":209,"page":43},"\u002Fproduct-engineering\u002Fadrs","product-engineering\u002Fadrs",[210],{"title":211,"path":212,"stem":213},"Codify Engineering Standards as Skills","\u002Fproduct-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills","product-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills",{"page":215,"surround":419},{"id":216,"title":28,"body":217,"config":414,"description":223,"extension":415,"meta":416,"navigation":15,"path":29,"seo":417,"stem":30,"__hash__":418},"docs\u002Feos\u002Fadrs\u002F0004-lint-markdown-in-ci.md",{"type":218,"value":219,"toc":396},"minimark",[220,224,229,232,236,244,247,250,269,273,285,311,326,330,335,352,356,364,368,373,377,380,383,387,390,393],[221,222,223],"p",{},"Date: 2026-07-13",[225,226,228],"h2",{"id":227},"status","Status",[221,230,231],{},"Accepted",[225,233,235],{"id":234},"context","Context",[221,237,238,239,243],{},"EOS contains contributor-facing documentation at the repository root, in the\ncentral ",[240,241,242],"code",{},"docs"," directory, and alongside applications. Formatting mistakes and\nbroken links in these documents make the repository harder to navigate and can\nremain unnoticed until after a change is merged.",[221,245,246],{},"The repository also contains Markdown used as agent instructions, generated\nskills, tool-specific configuration, and release changelogs generated by\nChangesets. Those files follow formats imposed by their consumers and may\nintentionally differ from normal documentation conventions. They are not\nuser-authored documentation and should not require directory-local lint\nconfiguration or be rewritten by documentation tooling.",[221,248,249],{},"We need a CI check that:",[251,252,253,257,260,263,266],"ul",{},[254,255,256],"li",{},"applies consistent Markdown rules to user-authored documentation;",[254,258,259],{},"detects broken local links without depending on external services;",[254,261,262],{},"can be run locally through the repository's mise toolchain;",[254,264,265],{},"keeps the lint and link-checking responsibilities separate;",[254,267,268],{},"excludes agent, generated-skill, dependency, and build-output directories.",[225,270,272],{"id":271},"decision","Decision",[221,274,275,276,280,281,284],{},"We will use ",[277,278,279],"strong",{},"markdownlint-cli2"," to lint Markdown and ",[277,282,283],{},"Lychee"," to validate\nlinks.",[221,286,287,288,291,292,295,296,299,300,295,303,306,307,310],{},"The check uses the recursive ",[240,289,290],{},"**\u002F*.md"," glob with central exclusions for agent\ninstructions, tool-specific content, generated skills, release changelogs,\ndependencies, and build output. The excluded paths include ",[240,293,294],{},".agents",", ",[240,297,298],{},".claude",",\n",[240,301,302],{},".opencode",[240,304,305],{},".apm",", and ",[240,308,309],{},"**\u002FCHANGELOG.md",". All formatter, linter, and\nlink-checker exclusions are configured at the repository root; directory-local\nmarkdownlint files are not used.",[221,312,313,314,317,318,321,322,325],{},"markdownlint-cli2 is installed as a workspace development dependency and is\nconfigured from the repository root. Oxfmt formats Markdown at markdownlint's\ndefault 80-column width and wraps prose automatically. ",[240,315,316],{},"docs:lint"," runs Oxfmt\nand applies supported markdownlint fixes locally, while ",[240,319,320],{},"docs:check"," verifies\nformatting, Markdown rules, and links without changing files. CI runs the same\nread-only Markdown command and validates local links through the official\n",[240,323,324],{},"lycheeverse\u002Flychee-action"," GitHub Action. Lychee runs in offline mode so\nexternal URLs are not requested. Mise installs Lychee for local checks.\nTurborepo exposes the documentation tasks with the repository's other checks.",[225,327,329],{"id":328},"consequences","Consequences",[331,332,334],"h3",{"id":333},"positive","Positive",[251,336,337,340,343,346,349],{},[254,338,339],{},"Documentation formatting and links are checked before changes merge.",[254,341,342],{},"Contributors can run the same checks locally with the repository's standard\ntoolchain.",[254,344,345],{},"One central configuration defines the documentation ownership boundary.",[254,347,348],{},"Agent, generated-skill, and release changelog files are not rewritten by\ndocumentation tooling.",[254,350,351],{},"Linting and link validation can evolve independently.",[331,353,355],{"id":354},"negative","Negative",[251,357,358,361],{},[254,359,360],{},"External URLs are not validated, so an external destination can break without\nfailing CI.",[254,362,363],{},"Agent and generated-skill Markdown is outside the formatting and link-checking\nboundary.",[331,365,367],{"id":366},"neutral","Neutral",[251,369,370],{},[254,371,372],{},"The documentation job is separate from the source-code lint job so failures\nare easier to identify.",[225,374,376],{"id":375},"alternatives-considered","Alternatives considered",[331,378,379],{"id":379},"markdownlint-cli",[221,381,382],{},"markdownlint-cli provides similar linting from the command line. We chose\nmarkdownlint-cli2 because it has straightforward glob and configuration support\nfor a repository-wide CI command and is the current CLI maintained alongside the\nmarkdownlint ecosystem.",[331,384,386],{"id":385},"markdownlint-as-a-library","markdownlint as a library",[221,388,389],{},"Using the underlying library directly would allow a custom Node.js wrapper. We\nrejected this because EOS does not need custom lint orchestration, and owning a\nwrapper would add code without improving the checks.",[331,391,392],{"id":392},"markdown-link-check",[221,394,395],{},"markdown-link-check is a Node.js-based link checker and would keep both tools in\nthe workspace dependency graph. We chose Lychee because it provides a fast local\ncommand and a maintained GitHub Action for CI use.",{"title":397,"searchDepth":398,"depth":398,"links":399},"",3,[400,402,403,404,409],{"id":227,"depth":401,"text":228},2,{"id":234,"depth":401,"text":235},{"id":271,"depth":401,"text":272},{"id":328,"depth":401,"text":329,"children":405},[406,407,408],{"id":333,"depth":398,"text":334},{"id":354,"depth":398,"text":355},{"id":366,"depth":398,"text":367},{"id":375,"depth":401,"text":376,"children":410},[411,412,413],{"id":379,"depth":398,"text":379},{"id":385,"depth":398,"text":386},{"id":392,"depth":398,"text":392},{},"md",{},{"title":28,"description":223},"T1Pw6BI9O30n8VGrBiP1MbmssnuJbB5KRzwdOgxPg88",[420,421],{"title":24,"path":25,"stem":26,"children":-1},{"title":32,"path":33,"stem":34,"children":-1},[423,476],{"nav":424,"source":473},[425],{"title":426,"path":427,"stem":428,"children":429,"page":-1},"Ember","\u002Fember","ember",[430,433,465,469],{"title":431,"path":427,"stem":432},"StoreFront Documentation","ember\u002Findex",{"title":14,"path":434,"stem":435,"children":436,"page":43},"\u002Fember\u002Fadrs","ember\u002Fadrs",[437,441,445,449,453,457,461],{"title":438,"path":439,"stem":440},"Add Infection as a non-blocking mutation testing tool for Ember","\u002Fember\u002Fadrs\u002F0001-infection-mutation-testing","ember\u002Fadrs\u002F0001-infection-mutation-testing",{"title":442,"path":443,"stem":444},"Process DELETE scheduled changes before CREATE_UPDATE at the same instant","\u002Fember\u002Fadrs\u002F0002-scheduled-change-processing-order","ember\u002Fadrs\u002F0002-scheduled-change-processing-order",{"title":446,"path":447,"stem":448},"Standard rate scheduling is permanent until overridden","\u002Fember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent","ember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent",{"title":450,"path":451,"stem":452},"Promotions require an existing standard rate","\u002Fember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate","ember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate",{"title":454,"path":455,"stem":456},"UTC datetime contract between Storefront and Hub","\u002Fember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub","ember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub",{"title":458,"path":459,"stem":460},"Elapsed unprocessed scheduled changes do not block rate changes","\u002Fember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes","ember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes",{"title":462,"path":463,"stem":464},"ADR-0007: Delete ConfigureTenantAuth routing command once OIDC setup migrates to Hub","\u002Fember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command","ember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command",{"title":466,"path":467,"stem":468},"Domain Overview","\u002Fember\u002Fdomain_overview","ember\u002Fdomain_overview",{"title":470,"path":471,"stem":472},"Main Flows","\u002Fember\u002Fkey_flows","ember\u002Fkey_flows",{"collectionName":474,"label":475,"prefix":428},"external_ember","StoreFront (Ember)",{"nav":477,"source":649},[478],{"title":479,"path":480,"stem":481,"children":482,"page":-1},"Core","\u002Fcore","core",[483,486,514,518,540,544,554,571,628,632],{"title":484,"path":480,"stem":485},"Documentation Index","core\u002Findex",{"title":14,"path":487,"stem":488,"children":489,"page":43},"\u002Fcore\u002Fadrs","core\u002Fadrs",[490,494,498,502,506,510],{"title":491,"path":492,"stem":493},"ADR-XXXX: Short, descriptive title","\u002Fcore\u002Fadrs\u002F0000-template","core\u002Fadrs\u002F0000-template",{"title":495,"path":496,"stem":497},"ADR-1: Promotions endpoint","\u002Fcore\u002Fadrs\u002F0001-add-promotions-endpoint","core\u002Fadrs\u002F0001-add-promotions-endpoint",{"title":499,"path":500,"stem":501},"ADR-2: EOM partner report job dispatch","\u002Fcore\u002Fadrs\u002F0002-eom-report-job-dispatch","core\u002Fadrs\u002F0002-eom-report-job-dispatch",{"title":503,"path":504,"stem":505},"ADR-3: Replace PB fee waive flag with a Zero scheme override","\u002Fcore\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme","core\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme",{"title":507,"path":508,"stem":509},"ADR-4: No processor Digital Top-up capability gate in Reloadable Commercials","\u002Fcore\u002Fadrs\u002F0004-no-processor-top-up-capability-gate","core\u002Fadrs\u002F0004-no-processor-top-up-capability-gate",{"title":511,"path":512,"stem":513},"ADR-5: Sparse polymorphic sale fee override reason stamp","\u002Fcore\u002Fadrs\u002F0005-sale-fee-override-reason-stamp","core\u002Fadrs\u002F0005-sale-fee-override-reason-stamp",{"title":515,"path":516,"stem":517},"Agent Workflow","\u002Fcore\u002Fai-workflow","core\u002Fai-workflow",{"title":519,"path":520,"stem":521,"children":522,"page":-1},"Backend Guide","\u002Fcore\u002Fbackend","core\u002Fbackend\u002Findex",[523,524,528,532,536],{"title":519,"path":520,"stem":521},{"title":525,"path":526,"stem":527},"Backend AI Tooling","\u002Fcore\u002Fbackend\u002Fai-tooling","core\u002Fbackend\u002Fai-tooling",{"title":529,"path":530,"stem":531},"Backend Linting and Formatting","\u002Fcore\u002Fbackend\u002Flinting-and-formatting","core\u002Fbackend\u002Flinting-and-formatting",{"title":533,"path":534,"stem":535},"Backend Setup","\u002Fcore\u002Fbackend\u002Fsetup","core\u002Fbackend\u002Fsetup",{"title":537,"path":538,"stem":539},"Backend Testing","\u002Fcore\u002Fbackend\u002Ftesting","core\u002Fbackend\u002Ftesting",{"title":541,"path":542,"stem":543},"Documentation Health","\u002Fcore\u002Fdoc-health","core\u002Fdoc-health",{"title":545,"path":546,"stem":547,"children":548,"page":-1},"Frontend Guide","\u002Fcore\u002Ffrontend","core\u002Ffrontend\u002Findex",[549,550],{"title":545,"path":546,"stem":547},{"title":551,"path":552,"stem":553},"Frontend Development","\u002Fcore\u002Ffrontend\u002Fdevelopment","core\u002Ffrontend\u002Fdevelopment",{"title":555,"path":556,"stem":557,"children":558,"page":43},"Modules","\u002Fcore\u002Fmodules","core\u002Fmodules",[559,563],{"title":560,"path":561,"stem":562},"Connect API","\u002Fcore\u002Fmodules\u002Fconnect-api","core\u002Fmodules\u002Fconnect-api",{"title":564,"path":565,"stem":566,"children":567,"page":43},"Secure Links","\u002Fcore\u002Fmodules\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links",[568],{"title":564,"path":569,"stem":570},"\u002Fcore\u002Fmodules\u002Fsecure-links\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links\u002Fsecure-links",{"title":572,"path":573,"stem":574,"children":575,"page":43},"Processors","\u002Fcore\u002Fprocessors","core\u002Fprocessors",[576,580,584,588,592,596,600,604,608,612,616,620,624],{"title":577,"path":578,"stem":579},"Amazon Processor and API","\u002Fcore\u002Fprocessors\u002Famazon","core\u002Fprocessors\u002Famazon",{"title":581,"path":582,"stem":583},"Amilon Processor and API","\u002Fcore\u002Fprocessors\u002Familon","core\u002Fprocessors\u002Familon",{"title":585,"path":586,"stem":587},"Cadooz Processor and API","\u002Fcore\u002Fprocessors\u002Fcadooz","core\u002Fprocessors\u002Fcadooz",{"title":589,"path":590,"stem":591},"Choice Digital Processor and API","\u002Fcore\u002Fprocessors\u002Fchoice-digital","core\u002Fprocessors\u002Fchoice-digital",{"title":593,"path":594,"stem":595},"Diggecard processor reference","\u002Fcore\u002Fprocessors\u002Fdiggecard","core\u002Fprocessors\u002Fdiggecard",{"title":597,"path":598,"stem":599},"ePay Processor and API","\u002Fcore\u002Fprocessors\u002Fepay","core\u002Fprocessors\u002Fepay",{"title":601,"path":602,"stem":603},"GoGift v2 Processor and API","\u002Fcore\u002Fprocessors\u002Fgo-gift-v2","core\u002Fprocessors\u002Fgo-gift-v2",{"title":605,"path":606,"stem":607},"InComm Processor and API","\u002Fcore\u002Fprocessors\u002Fincomm","core\u002Fprocessors\u002Fincomm",{"title":609,"path":610,"stem":611},"Ogloba Processor and API","\u002Fcore\u002Fprocessors\u002Fogloba","core\u002Fprocessors\u002Fogloba",{"title":613,"path":614,"stem":615},"SVSECard Processor and API","\u002Fcore\u002Fprocessors\u002Fsvs-ecard","core\u002Fprocessors\u002Fsvs-ecard",{"title":617,"path":618,"stem":619},"Vananam Processor and API","\u002Fcore\u002Fprocessors\u002Fvananam","core\u002Fprocessors\u002Fvananam",{"title":621,"path":622,"stem":623},"Vouchers Depot processor reference","\u002Fcore\u002Fprocessors\u002Fvouchers-depot","core\u002Fprocessors\u002Fvouchers-depot",{"title":625,"path":626,"stem":627},"You Got a Gift Processor and API","\u002Fcore\u002Fprocessors\u002Fyou-got-a-gift","core\u002Fprocessors\u002Fyou-got-a-gift",{"title":629,"path":630,"stem":631},"Development Quickstart","\u002Fcore\u002Fsetup","core\u002Fsetup",{"title":633,"path":634,"stem":635,"children":636,"page":43},"Workflows","\u002Fcore\u002Fworkflows","core\u002Fworkflows",[637,641,645],{"title":638,"path":639,"stem":640},"Hub Endpoint Workflow","\u002Fcore\u002Fworkflows\u002Fhub-endpoints","core\u002Fworkflows\u002Fhub-endpoints",{"title":642,"path":643,"stem":644},"OpenAPI Tooling","\u002Fcore\u002Fworkflows\u002Fopenapi-tooling","core\u002Fworkflows\u002Fopenapi-tooling",{"title":646,"path":647,"stem":648},"Processor Integration Workflow","\u002Fcore\u002Fworkflows\u002Fprocessors","core\u002Fworkflows\u002Fprocessors",{"collectionName":650,"label":479,"prefix":481},"external_core",1789777546825]