This file provides a quick-start guide for AI agents working with the Roomote codebase.
Roomote is a product centered on Roomote agents. Those agents are the core user-facing product: they can be configured in the web app, triggered from the web UI, and interacted with through integrations such as Slack, Teams, Telegram, Linear, and GitHub.
This repository is open source. Treat GitHub and other public surfaces as fully public:
- Do not put customer names, customer data, private deployment details, secrets, credentials, or internal maintainer discussion into commits, PR titles/bodies, PR/issue comments, review replies, or other public artifacts.
- Prefer private channels (for example Slack or the task UI) for anything that is customer-specific, confidential, or only meaningful as internal discussion.
- When writing public text, keep it general enough for an open-source audience and omit private context even when it was available in the private task thread.
mise install && pnpm install(requires mise for repo tool versions)- Treat
miseas the default toolchain for repo-managed commands likenode,npm,pnpm,uv, andpython - If a tool is missing or resolves to the wrong version, run
mise installand retry withmise exec -- <command> - Requires Docker Engine with Compose for database, Redis, and artifact-storage containers (Docker Desktop on macOS also works), ngrok for tunneling
pnpm dev— Start all services locally (PM2-managed)pnpm dev --reset— Start with database resetpm2 logs [service-name]/pm2 status— Process management
pnpm lint— Prettier format check + ESLint across workspacespnpm check-types— TypeScript type checkingpnpm format— Prettier formatting
pnpm test— Vitest across all workspaces- Targeted tests:
pnpm exec dotenvx run -f .env.test -- pnpm --filter <package> exec vitest run path/to/file.test.ts - If
pnpmis missing or resolves to the wrong version, runmise installand retry the command withmise exec -- pnpm lint && pnpm check-types— Full static analysispnpm lint:fast && pnpm check-types:fast && pnpm knip— Matches the pre-push hookpnpm check— Runs lint + check-types + test + knip- If
pnpm lintfails because of formatting, runpnpm formatand rerunpnpm lint - Pre-commit hooks:
lint-staged. Pre-push:pnpm lint:fast+pnpm check-types:fast+pnpm knip.
- When a skill path is needed, treat repository-root-relative paths as checked-in source files. In this repo that includes
.agents/skills/...andpackages/cloud-agents/src/server/workflows/skills/.... - Treat absolute home-directory skill paths such as
/home/roomote/.agents/skills/...as activated or installed runtime copies, not as the checked-in source of truth for repository changes. - Treat workflow prompts and instructions as a first-class control surface. When agent behavior is off, debug prompt clarity before defaulting to code enforcement.
apps/docs/is the public product documentation site (published athttps://docs.roomote.dev) and should be kept in sync with user-facing product changes.