API Reference

A high-level overview of how PropelCode works — containers, the AI agent, and how your device connects to your workspace.

Architecture Container Agent Tools WebSocket Bridge Limitations

Architecture Overview

PropelCode's architecture has three layers: your device (phone, tablet, or browser), a central server that handles authentication and coordination, and an isolated container that runs your code.

When you open a project, the platform provisions (or resumes) a dedicated Linux container for your account. The server acts as a secure relay — handling authentication, billing, and proxying communication between your device and your container. Your code never leaves your container.

The AI agent operates in a loop: you send a message, the server routes it to an AI model with your project context, the model responds with actions (file edits, terminal commands), and those actions execute inside your container. Results feed back to the model until the task is complete. The server coordinates but does not store or inspect your code.

Container Environment

Every PropelCode user gets a dedicated Linux container running a full development environment. Containers are provisioned on Railway and persist across sessions.

What's Included

  • Node.js LTS — Full JavaScript/TypeScript runtime with npm, yarn, and pnpm
  • Bash shell — Standard Unix utilities and full terminal access
  • Git — Clone, commit, push, and pull from any remote
  • Build tools — Common compilers and utilities for native module compilation

Each container runs a lightweight process that handles file operations, terminal commands, and process management on behalf of the IDE client and the AI agent. Communication between your device and the container is encrypted and authenticated.

Customization: You can extend the default environment by selecting a template when creating a new project (React, Next.js, Python, Go, and more). Custom container configurations are available for users who need specific runtimes or toolchains.

Containers are stopped after a period of inactivity and resumed on-demand. Your filesystem, installed packages, and project state are preserved between sessions. You can reset your container to a clean state at any time from account settings.

Agent Tools

The AI agent interacts with your container through a comprehensive set of tools spanning file operations, terminal execution, version control, and network access. The agent selects and chains tools autonomously based on your prompt.

Tool Categories

  • File Operations — Create, read, edit, patch, rename, delete, and search files and directories. Batch operations for efficiency when working across multiple files.
  • Terminal & Process — Execute shell commands and monitor running processes. Install packages, run tests, start dev servers.
  • Version Control — Full Git operations including status, staging, diffs, branching, and pulling changes from remotes.
  • Network — Fetch external resources when the agent needs to reference documentation or APIs.

Tools are composable. A typical agent session might explore the project structure, gather context from relevant files, make targeted edits, then run commands to verify the result — all in a single turn. The agent decides which tools to use and in what order based on the task.

WebSocket Bridge

PropelCode uses a persistent, encrypted connection between your device and your container for real-time interactions. All terminal input/output, file operations, and AI agent actions flow through this channel.

When you connect, the server authenticates your session and establishes a secure relay to your container. Everything streams in real time — when you type in the terminal, output appears instantly. When the AI agent edits a file, the change shows up in your editor immediately.

What Flows Through the Connection

  • Terminal I/O — Bidirectional streaming of terminal input and output in real time.
  • File operations — Creating, reading, editing, and deleting files, with results streamed back to the client.
  • File watching — The container monitors your filesystem and pushes changes to keep the file tree in sync.
  • AI agent actions — Tool calls from the AI model execute inside your container and results flow back to the model.
  • Process management — Start, stop, and monitor long-running processes like dev servers.

The communication protocol is internal and authenticated. A public API for programmatic access is on our roadmap.

Current Limitations

PropelCode is under active development. These are the current constraints to be aware of when building on the platform.

Container Resource Limits

Each container runs with bounded CPU and memory. Resource limits depend on your plan tier. Very large builds may hit memory ceilings — if you need more resources, upgrade your container tier from account settings.

Node.js-First Environment

The default container is optimized for JavaScript and TypeScript development. Other languages — Python, Go, Rust, Ruby — can be used via container customization or templates, but are not pre-configured out of the box.

No Public REST API

PropelCode does not currently expose a public API. All interactions go through the authenticated IDE client. A public API for programmatic access and CI/CD integration is planned for a future release.

Single Container Per User

Each account is currently limited to one active container at a time. Multi-container workspaces (e.g., separate frontend and backend containers) are not yet supported. You can work around this by running multiple services within a single container.

WebSocket Reconnection

If your network connection drops, the client will attempt to reconnect automatically. However, terminal sessions may lose state during prolonged disconnections. File system state is always preserved since it lives on disk in the container.