[{"data":1,"prerenderedAt":382},["ShallowReactive",2],{"docs-nav":3,"docs:\u002Fdocs\u002Fproject\u002Fcontributing":139},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136],{"path":5,"title":6},"\u002Fdocs\u002Faccess-gating","Protect a local route",{"path":8,"title":9},"\u002Fdocs\u002Farchitecture\u002Fsecurity-and-trust","Security and trust",{"path":11,"title":12},"\u002Fdocs\u002Fconcepts\u002Fbuilds-and-deployments","Build and deploy",{"path":14,"title":15},"\u002Fdocs\u002Fconcepts\u002Fconfiguration-ownership","Where configuration belongs",{"path":17,"title":18},"\u002Fdocs\u002Fconcepts\u002Fenvironments-and-secrets","Environment values and secrets",{"path":20,"title":21},"\u002Fdocs\u002Fconcepts\u002Fmental-model","How projects fit together",{"path":23,"title":24},"\u002Fdocs\u002Fconcepts\u002Fplans-and-apply","Plans and apply",{"path":26,"title":27},"\u002Fdocs\u002Fconcepts\u002Ftargets-and-runtimes","Choose a target and runtime",{"path":29,"title":30},"\u002Fdocs\u002Fcontribute\u002Freleases","Publish a release",{"path":32,"title":33},"\u002Fdocs\u002Fdevelopment-mounts","Development mounts",{"path":35,"title":36},"\u002Fdocs\u002Fgetting-started","Getting started",{"path":38,"title":39},"\u002Fdocs\u002Fhelp\u002Ffaq","FAQ",{"path":41,"title":42},"\u002Fdocs\u002Fhelp\u002Ftroubleshooting","Troubleshooting",{"path":44,"title":45},"\u002Fdocs\u002Fhow-to\u002Fdeploy-production","Prepare a deployment environment",{"path":47,"title":48},"\u002Fdocs\u002Fhow-to\u002Fswarm-cluster","Run on a multi-node Swarm",{"path":50,"title":51},"\u002Fdocs","mm documentation",{"path":53,"title":54},"\u002Fdocs\u002Fjobs-and-schedules","Jobs and schedules",{"path":56,"title":57},"\u002Fdocs\u002Flocal-dashboard","Local dashboard",{"path":59,"title":60},"\u002Fdocs\u002Flocal-https","Local HTTPS",{"path":62,"title":63},"\u002Fdocs\u002Flocal-services","Local services",{"path":65,"title":66},"\u002Fdocs\u002Fmcp","Let an AI agent work on your project",{"path":68,"title":69},"\u002Fdocs\u002Fmulti-project-hosts","Run multiple projects on one host",{"path":71,"title":72},"\u002Fdocs\u002Fonboarding","Set up a project",{"path":74,"title":75},"\u002Fdocs\u002Fopenbao","Use OpenBao",{"path":77,"title":78},"\u002Fdocs\u002Fproject\u002Fcontributing","Contributing",{"path":80,"title":81},"\u002Fdocs\u002Fproject\u002Flicense","License",{"path":83,"title":84},"\u002Fdocs\u002Fproject\u002Fsecurity","Security",{"path":86,"title":87},"\u002Fdocs\u002Freference\u002Fcapability-matrix","Supported features and platforms",{"path":89,"title":90},"\u002Fdocs\u002Freference\u002Fcli","CLI command reference",{"path":92,"title":93},"\u002Fdocs\u002Freference\u002Fconfiguration","Configuration",{"path":95,"title":96},"\u002Fdocs\u002Freference\u002Fenvironment-variables","Environment variables",{"path":98,"title":99},"\u002Fdocs\u002Freference\u002Ferrors-and-exit-codes","Errors and exit codes",{"path":101,"title":102},"\u002Fdocs\u002Freference\u002Fknown-issues","Known limitations",{"path":104,"title":105},"\u002Fdocs\u002Fremote-access","Manage remote access",{"path":107,"title":108},"\u002Fdocs\u002Fremote-daemon","Set up a remote host",{"path":110,"title":111},"\u002Fdocs\u002Fruntime-observability","Status, logs, and commands",{"path":113,"title":114},"\u002Fdocs\u002Fsecret-delivery","Pass secrets to your app",{"path":116,"title":117},"\u002Fdocs\u002Fsecret-providers","Choose a secret store",{"path":119,"title":120},"\u002Fdocs\u002Fstart\u002Finstall","Install mm",{"path":122,"title":123},"\u002Fdocs\u002Fterminal-ui","Terminal UI",{"path":125,"title":126},"\u002Fdocs\u002Ftutorials\u002Fdotnet-web-api",".NET web API example",{"path":128,"title":129},"\u002Fdocs\u002Ftutorials\u002Ffirst-local-app","First local app",{"path":131,"title":132},"\u002Fdocs\u002Ftutorials\u002Flaravel-rust","Laravel and Rust example",{"path":134,"title":135},"\u002Fdocs\u002Ftutorials\u002Fnode-fullstack","Node full stack example",{"path":137,"title":138},"\u002Fdocs\u002Fvault","Use HashiCorp Vault",{"id":140,"title":78,"body":141,"description":375,"extension":376,"meta":377,"navigation":378,"path":77,"seo":379,"stem":380,"__hash__":381},"docs\u002Fdocs\u002Fproject\u002Fcontributing.md",{"type":142,"value":143,"toc":371},"minimark",[144,153,191,196,286,292,296,310,344,354,360,367],[145,146,147,148,152],"p",{},"The repository's ",[149,150,151],"code",{},"CONTRIBUTING.md"," has the full setup instructions and code map.\nRun commands from the repository root. You need Docker for the Rust check\nscripts, plus Node.js 24 and npm 11 for docs and dashboard work.",[154,155,160],"pre",{"className":156,"code":157,"language":158,"meta":159,"style":159},"language-sh shiki shiki-themes mm","docker build -f Dockerfile.cargo -t mm-rust:1.98.0 .\n","sh","",[149,161,162],{"__ignoreMap":159},[163,164,167,171,175,179,182,185,188],"span",{"class":165,"line":166},"line",1,[163,168,170],{"class":169},"svrjQ","docker",[163,172,174],{"class":173},"sv8ni"," build",[163,176,178],{"class":177},"sbRf1"," -f",[163,180,181],{"class":173}," Dockerfile.cargo",[163,183,184],{"class":177}," -t",[163,186,187],{"class":173}," mm-rust:1.98.0",[163,189,190],{"class":173}," .\n",[192,193,195],"h2",{"id":194},"choose-your-checks","Choose your checks",[197,198,199,212],"table",{},[200,201,202],"thead",{},[203,204,205,209],"tr",{},[206,207,208],"th",{},"Change",[206,210,211],{},"Command",[213,214,215,226,236,246,256,266,276],"tbody",{},[203,216,217,221],{},[218,219,220],"td",{},"Documentation",[218,222,223],{},[149,224,225],{},"make docs links",[203,227,228,231],{},[218,229,230],{},"Rust",[218,232,233],{},[149,234,235],{},"make rust deny",[203,237,238,241],{},[218,239,240],{},"Dashboard",[218,242,243],{},[149,244,245],{},"make ui",[203,247,248,251],{},[218,249,250],{},"Generated reference or schemas",[218,252,253],{},[149,254,255],{},"make generated",[203,257,258,261],{},[218,259,260],{},"Release tooling",[218,262,263],{},[149,264,265],{},"make release release-source",[203,267,268,271],{},[218,269,270],{},"Public files",[218,272,273],{},[149,274,275],{},"make public-content",[203,277,278,281],{},[218,279,280],{},"Everything",[218,282,283],{},[149,284,285],{},"make quality",[145,287,288,289,291],{},"Runtime and deployment changes also need the relevant live checks listed in\n",[149,290,151],{},". Run those on a test machine.",[192,293,295],{"id":294},"preview-documentation","Preview documentation",[145,297,298,299,302,303,306,307,309],{},"The documentation is Markdown in ",[149,300,301],{},"docs\u002F",". The website in ",[149,304,305],{},"site\u002F"," renders it\nunder ",[149,308,50],{},":",[154,311,313],{"className":156,"code":312,"language":158,"meta":159,"style":159},"npm --prefix site ci\nnpm --prefix site run dev\n",[149,314,315,329],{"__ignoreMap":159},[163,316,317,320,323,326],{"class":165,"line":166},[163,318,319],{"class":169},"npm",[163,321,322],{"class":177}," --prefix",[163,324,325],{"class":173}," site",[163,327,328],{"class":173}," ci\n",[163,330,332,334,336,338,341],{"class":165,"line":331},2,[163,333,319],{"class":169},[163,335,322],{"class":177},[163,337,325],{"class":173},[163,339,340],{"class":173}," run",[163,342,343],{"class":173}," dev\n",[145,345,346,347,353],{},"Then open ",[348,349,350],"a",{"href":350,"rel":351},"http:\u002F\u002Flocalhost:4317\u002Fdocs",[352],"nofollow",".",[145,355,356,357,353],{},"Write guides around a task: requirements, commands, expected result, and fixes\nfor likely problems. Keep public commands and configuration docs updated with\nthe code. Generate reference files with ",[149,358,359],{},"scripts\u002Fgenerate-artifacts.sh",[145,361,362,363,353],{},"In your PR, explain what changed and which checks ran. Keep credentials out of\nexamples and test output. For publishing, follow the ",[348,364,366],{"href":365},"..\u002Fcontribute\u002Freleases","release guide",[368,369,370],"style",{},"html pre.shiki code .svrjQ, html code.shiki .svrjQ{--shiki-default:var(--mm-code-function)}html pre.shiki code .sv8ni, html code.shiki .sv8ni{--shiki-default:var(--mm-code-string)}html pre.shiki code .sbRf1, html code.shiki .sbRf1{--shiki-default:var(--mm-code-option)}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":159,"searchDepth":331,"depth":331,"links":372},[373,374],{"id":194,"depth":331,"text":195},{"id":294,"depth":331,"text":295},"Set up a checkout and run the checks for your change.","md",{},true,{"title":78,"description":375},"docs\u002Fproject\u002Fcontributing","BNSD1evq_sQw6hz5LtVeFYO_DSetfLulVZyGZuym69w",1794512545912]