### Project Setup and Testing Commands Source: https://github.com/kortix-ai/suna/blob/main/CONTRIBUTING.md Use these commands for initial setup and running various test suites locally. 'make install' installs dependencies and Playwright, while 'make fast' runs a quick local loop of linting, type checking, unit, and smoke tests. ```bash make install # test deps + Playwright browser make fast # lint + typecheck + unit + smoke (the local loop) make # unit | integration | api | contract | smoke | e2e | visual | a11y | # performance | security | migration | infra | chaos | mutation | pentest make gates # evaluate quality gates over test-results/ ``` -------------------------------- ### Install and Run Whitelabel Demo Source: https://github.com/kortix-ai/suna/blob/main/apps/whitelabel-demo/README.md Installs project dependencies and starts the development server for the whitelabel demo. Configure the API URL and port as needed. ```bash pnpm install NEXT_PUBLIC_KORTIX_API_URL=https://api.kortix.com/v1 \ WHITELABEL_PORT=3010 pnpm --filter @kortix/whitelabel-demo dev ``` -------------------------------- ### Install Dependencies and Start Local Stack Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/development.mdx Installs project dependencies and starts the full local development stack, including the web interface, API, local Supabase, and tunnel. ```sh pnpm install pnpm dev # full LOCAL stack (web + API + local Supabase + tunnel) ``` -------------------------------- ### Kortix CLI Usage Examples Source: https://github.com/kortix-ai/suna/blob/main/apps/cli/README.md Demonstrates various ways to use the Kortix CLI, including interactive project creation, specifying a project name, and starting the self-hosted cloud. ```sh kortix # prompt for a project name, then create ``` ```sh kortix my-project # use the given name, no prompt ``` ```sh kortix self-host start # run your own Kortix Cloud from Docker images ``` -------------------------------- ### Install Dependencies and Run Development Server Source: https://github.com/kortix-ai/suna/blob/main/README.md Commands for setting up the development environment, including installing dependencies, running the web and API servers, building the sandbox, and tearing down the Docker environment. ```bash pnpm install pnpm dev # web + API (scripts/dev-local.sh) pnpm dev:web # web app only pnpm dev:api # API only pnpm dev:sandbox # build the local sandbox image pnpm build # build all packages pnpm nuke # tear down the local Docker environment ``` -------------------------------- ### pnpm worktree create Command Usage Source: https://github.com/kortix-ai/suna/blob/main/scripts/worktree/README.md This command creates a new worktree, installs dependencies, allocates ports, and starts the application stack. It can optionally create and start a separate Supabase project with the `--db` flag. Re-running the command is idempotent and will resume setup if interrupted. ```bash pnpm worktree create --name [--branch b] [--from main] [--db] [--no-start] [--yes] ``` -------------------------------- ### Get Core Agent Browser Skills Source: https://github.com/kortix-ai/suna/blob/main/packages/starter/templates/marketplace/runtime/skills/agent-browser/SKILL.md Load the core workflows, common patterns, and troubleshooting guides for agent-browser. This is the starting point for using the CLI. ```bash agent-browser skills get core ``` -------------------------------- ### Get Full Agent Browser Skills Reference Source: https://github.com/kortix-ai/suna/blob/main/packages/starter/templates/marketplace/runtime/skills/agent-browser/SKILL.md Load the complete command reference and templates for agent-browser, including all available options and examples. ```bash agent-browser skills get core --full ``` -------------------------------- ### Install and log in to the CLI on your laptop Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/cli.mdx Install the CLI using a curl script and authenticate by running `kortix login`, which opens a browser for authorization. The local CLI uses a user-scoped token stored at `~/.config/kortix/config.json`. ```sh curl -fsSL https://kortix.com/install | bash ``` ```sh kortix login # opens browser, you click Authorize ``` -------------------------------- ### Start and List Sessions Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/guides/using-the-cli.mdx Starts a new session with an optional initial prompt and lists all existing sessions. Useful for initiating and monitoring work environments. ```sh kortix sessions new --prompt "Audit the auth module and propose a fix" ``` ```sh kortix sessions ls ``` -------------------------------- ### Start Self-Hosted Kortix Instance Source: https://github.com/kortix-ai/suna/blob/main/README.md Use this command to start a local instance of Kortix for self-hosting. It configures the CLI to use the local host. ```bash kortix self-host start kortix hosts use local # ↔ kortix hosts use cloud ``` -------------------------------- ### Clone and Install Dependencies Source: https://github.com/kortix-ai/suna/blob/main/docs/ONBOARDING.md Clone the repository and install project dependencies using pnpm. ```bash git clone https://github.com/kortix-ai/suna.git cd suna pnpm install ``` -------------------------------- ### Install Playwright and Run E2E Tests Source: https://github.com/kortix-ai/suna/blob/main/tests/e2e/examples/README.md Commands to install Playwright, install browser binaries, set the base URL, and run the E2E tests using a specific configuration file. ```bash cd tests npm i -D @playwright/test@1.61.0 npx playwright install chromium # point at your app export E2E_BASE_URL=http://localhost:3000 npx playwright test --config e2e/examples/playwright.config.ts ``` -------------------------------- ### Start Development Server (Primary Checkout) Source: https://github.com/kortix-ai/suna/blob/main/AGENTS.md Starts the development server in the primary checkout. This is suitable for small or quick iterative work where isolation is not required. ```bash pnpm dev ``` -------------------------------- ### Install and Run Electron Desktop Source: https://github.com/kortix-ai/suna/blob/main/apps/desktop-electron/README.md Commands to install dependencies and run the Electron desktop application in development. The Electron binary is downloaded on the first 'dev' script execution. ```bash pnpm install # at repo root (Electron binary self-downloads on first `dev` — see note) pnpm dev # repo root: start the web app on :3000 pnpm dev:desktop-electron # repo root: launch the Electron shell → :3000 ``` -------------------------------- ### Start an Existing Worktree Source: https://github.com/kortix-ai/suna/blob/main/scripts/worktree/README.md Boots the application stack for an existing worktree on its allocated ports. It uses the primary Supabase by default or starts its own Supabase instance if in isolated mode. Logs are streamed, and `Ctrl+C` stops the servers. ```bash pnpm worktree start ``` -------------------------------- ### Install @kortix/executor-sdk Source: https://github.com/kortix-ai/suna/blob/main/packages/executor-sdk/README.md Installs the Kortix Executor SDK package using npm. ```bash npm i @kortix/executor-sdk ``` -------------------------------- ### GitHub App Installation Flow Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Handles the process of installing a GitHub App at the account level. It involves redirecting the user to GitHub for installation and then processing the callback to set up the account's GitHub integration. ```shell GET /projects/github/installation?account_id= ``` ```shell POST /projects/github/installation {state,installation_id} ``` ```shell DELETE /projects/github/installation?account_id= ``` -------------------------------- ### Start Toxiproxy with Docker Compose Source: https://github.com/kortix-ai/suna/blob/main/tests/chaos/README.md Use this command to start Toxiproxy and its dependencies using Docker Compose. Ensure your toxiproxy.json is configured correctly. ```bash docker compose -f tests/chaos/docker-compose.toxiproxy.yml up -d ``` -------------------------------- ### Common Make Targets for Testing Source: https://github.com/kortix-ai/suna/blob/main/TESTING.md Run these `make` targets to execute different testing suites. Ensure dependencies are installed with `make install`. ```bash make install # node deps + Playwright chromium make fast # lint + typecheck + unit + contract + route coverage (no live target) make all # broad suite for a configured local/staging target, then quality gates make help # list every target ``` -------------------------------- ### Install and Run Static Analysis Tools Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Install Knip and Madge for static analysis. Run Knip to find unused files, exports, and dependencies. Use Madge to detect circular dependencies. ```bash pnpm add -Dw knip madge pnpm exec knip pnpm exec madge --circular --extensions ts,tsx apps/api/src ``` -------------------------------- ### Install and Run Knip for Dead Code Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Install Knip as a dev dependency and run it to identify the true dead code in the project. ```bash pnpm add -Dw knip && pnpm exec knip ``` -------------------------------- ### Install Dotenvx Armor and Log In Source: https://github.com/kortix-ai/suna/blob/main/README.md One-time installation of dotenvx armor and logging in to grant decryption access for local development secrets. ```bash curl -sfS https://dotenvx.sh/armor | sh # one-time install dotenvx-armor login # grants this machine decryption ``` -------------------------------- ### Enable Git Hooks and Start Development Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/development.mdx Configures Git to use local hooks for automatic secret encryption on commit and then starts the main development server. ```sh git config core.hooksPath .githooks # auto-encrypts secrets on commit pnpm dev ``` -------------------------------- ### Install Kortix SDK Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/sdk/getting-started.mdx Install the core SDK package using pnpm. Peer dependencies like React and TanStack Query are only needed for specific hooks. ```sh pnpm add @kortix/sdk ``` -------------------------------- ### Install Toolchain with Homebrew Source: https://github.com/kortix-ai/suna/blob/main/docs/ONBOARDING.md Installs essential command-line tools for development and deployment on macOS using Homebrew. Includes AWS CLI, kubectl, Helm, Node.js, pnpm, jq, yq, dotenvx, and optional Argo Rollouts and Argo CD plugins. ```bash # macOS (Homebrew) brew install awscli kubectl helm node pnpm jq yq brew install dotenvx/brew/dotenvx # encrypted env management (see below) # Argo Rollouts kubectl plugin (for canary inspection, optional) brew install argoproj/tap/kubectl-argo-rollouts # argocd CLI (optional, for app status/rollback) brew install argocd ``` -------------------------------- ### Self-Hosted Setup Routes Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Routes specific to self-hosted installations for setup and installation status. ```APIDOC ## GET /setup/install-status ### Description Retrieves the installation status for self-hosted environments. ### Method GET ### Endpoint /setup/install-status ``` ```APIDOC ## GET /setup/sandbox-providers ### Description Retrieves available sandbox providers for self-hosted environments. ### Method GET ### Endpoint /setup/sandbox-providers ``` ```APIDOC ## POST /setup/bootstrap-owner ### Description Initializes the first owner for a self-hosted setup. ### Method POST ### Endpoint /setup/bootstrap-owner ``` ```APIDOC ## GET /setup/status ### Description Retrieves the general setup status. ### Method GET ### Endpoint /setup/status ``` ```APIDOC ## GET /setup/health ### Description Retrieves the health status of the setup. ### Method GET ### Endpoint /setup/health ``` ```APIDOC ## GET /setup/setup-status ### Description Retrieves the status of the setup process. ### Method GET ### Endpoint /setup/setup-status ``` ```APIDOC ## GET /setup/setup-wizard-step ### Description Retrieves the current step in the setup wizard. ### Method GET ### Endpoint /setup/setup-wizard-step ``` ```APIDOC ## POST /setup/setup-wizard-step ### Description Advances the setup wizard to the next step. ### Method POST ### Endpoint /setup/setup-wizard-step ``` ```APIDOC ## POST /setup/setup-complete ### Description Marks the setup process as complete. ### Method POST ### Endpoint /setup/setup-complete ``` -------------------------------- ### Make First SDK Calls Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/sdk/getting-started.mdx Demonstrates basic SDK operations: listing projects, fetching project details, creating and starting a session, and sending a prompt to the agent runtime. ```ts // list your projects const projects = await kortix.projects.list(); // open a project, read its detail const detail = await kortix.project(projectId).detail(); // create + start a session (one agent run, in its own sandbox on its own branch) const created = await kortix.project(projectId).sessions.create(); const s = kortix.session(projectId, created.id); await s.start(); // talk to the running agent — the typed opencode runtime, reached via the SDK await s.runtime.session.prompt({ sessionID: created.id, parts: [{ type: 'text', text: 'Add a README' }], }); ``` -------------------------------- ### Get Slack Channel Installation Status Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Retrieves the installation status of the Slack channel integration for a project, including bot and workspace details. ```bash GET /projects/:id/channels/slack/installation ``` -------------------------------- ### iOS Development Setup Source: https://github.com/kortix-ai/suna/blob/main/apps/mobile/BUILD_GUIDE.md Runs the command to set up and launch the iOS development environment. ```bash cd apps/mobile npx expo run:ios ``` -------------------------------- ### Start a New Session Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/cli.mdx Initiates a new isolated sandbox session. An optional initial prompt can be provided to guide the session's starting state. ```bash kortix sessions new [--prompt ""] ``` -------------------------------- ### Run Session-Start Benchmark Source: https://github.com/kortix-ai/suna/blob/main/tests/performance/session-start/README.md Execute the full benchmark for creating multiple sessions. Customize with environment variables for N (number of sessions), POLL_MS, READY_TIMEOUT_MS, PROVIDER, PROJECT_ID, BENCH_EMAIL, and BENCH_UID. ```bash cd tests/performance/session-start ./run.sh # full benchmark (N sessions, default 3) ./run.sh boot-probe # one session + the daemon's in-container boot_timeline ./run.sh oclog-probe # one session + opencode.log + baked-vs-runtime dep versions N=5 POLL_MS=250 ./run.sh # knobs: N, POLL_MS, READY_TIMEOUT_MS, PROVIDER, PROJECT_ID, BENCH_EMAIL, BENCH_UID ``` -------------------------------- ### Get Slack Channel Installation Status Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Retrieves the installation status of the Slack channel for a given project, including workspace, team, bot, and connection URL if available. ```APIDOC ## GET /projects/:id/channels/slack/installation ### Description Retrieves the Slack channel installation status for a project. ### Method GET ### Endpoint /projects/:id/channels/slack/installation ### Response #### Success Response (200) - **workspace** (string) - The Slack workspace name. - **team** (string) - The Slack team name. - **bot** (object) - Bot details. - **url** (string) - The connection URL. ``` -------------------------------- ### Android Development Setup (Cloud Build) Source: https://github.com/kortix-ai/suna/blob/main/apps/mobile/BUILD_GUIDE.md Sets up the Android development environment using the default cloud build workflow. Recommended for most users. ```bash cd apps/mobile pnpm run android:setup pnpm run android:build pnpm run android:dev ``` -------------------------------- ### Get Email Channel Installation Status Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Retrieves the installation status of the Email channel for a project, including inbox ID, email, and webhook ID for a specific connector profile. ```APIDOC ## GET /projects/:id/channels/email/installation ### Description Retrieves the Email channel installation status for a project, including inbox details for a specific connector profile. ### Method GET ### Endpoint /projects/:id/channels/email/installation ### Parameters #### Query Parameters - **connector_slug** (string) - Optional - The slug for the Email connector profile. ``` -------------------------------- ### Initialize Kortix Project Source: https://github.com/kortix-ai/suna/blob/main/README.md Scaffolds a new Kortix project, setting up the necessary configuration files (kortix.toml) and agent/skill structures. ```bash kortix init ``` -------------------------------- ### Get Kortix CLI Version Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/cli.mdx Prints the currently installed version of the Kortix CLI to the console. ```bash kortix version ``` -------------------------------- ### Get Email Channel Installation Status Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Retrieves the AgentMail inbox ID, email, and webhook ID for a specific email connector profile. ```bash GET /projects/:id/channels/email/installation?connector_slug=... ``` -------------------------------- ### CLI Examples for Kortix Executor Source: https://github.com/kortix-ai/suna/blob/main/packages/executor-sdk/README.md Demonstrates basic command-line interactions with the Kortix Executor for managing and calling connectors. ```bash kortix executor connectors kortix executor discover "send a slack message" kortix executor describe slack.send_message kortix executor call slack send_message '{"channel":"#general","text":"Shipped"}' ``` -------------------------------- ### Get Connector Configuration Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/sdk/the-client.mdx Fetch the configuration details for a specific connector using its ID. This is useful for debugging or understanding a connector's setup. ```typescript await p.connectors.config(connectorId) ``` -------------------------------- ### Run Frontend Service Source: https://github.com/kortix-ai/suna/blob/main/docs/ONBOARDING.md Start the frontend development server. This will typically be accessible at localhost:3000. ```bash pnpm --filter @kortix/web dev ``` -------------------------------- ### Get ALB Hostname for Rollout Analysis Source: https://github.com/kortix-ai/suna/blob/main/infra/GITOPS.md Retrieve the ALB hostname to configure rollout analysis dimensions in values.yaml. This is a one-time setup for the life of the ingress. ```bash ALB=$(kubectl -n kortix-prod get ingress kortix-api -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') ``` -------------------------------- ### Call API with JWT (Project Sessions) Source: https://github.com/kortix-ai/suna/blob/main/AGENTS.md Example of calling the API with a JWT to get project sessions. Replace :id with the actual project ID. ```http Authorization: Bearer localhost:8008/v1/projects/:id/sessions ``` -------------------------------- ### Initialize and Ship with Kortix CLI Source: https://github.com/kortix-ai/suna/blob/main/MANIFESTO.md Use 'kortix init' to set up your project and 'kortix ship' to deploy your coding agents. This is the core loop for developers. ```bash kortix init kortix ship ``` -------------------------------- ### Start OpenCode Agent Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/session-runtime.mdx Launches the OpenCode agent with specified port, hostname, and configuration directory. The config directory is resolved from the cloned repo. ```bash opencode serve --port 4096 --hostname 127.0.0.1 ``` -------------------------------- ### Self-host Kortix Cloud Commands Source: https://github.com/kortix-ai/suna/blob/main/apps/cli/README.md Provides commands for installing, configuring, and managing a self-hosted Kortix Cloud instance. This includes starting the service, setting environment variables, and managing host configurations. ```sh pnpm install ``` ```sh ./bin/kortix --help ``` ```sh ./bin/kortix self-host start ``` ```sh ./bin/kortix self-host configure ``` ```sh ./bin/kortix self-host env set PUBLIC_URL=https://kortix.example.com API_PUBLIC_URL=https://api.example.com ``` ```sh ./bin/kortix hosts ls ``` ```sh ./bin/kortix hosts use local ``` ```sh ./bin/kortix hosts use cloud ``` -------------------------------- ### Install Playwright and Run Visual Tests Source: https://github.com/kortix-ai/suna/blob/main/tests/visual/README.md Commands to install Playwright dependencies, install browsers, set the base URL, and run the visual regression tests. ```bash cd tests npm i -D @playwright/test@1.61.0 npx playwright install chromium export E2E_BASE_URL=http://localhost:3000 npx playwright test --config visual/playwright.config.ts ``` -------------------------------- ### Run the standalone API example test Source: https://github.com/kortix-ai/suna/blob/main/tests/api/README.md Execute the minimal standalone API test using `bun:test` and `fetch`. This requires a live API to be accessible. ```bash cd tests bun test api/example.api.test.ts ``` -------------------------------- ### Marketplace Installation Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Endpoints for installing and managing marketplace items within a project. ```APIDOC ## POST /projects/:projectId/marketplace/install ### Description Installs a marketplace item and its dependencies into a project. ### Method POST ### Endpoint /projects/:projectId/marketplace/install ### Parameters #### Request Body - **id** (string) - Required - The ID of the marketplace item to install. ### Response #### Success Response (201) - **commit_sha** (string) - The commit SHA of the installation. - **branch** (string) - The branch where the item was installed. - **file_count** (integer) - The number of files installed. - **installed** (array) - A list of installed items. ### Error Handling - Missing or unknown item id: 400 - Missing project or NONMEMBER: 404/403 ### Legacy Alias `/registry/install` ``` ```APIDOC ## GET /projects/:projectId/marketplace ### Description Retrieves a list of installed marketplace items in a project. ### Method GET ### Endpoint /projects/:projectId/marketplace ### Response #### Success Response (200) - **installed** (array) - A list of installed items, including name, type, source, installed_at, and file_count. ### Error Handling - Missing project: 404 ### Legacy Alias `/registry` ``` ```APIDOC ## DELETE /projects/:projectId/marketplace/:name ### Description Removes a marketplace item from a project. ### Method DELETE ### Endpoint /projects/:projectId/marketplace/:name ### Response #### Success Response (200) - **ok** (boolean) - Indicates success. - **removed** (string) - The name of the removed item. - **commit_sha** (string) - The commit SHA after removal. - **branch** (string) - The branch where the item was removed. - **file_count** (integer) - The number of files remaining. ### Error Handling - Item not installed: 404 - Missing project or NONMEMBER: 404/403 ### Legacy Alias `/registry/:name` ``` -------------------------------- ### Initial Project Provisioning (Explicit BYO Origin) Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Handles the first deployment with an explicitly provided Git URL as the origin. Kortix attempts to rewrite the origin but will fail if the provided origin is not a GitHub URL. ```shell kortix ship --origin ``` -------------------------------- ### Start Postgres and Wait for Health Source: https://github.com/kortix-ai/suna/blob/main/tests/migration/README.md Starts the PostgreSQL container and waits until it is healthy. ```bash bash tests/migration/scripts/db-up.sh ``` -------------------------------- ### Initial Project Provisioning (BYO) Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Handles the first deployment when a repository URL is provided as the origin. Kortix uses the user's provided credentials and does not modify the origin. Rejects non-GitHub origins. ```shell POST /projects {repo_url,name} ``` -------------------------------- ### Full kortix.toml Example Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/manifest.mdx Demonstrates the structure and common fields for a comprehensive kortix.toml file, including schema version, project details, environment variables, sandbox templates, opencode configuration, and various trigger types (cron and webhook). ```toml # Pinned schema version. Lets the platform evolve safely. kortix_version = 1 [project] name = "my-project" description = "What this project is." [env] required = ["DATABASE_URL"] optional = ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "WEBHOOK_SLACK_SECRET"] [[sandbox.templates]] slug = "ml" # unique per project name = "ML Development" dockerfile = ".kortix/Dockerfile.ml" # repo-relative; or `image = "python:3.12-slim"` cpu = 4 memory = 16 [opencode] config_dir = ".kortix/opencode" [[triggers]] slug = "daily-digest" name = "Daily digest" type = "cron" agent = "kortix" enabled = true cron = "0 0 9 * * 1-5" # 09:00 Mon–Fri timezone = "America/Los_Angeles" prompt = """ Summarize yesterday's commits across the repo. Save the result to notes/digest-{{ cron.fired_at }}.md and open a CR against main. """ [[triggers]] slug = "slack-hook" name = "Slack handler" type = "webhook" agent = "kortix" enabled = true secret_env = "WEBHOOK_SLACK_SECRET" # add value via Secrets Manager prompt = """ Slack event from {{ headers.user_agent }}. User said: {{ body.text }} """ ``` -------------------------------- ### Initialize Kortix Project Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Initializes a new Kortix project in an empty directory. This command writes the `kortix.toml` configuration file and sets up the `.kortix/` directory, wires the agent skill, and initializes a git repository. It does not make any API calls. ```bash kortix init -y ``` -------------------------------- ### Delete Email Channel Installation Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Deletes the email channel installation for a project. Returns 403/404 for non-members. ```APIDOC ## DELETE /projects/:id/channels/email/installation ### Description Deletes the email channel installation for a project. ### Method DELETE ### Endpoint `/projects/:id/channels/email/installation` ### Parameters #### Path Parameters - **id** (string) - Required - The project identifier. #### Query Parameters - **connector_slug** (string) - Optional - Filters by a specific connector slug. ### Response #### Success Response (200) - Confirmation of email channel installation deletion. #### Error Response - **403**: User is not a member. - **404**: User is not a member. ``` -------------------------------- ### Kortix CLI Browser Device Flow Example Source: https://github.com/kortix-ai/suna/blob/main/apps/cli/DESIGN.md Demonstrates the user interaction for the browser device flow. The CLI opens a browser link and waits for user approval. ```bash $ kortix login Opening browser to https://kortix.com/cli?user_code=XJ42-9KQS Waiting for approval... ✓ Authenticated as marko@kortix.ai ``` -------------------------------- ### Email Channel Installation Status Source: https://github.com/kortix-ai/suna/blob/main/tests/spec/end-to-end.md Retrieves the installation status of the email channel for a project. Returns 403/404 for non-members. ```APIDOC ## GET /projects/:id/channels/email/installation ### Description Retrieves the installation status of the email channel for a project. ### Method GET ### Endpoint `/projects/:id/channels/email/installation` ### Parameters #### Path Parameters - **id** (string) - Required - The project identifier. #### Query Parameters - **connector_slug** (string) - Optional - Filters by a specific connector slug. ### Response #### Success Response (200) - Email channel installation status (null or summary). #### Error Response - **403**: User is not a member. - **404**: User is not a member. ``` -------------------------------- ### Scaffold a New Kortix Project Source: https://github.com/kortix-ai/suna/blob/main/apps/web/content/docs/reference/cli.mdx Use `kortix init` to scaffold a new Kortix project in the current directory. This command sets up the necessary configuration files and directories, including `kortix.toml`, `.kortix/Dockerfile`, and the OpenCode config directory. It also integrates Kortix with local coding agents. Alternatively, `kortix ` scaffolds the project into a new directory. ```bash kortix init ``` ```bash kortix ``` -------------------------------- ### Install Pact Dependency Source: https://github.com/kortix-ai/suna/blob/main/tests/contract/README.md Installs the Pact foundation library as a development dependency. This command should be run from the 'tests' directory. ```bash cd tests npm install --save-dev @pact-foundation/pact@^15.0.1 ```