{"slug": "building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents", "title": "Building epilot Apps from your terminal, with a little help from AI agents", "summary": "Epilot has released an upgraded CLI that lets developers build and deploy apps from the terminal, with AI agents like Claude able to drive the entire workflow. The CLI includes read-only and anonymized tokens for safe agent access, and new app facades scaffold, develop, and deploy apps directly into the epilot platform.", "body_md": "A few months ago we shipped the **epilot CLI**, and it quietly became one of my favorite tools. One command, `npx epilot`\n\n, gives you every single epilot API operation in your terminal: entities, journeys, workflows, pricing, files, permissions, 50+ APIs.\n\nInteractive pickers if you're exploring, `--json`\n\nand `--no-interactive`\n\nif you're scripting.\n\nIt also turned out to be a perfect match for AI agents like Claude. Agents are great at driving CLIs: they discover operations, read the help, make calls, parse the JSON. No custom integration or MCP server needed, the CLI *is* the integration. And because handing an agent live CRM access is a scary idea, the CLI ships with two safety nets, both enforced server-side:\n\n```\n# A session that physically cannot write. The restriction is baked\n# into the token, so the bearer can't turn it off.\nepilot auth login --readonly\n\n# A token that additionally gets all PII anonymized in every response\nepilot access-token createAccessToken -d '{\n  \"name\": \"AI agent token\",\n  \"read_only\": true,\n  \"anonymize\": true\n}'\n```\n\nRead-only plus anonymized means an agent can explore, analyze and report on your real org all day, and the worst it can do is read data it can't even de-anonymize.\n\nNow we've made the CLI even better. On top of the raw API commands, we added **app facades**: a set of high-level `epilot app`\n\ncommands that take you from an empty folder to a working app installed in your org. And that's what this post is really about, because apps are where the fun is.\n\nepilot is very configurable out of the box: journeys, workflows, automations, pricing. But at some point every team hits a wall, something the UI simply doesn't offer.\n\nThat's what Apps are for. They extend the platform with your own UI and logic, running right inside the product. Everything an app is (its components, configuration and assets) is described in a single `manifest.json`\n\n.\n\nUntil now, getting from \"I have an idea\" to \"it's running in my org\" meant a fair amount of manual manifest-wrangling. The App CLI turns it into four steps.\n\n```\nepilot app init my-app\ncd my-app\n```\n\nYou get a ready-to-go monorepo: the `manifest.json`\n\n, a `components/`\n\nfolder, build tooling already wired up, and a `SKILL.md`\n\nwith instructions written specifically for AI agents (more on that in a minute).\n\n```\nepilot app add-component\n```\n\nAn interactive picker lets you choose what to build:\n\n`CUSTOM_CAPABILITY`\n\n)`CUSTOM_PAGE`\n\n)`CUSTOM_JOURNEY_BLOCK`\n\n)`CUSTOM_PORTAL_BLOCK`\n\n)Each choice lands as a working component from the [ epilot-dev/app-templates](https://github.com/epilot-dev/app-templates) repo, registered in your manifest, ready to build.\n\n```\nepilot app dev --component my-tab\n```\n\nThis is my favorite command: it serves your component from localhost **inside the actual epilot UI**. You edit code locally, hit refresh, and see your tab or widget rendered in the real product, with real data, next to real features. No deploy loop while iterating. When you're done, `epilot app dev --off`\n\nremoves the override.\n\n```\nepilot app validate\nepilot app deploy --dry-run   # see what would change\nepilot app deploy             # ship it\n```\n\n`deploy`\n\nreads the manifest, creates or updates the app, uploads your built assets, and handles versioning for you. If the latest version is already public (and therefore locked), it automatically creates a new one. `epilot app versions`\n\nshows the history.\n\nHere's where the two halves of this story click together.\n\nRemember the `SKILL.md`\n\nthat `epilot app init`\n\nscaffolds? It teaches AI agents the project structure, the manifest format, and the full workflow. Claude Code picks it up automatically. So building an epilot App in 2026 actually looks like this:\n\n```\nepilot app init my-app && cd my-app\nclaude\n```\n\nThen you describe what you want in plain language:\n\n\"Add a custom tab to the contact page that shows all meters linked to the contact, with their last readings in a table.\"\n\nAnd the agent takes it from there:\n\n`SKILL.md`\n\nto understand the project`epilot app add-component`\n\nto scaffold a custom entity tab`epilot app dev`\n\nso you can watch it live inside epilot`epilot app validate`\n\nand `epilot app deploy`\n\nYou review, the agent types. And this isn't just a developer workflow: colleagues who wouldn't call themselves engineers have shipped working apps this way. The CLI does the heavy lifting, the agent does the plumbing, and the human decides what to build.\n\n```\nnpx epilot --help              # explore the CLI\nepilot auth login --readonly   # safe mode for agent sessions\nepilot app init my-first-app   # start building\n```\n\nIf you build something with it, or let Claude build something with it, I'd love to hear how it goes. 🚀", "url": "https://wpnews.pro/news/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents", "canonical_source": "https://dev.to/epilot/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents-5caa", "published_at": "2026-08-13 09:54:12+00:00", "updated_at": "2026-08-13 10:16:22.714045+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-products"], "entities": ["epilot", "Claude", "epilot CLI", "epilot-dev/app-templates"], "alternates": {"html": "https://wpnews.pro/news/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents", "markdown": "https://wpnews.pro/news/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents.md", "text": "https://wpnews.pro/news/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents.txt", "jsonld": "https://wpnews.pro/news/building-epilot-apps-from-your-terminal-with-a-little-help-from-ai-agents.jsonld"}}