Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# TinyClaw Development Container
# Based on the official devcontainer TypeScript-Node image (Debian bookworm, Bash 5+)

FROM mcr.microsoft.com/devcontainers/typescript-node:22

# Install runtime tools required by tinyclaw shell scripts
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
tmux \
jq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
26 changes: 26 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "TinyClaw Dev",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"postCreateCommand": "bash .devcontainer/post-create.sh",
"remoteUser": "node",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"mads-hartmann.bash-ide-vscode"
],
"settings": {
"editor.formatOnSave": true,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"typescript.tsdk": "node_modules/typescript/lib"
}
}
}
}
27 changes: 27 additions & 0 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Post-create lifecycle script for the TinyClaw devcontainer.
# Runs once after the container is built to bootstrap the dev environment.

set -euo pipefail

echo "📦 Installing Node dependencies..."
npm install

echo "🔨 Building TypeScript..."
npm run build

echo "📂 Creating local .tinyclaw skeleton for development..."
mkdir -p .tinyclaw/queue/{incoming,processing,outgoing}
mkdir -p .tinyclaw/logs
mkdir -p .tinyclaw/channels
mkdir -p .tinyclaw/files
mkdir -p .tinyclaw/chats
mkdir -p .tinyclaw/events

echo ""
echo "✅ Dev environment ready!"
echo ""
echo "Quick start:"
echo " ./tinyclaw.sh # Show usage / help"
echo " ./tinyclaw.sh setup # Run interactive setup wizard"
echo " npm run build # Recompile TypeScript"
24 changes: 15 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ git clone https://github.com/jlia0/tinyclaw.git
cd tinyclaw && npm install && ./scripts/install.sh
```

**Option 4: Advanced for Developers with Docker Installed**

1. Git Clone in vscode
2. Command Pallet -> DevContainers: Reopen in Container
3. ./tinyclaw.sh commands or ./scripts/install.sh to install

### First Run

```bash
Expand Down Expand Up @@ -135,15 +141,15 @@ Commands work with `tinyclaw` (if CLI installed) or `./tinyclaw.sh` (direct scri

### Agent Commands

| Command | Description | Example |
| ------------------------------------ | -------------------------------- | ------------------------------------------------ |
| `agent list` | List all configured agents | `tinyclaw agent list` |
| `agent add` | Add new agent (interactive) | `tinyclaw agent add` |
| `agent show <id>` | Show agent configuration | `tinyclaw agent show coder` |
| `agent remove <id>` | Remove an agent | `tinyclaw agent remove coder` |
| `agent reset <id>` | Reset agent conversation | `tinyclaw agent reset coder` |
| `agent provider <id> [provider]` | Show or set agent's AI provider | `tinyclaw agent provider coder anthropic` |
| `agent provider <id> <p> --model <m>`| Set agent's provider and model | `tinyclaw agent provider coder openai --model gpt-5.3-codex` |
| Command | Description | Example |
| ------------------------------------- | ------------------------------- | ------------------------------------------------------------ |
| `agent list` | List all configured agents | `tinyclaw agent list` |
| `agent add` | Add new agent (interactive) | `tinyclaw agent add` |
| `agent show <id>` | Show agent configuration | `tinyclaw agent show coder` |
| `agent remove <id>` | Remove an agent | `tinyclaw agent remove coder` |
| `agent reset <id>` | Reset agent conversation | `tinyclaw agent reset coder` |
| `agent provider <id> [provider]` | Show or set agent's AI provider | `tinyclaw agent provider coder anthropic` |
| `agent provider <id> <p> --model <m>` | Set agent's provider and model | `tinyclaw agent provider coder openai --model gpt-5.3-codex` |

### Team Commands

Expand Down