The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.
devias is a command-line tool for working with modules. It reads a manifest, asks the server what would change, and applies it. It never uses a browser session: every command signs in with an API key.
Your manifest file: .ts, .js or .json. It must export manifest, or a default export.
-w, --workspace <id>
The workspace id. Copy it from Settings → General.
-u, --url <url>
DEVIAS_URL
The server. Defaults to http://localhost:3000.
-k, --api-key <key>
DEVIAS_API_KEY
The API key to use.
The key must be allowed to manage modules. A key made in Settings → API keys can only read records, so create the key through the API with permissions: { "module": ["manage"] }.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Devias","description":"Documentation for Devias, an open-source platform that works as an operating system for a business: records, workflows, agents and permissions in a core, with installable modules.","colors":{"primary":"#ececec","light":"#ececec","dark":"#262626"},"logo":{"light":"https://mintcdn.com/devias/TzMNPlq81mH0Qrj7/logo/light.svg?fit=max\u0026auto=format\u0026n=TzMNPlq81mH0Qrj7\u0026q=85\u0026s=fa3245e0f0ee26e11fe29207f25c8f73","dark":"https://mintcdn.com/devias/TzMNPlq81mH0Qrj7/logo/dark.svg?fit=max\u0026auto=format\u0026n=TzMNPlq81mH0Qrj7\u0026q=85\u0026s=24e4cebb92e9d2fa2825624944157ae4","href":"https://devias.io"},"favicon":"https://mintcdn.com/devias/TzMNPlq81mH0Qrj7/favicon.svg?fit=max\u0026auto=format\u0026n=TzMNPlq81mH0Qrj7\u0026q=85\u0026s=bcef90f6fbac3a7d48fd8333e03880e4","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark","strict":true},"background":{"color":{"light":"#0b0b0b","dark":"#0b0b0b"}},"navbar":{"links":[{"icon":"github","href":"https://github.com/devias-io/devias","label":"GitHub"}],"primary":{"type":"button","label":"Get a demo","href":"https://cal.com/alexandru-comanescu/30min"}},"footer":{"socials":{"github":"https://github.com/devias-io/devias"},"links":[{"header":"Devias","items":[{"label":"Quickstart","href":"/quickstart"},{"label":"Build a module","href":"/guides/modules/what-a-module-is"},{"label":"API reference","href":"/reference/api/overview"}]}]},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["The docs are served at https://docs.devias.io. Every path in these docs is relative to that root: /llms.txt is https://docs.devias.io/llms.txt.","Devias is an open-source platform that works as an operating system for a business: a core (records, views, workflows, agents, permissions) with installable modules.","Pages are typed by folder. concepts/ explains what things are, guides/ gives procedures, reference/ is exhaustive (SDK, CLI, HTTP API), operate/ covers hosting. Use /start/glossary for exact terms.","Every id in a module (module, object, field, view, action, workflow, step, connection, variable, event, policy) is a uuid. Generate them with `devias id \u003ccount>`. Never invent dotted or readable ids.","Run `devias plan` and read its output before `devias apply`. Apply only what the plan says.","The OpenAPI document, including the routes of the modules in the reference setup, is at /reference/api/openapi.json.","Devias is young and changes quickly. If a page and the source repository (github.com/devias-io/devias) disagree, the repository is right."]},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"devias","hasAudioNarration":false,"actualSubdomain":"devias","customDomains":["docs.devias.io"],"gitSource":{"type":"github","owner":"devias-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6ae1d37e510da86dd4b6ebfb"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae1d8755ca9b4a2f463417b","collectionId":"3d55a23e-f9c2-4135-8d79-d59b9dfecdd7","liveDeploymentHistoryId":"6ae1d8755ca9b4a2f463417b","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1e7638ffbca5869282758","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Documentation","count":44},{"language":"default","tag":"Guides","count":29},{"language":"default","tag":"Reference","count":17},{"language":"default","tag":"Build a module","count":11},{"language":"default","tag":"Use the studio","count":9},{"language":"default","tag":"Concepts","count":7},{"language":"default","tag":"Customize the studio","count":6},{"language":"default","tag":"HTTP API","count":6},{"language":"default","tag":"CLI","count":6},{"language":"default","tag":"SDK","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--devias-card:#141414;--devias-border:#262626;--devias-muted:#a3a3a3;--devias-pill:rgb(255 255 255 / 0.14)}[class*=max-w-8xl]{max-width:none!important}#content-area{max-width:56rem!important;margin-left:auto!important;margin-right:auto!important}#page-title{font-weight:400;letter-spacing:-.04em}#content-area h2,#content-area h3{font-weight:450;letter-spacing:-.03em}.eyebrow{color:var(--devias-muted);font-weight:450}#topbar-cta-button a{border-radius:6px;padding-left:.875rem}#topbar-cta-button a>span.absolute{background-color:rgb(255 255 255/.9);border-radius:6px}#topbar-cta-button a span,#topbar-cta-button a svg{color:#111}#search-bar-entry,#sidebar-content li>a,.accordion,.callout,.card,.code-block,.frame{border-radius:6px}#sidebar-content li>a:hover{background-color:var(--devias-pill)}[class*=rounded-2xl],[class*=rounded-3xl],[class*=rounded-xl]{border-radius:6px!important}.callout,.card{background-color:var(--devias-card);border-color:var(--devias-border)}.code-block,code,pre{font-family:\"Geist Mono\",ui-monospace,SFMono-Regular,Menlo,monospace}::selection{background-color:#9fe870;color:#111}"}],"page":{"pagePath":"reference/cli/overview","slug":"/reference/cli/overview","pageMetadata":{"title":"devias CLI","sidebarTitle":"Overview","description":"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.","icon":"terminal","href":"/reference/cli/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`devias`}),` is a command-line tool for working with modules. It reads a manifest, asks the server what would change, and applies it. It never uses a browser session: every command signs in with an `,_jsx(_components.strong,{children:`API key`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-it`,children:`Run it`}),`\n`,_jsx(_components.p,{children:`Inside the repository, run the entry point with Node. There is nothing to build.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`node`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` packages/cli/bin/devias.js`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` plan`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -w`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`workspaceI`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`d`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`> `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`-m`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ./src/manifest/index.ts`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`@devias/cli`}),` is a dependency of your project, the same command is available as plain `,_jsx(_components.code,{children:`devias`}),`. The rest of these pages write `,_jsx(_components.code,{children:`devias`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`options-every-command-takes`,children:`Options every command takes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Flag`}),_jsx(_components.th,{children:`Environment variable`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-m, --manifest \u003cpath>`})}),_jsx(_components.td,{}),_jsxs(_components.td,{children:[`Your manifest file: `,_jsx(_components.code,{children:`.ts`}),`, `,_jsx(_components.code,{children:`.js`}),` or `,_jsx(_components.code,{children:`.json`}),`. It must export `,_jsx(_components.code,{children:`manifest`}),`, or a default export.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-w, --workspace \u003cid>`})}),_jsx(_components.td,{}),_jsxs(_components.td,{children:[`The workspace id. Copy it from `,_jsx(_components.strong,{children:`Settings → General`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-u, --url \u003curl>`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DEVIAS_URL`})}),_jsxs(_components.td,{children:[`The server. Defaults to `,_jsx(_components.code,{children:`http://localhost:3000`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-k, --api-key \u003ckey>`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DEVIAS_API_KEY`})}),_jsx(_components.td,{children:`The API key to use.`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The key must be allowed to manage modules. A key made in `,_jsx(_components.strong,{children:`Settings → API keys`}),` can only read records, so create the key through the API with `,_jsx(_components.code,{children:`permissions: { \"module\": [\"manage\"] }`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`commands`,children:`Commands`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Command`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/reference/cli/plan`,children:_jsx(_components.code,{children:`devias plan`})})}),_jsx(_components.td,{children:`Show what would change.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/reference/cli/apply`,children:_jsx(_components.code,{children:`devias apply`})})}),_jsx(_components.td,{children:`Apply the change.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/reference/cli/dev`,children:_jsx(_components.code,{children:`devias dev`})})}),_jsx(_components.td,{children:`Re-apply on every save.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/reference/cli/uninstall`,children:_jsx(_components.code,{children:`devias uninstall`})})}),_jsx(_components.td,{children:`Remove a module.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/reference/cli/id`,children:_jsx(_components.code,{children:`devias id`})})}),_jsx(_components.td,{children:`Generate new ids.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/guides/modules/plan-and-apply`,children:`Plan and apply`}),`: how plans work.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/guides/modules/first-module`,children:`Create a first module`}),`: a procedure that uses the CLI.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"devias CLI","sidebarTitle":"Overview","description":"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.","icon":"terminal","href":"/reference/cli/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Run it","slug":"run-it","depth":2,"children":[]},{"title":"Options every command takes","slug":"options-every-command-takes","depth":2,"children":[]},{"title":"Commands","slug":"commands","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"devias","siteName":"Devias","title":"devias CLI - Devias","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T12:15:50.042Z","originalFileLocation":"reference/cli/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Devias\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"devias CLI - Devias\">\u003cmeta data-mint-head property=\"og:description\" content=\"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Devias\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.devias.io/reference/cli/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://devias.mintlify.app/_mintlify/api/og/v2?division=CLI\u0026amp;title=devias+CLI\u0026amp;description=The+devias+command+previews+and+applies+a+module+manifest+to+a+workspace+from+a+terminal+or+CI.+Lists+the+five+commands+%28plan%2C+apply%2C+dev%2C+uninstall%2C+id%29%2C+the+o\u0026amp;theme=8b96593dedc4192b448c9b37\u0026amp;signature=dd80e3889d26bad653eda6d254b91d8423f4db3781519f2011ca78832318fe5f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"devias CLI - Devias\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://devias.mintlify.app/_mintlify/api/og/v2?division=CLI\u0026amp;title=devias+CLI\u0026amp;description=The+devias+command+previews+and+applies+a+module+manifest+to+a+workspace+from+a+terminal+or+CI.+Lists+the+five+commands+%28plan%2C+apply%2C+dev%2C+uninstall%2C+id%29%2C+the+o\u0026amp;theme=8b96593dedc4192b448c9b37\u0026amp;signature=dd80e3889d26bad653eda6d254b91d8423f4db3781519f2011ca78832318fe5f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/devias/eNKK7yDDLts2v3rX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Devias\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ececec\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.devias.io/reference/cli/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/cli/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.devias.io/#organization\",\"name\":\"Devias\",\"url\":\"https://docs.devias.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/devias/TzMNPlq81mH0Qrj7/logo/light.svg?fit=max\u0026auto=format\u0026n=TzMNPlq81mH0Qrj7\u0026q=85\u0026s=fa3245e0f0ee26e11fe29207f25c8f73\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.devias.io#website\",\"name\":\"Devias\",\"url\":\"https://docs.devias.io\",\"publisher\":{\"@id\":\"https://docs.devias.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.devias.io/reference/cli/overview#webpage\",\"url\":\"https://docs.devias.io/reference/cli/overview\",\"name\":\"devias CLI\",\"description\":\"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\",\"dateModified\":\"2026-10-28T12:15:50.042Z\",\"isPartOf\":{\"@id\":\"https://docs.devias.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.devias.io/reference/cli/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.devias.io/reference/cli/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Devias\",\"item\":\"https://docs.devias.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"devias CLI\",\"item\":\"https://docs.devias.io/reference/cli/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.devias.io/reference/cli/overview#article\",\"headline\":\"devias CLI\",\"name\":\"devias CLI\",\"description\":\"The devias command previews and applies a module manifest to a workspace from a terminal or CI. Lists the five commands (plan, apply, dev, uninstall, id), the options every command takes with their environment variables, how to run it from the repository, and the API key permission it needs.\",\"url\":\"https://docs.devias.io/reference/cli/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.devias.io/reference/cli/overview#webpage\"},\"dateModified\":\"2026-10-28T12:15:50.042Z\",\"publisher\":{\"@id\":\"https://docs.devias.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.devias.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Devias\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Devias","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Reference","groups":[{"group":"SDK","pages":[{"title":"TypeScript SDK","sidebarTitle":"Client","icon":"code","href":"/reference/sdk/client"},{"title":"SDK records and queries","sidebarTitle":"Records and queries","icon":"table","href":"/reference/sdk/records-and-queries"},{"title":"SDK metadata and modules","sidebarTitle":"Metadata and modules","icon":"database","href":"/reference/sdk/metadata-and-modules"},{"title":"SDK events and notifications","sidebarTitle":"Events and notifications","icon":"radio","href":"/reference/sdk/events-and-notifications"},{"title":"SDK mock backend","sidebarTitle":"Mock backend","description":"How to use createMockClient from @devias/sdk/mock, a complete in-memory Devias client with the same interface as the HTTP client. Lists its options (manifests, catalog, latency, persist, members, ai), reset, running the studio on it with VITE_MOCK=1, and testing.","icon":"flask-conical","href":"/reference/sdk/mock-and-testing"}]},{"group":"CLI","pages":[{"title":"devias CLI","sidebarTitle":"Overview","icon":"terminal","href":"/reference/cli/overview"},{"title":"devias plan","description":"devias plan lists every change applying a manifest would make, each marked create, update, delete or conflict, without writing anything. Unchanged items are hidden unless --all is passed. Exits with code 2 when the plan has conflicts and 0 otherwise.","icon":"eye","href":"/reference/cli/plan"},{"title":"devias apply","icon":"check","href":"/reference/cli/apply"},{"title":"devias dev","icon":"refresh-cw","href":"/reference/cli/dev"},{"title":"devias uninstall","icon":"trash-2","href":"/reference/cli/uninstall"},{"title":"devias id","icon":"fingerprint","href":"/reference/cli/id"}]},{"group":"HTTP API","pages":[{"title":"HTTP API","sidebarTitle":"Overview","icon":"terminal","href":"/reference/api/overview"},{"title":"API authentication","sidebarTitle":"Authentication","icon":"key-round","href":"/reference/api/authentication"},{"title":"API errors","sidebarTitle":"Errors","icon":"triangle-alert","href":"/reference/api/errors"},{"title":"Querying records","sidebarTitle":"Querying","icon":"search","href":"/reference/api/querying"},{"title":"Change feed","icon":"radio","href":"/reference/api/change-feed"},{"title":"Module routes","icon":"puzzle","href":"/reference/api/module-routes"}]}]}]},"title":"devias CLI - Devias","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}