agentic-coding-flywheel-setup

Bootstrap a fresh Ubuntu VPS into a complete multi-agent AI development environment with safety tools and coordination infrastructure in 30 minutes

Skill file

Preview skill file
---
name: agentic-coding-flywheel-setup
description: Bootstrap a fresh Ubuntu VPS into a complete multi-agent AI development environment with safety tools and coordination infrastructure in 30 minutes
triggers:
  - set up an agentic coding environment on my VPS
  - install the ACFS stack on Ubuntu
  - bootstrap my server for AI coding agents
  - configure a VPS with Claude Code and agentic tools
  - run the agentic coding flywheel setup
  - install the Dicklesworthstone agent stack
  - set up NTM and MCP Agent Mail
  - configure vibe mode for AI development
---

# Agentic Coding Flywheel Setup (ACFS)

> Skill by [ara.so](https://ara.so) — AI Agent Skills collection

## Overview

**Agentic Coding Flywheel Setup (ACFS)** is a bootstrapping system that transforms a fresh Ubuntu VPS into a professional AI-powered development environment in ~30 minutes. It installs 30+ tools, configures three AI coding agents (Claude Code, Codex CLI, Gemini CLI), and sets up a complete agent coordination stack.

**Key Features:**
- **One-liner install**: `curl | bash` to full environment
- **Idempotent**: Resume from interruptions automatically
- **Vibe mode**: Pre-configured for maximum development velocity
- **Manifest-driven**: Single source of truth for all tools and configs
- **Battle-tested stack**: 10 Dicklesworthstone tools + 20+ developer utilities

**What Gets Installed:**
- Modern shell: zsh + oh-my-zsh + powerlevel10k
- Language runtimes: bun, uv/Python, Rust, Go
- AI agents: Claude Code, Codex CLI, Gemini CLI
- Agent coordination: NTM, MCP Agent Mail, SLB
- Developer tools: tmux, neovim, ripgrep, fzf, git, gh
- Cloud CLIs: Vault, Wrangler, Supabase, Vercel
- Security: checksummed upstream installers, verified downloads

## Installation

### Quick Install (Latest)

```bash
# Default mode (interactive)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/install.sh?$(date +%s)" | bash

# Vibe mode (non-interactive, passwordless sudo, all dangerous flags enabled)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/install.sh?$(date +%s)" | bash -s -- --yes --mode vibe
```

### Production Install (Pinned Version)

```bash
# Pin to a tagged release (recommended)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/v0.7.0/install.sh" | bash -s -- --yes --mode vibe --ref v0.7.0

# Pin to a specific commit
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/abc1234/install.sh" | bash -s -- --yes --mode vibe --ref abc1234
```

### Installation Flags

```bash
--yes              # Non-interactive mode (auto-confirm all prompts)
--mode vibe        # Enable vibe mode (passwordless sudo, dangerous flags)
--ref <tag|sha>    # Pin to specific version (tag or commit SHA)
--skip-check       # Skip system requirements check
--debug            # Enable verbose debug output
```

### Requirements

- **OS**: Ubuntu 25.10 (installer auto-upgrades from 24.04/24.10)
- **User**: Non-root user with sudo access
- **Network**: Internet connection for package downloads
- **Disk**: ~10GB free space
- **Memory**: 2GB+ RAM recommended

## Post-Install Commands

After installation, ACFS provides several management commands:

### Health Check

```bash
# Run comprehensive system health check
acfs doctor

# Check specific category
acfs doctor --category shells
acfs doctor --category language_runtimes
acfs doctor --category agent_clis
```

### Update ACFS

```bash
# Update to latest version
acfs update

# Update to specific version
acfs update --ref v0.7.0
```

### Service Setup

```bash
# Configure agent coordination services (NTM, MCP Agent Mail, etc.)
acfs services-setup
```

### Onboarding

```bash
# Interactive tutorial for new users
onboard
```

## Key Tools & Usage

### AI Coding Agents

**Claude Code** (Anthropic)
```bash
# Set API key
export ANTHROPIC_API_KEY="sk-ant-..."

# Start interactive session
claude

# One-shot command
claude "refactor this function to use async/await" < input.js

# Edit files directly
claude --edit main.py "add error handling"
```

**Codex CLI** (OpenAI)
```bash
# Set API key
export OPENAI_API_KEY="sk-..."

# Interactive mode
codex

# Generate code
codex "write a REST API with Express"

# Code review
codex --review src/
```

**Gemini CLI** (Google)
```bash
# Set API key
export GEMINI_API_KEY="..."

# Start session
gemini

# Multi-modal (with images)
gemini "analyze this screenshot" --image screenshot.png
```

### Agent Coordination Stack

**NTM (Note-Taking Manager)**
```bash
# Initialize notes directory
ntm init

# Create note
ntm new "project-ideas"

# Search notes
ntm search "api design"

# List all notes
ntm list

# Edit note
ntm edit "project-ideas"
```

**MCP Agent Mail** (inter-agent communication)
```bash
# Start mail server
mcp_agent_mail serve --port 3000

# Send message between agents
mcp_agent_mail send --to claude@agents.local --subject "Review PR" --body "..."

# Check inbox
mcp_agent_mail inbox
```

**SLB (Session Ledger Bot)**
```bash
# Initialize session tracking
slb init

# Start new session
slb start "implementing auth feature"

# Log activity
slb log "completed OAuth flow"

# End session
slb end

# View session history
slb history
```

**BV (Beads Viewer)** - Session visualization
```bash
# View current session beads
bv show

# Export session graph
bv export --format svg --output session.svg

# Analyze session patterns
bv analyze
```

**UBS (Universal Backup System)**
```bash
# Configure backup
ubs init --dest s3://my-backups

# Create backup
ubs backup ~/projects

# List backups
ubs list

# Restore backup
ubs restore --backup 2025-01-15 --dest ~/restored
```

### Developer Tools

**Tmux** (terminal multiplexer)
```bash
# ACFS includes pre-configured tmux.conf

# Start new session
tmux new -s work

# Detach: Ctrl+b d
# List sessions
tmux ls

# Attach to session
tmux attach -t work

# Split panes
# Horizontal: Ctrl+b "
# Vertical: Ctrl+b %
```

**Neovim** (text editor)
```bash
# Launch neovim
nvim file.py

# ACFS includes sensible defaults
# Basic commands:
# :w  - save
# :q  - quit
# :wq - save and quit
# i   - insert mode
# ESC - normal mode
```

**Ripgrep** (fast search)
```bash
# Search current directory
rg "function.*async"

# Search with context
rg -C 3 "TODO"

# Search specific file types
rg --type py "class.*Model"

# Case-insensitive
rg -i "error"
```

**FZF** (fuzzy finder)
```bash
# Interactive file finder (Ctrl+T in shell)
# Interactive history search (Ctrl+R in shell)

# In scripts
selected_file=$(fzf)
echo "Selected: $selected_file"

# Filter command output
ps aux | fzf
```

## Configuration

### ACFS Config Files

All ACFS configuration lives in `~/.acfs/`:

```bash
~/.acfs/
├── zshrc              # Shell configuration
├── tmux.conf          # Tmux configuration
├── state.json         # Installation state
├── onboard/           # Tutorial lessons
└── scripts/           # Utility scripts
```

### Environment Variables

Key environment variables to configure:

```bash
# AI Agent API Keys
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GEMINI_API_KEY="..."

# Cloud Provider Keys
export CLOUDFLARE_API_TOKEN="..."
export SUPABASE_ACCESS_TOKEN="..."
export VERCEL_TOKEN="..."

# Vault (secrets management)
export VAULT_ADDR="https://vault.example.com"
export VAULT_TOKEN="..."

# ACFS behavior
export ACFS_MODE="vibe"           # Enable vibe mode features
export ACFS_AUTO_UPDATE="true"    # Auto-update ACFS
export ACFS_TELEMETRY="false"     # Disable telemetry
```

Add to `~/.zshrc`:
```bash
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source ~/.zshrc
```

### Vibe Mode

Vibe mode enables maximum development velocity:

```bash
# Enable during install
curl -fsSL "..." | bash -s -- --mode vibe

# Features enabled in vibe mode:
# - Passwordless sudo for your user
# - All dangerous agent flags enabled
# - Auto-confirm for tool installations
# - Optimized shell aliases
# - Pre-configured git settings
```

**Security Note**: Vibe mode is designed for personal development VPS instances, not production servers or shared environments.

## Common Patterns

### Pattern 1: Initial VPS Setup

```bash
# 1. SSH into fresh Ubuntu VPS
ssh user@vps-ip

# 2. Run ACFS installer
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/install.sh?$(date +%s)" | bash -s -- --yes --mode vibe

# 3. Set up API keys
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
echo 'export OPENAI_API_KEY="sk-..."' >> ~/.zshrc
source ~/.zshrc

# 4. Verify installation
acfs doctor

# 5. Start coding with agents
claude "create a new Express API project"
```

### Pattern 2: Agent Session Workflow

```bash
# Start session tracking
slb start "building user authentication"

# Use AI agent for scaffolding
claude "create user model with email and password fields"

# Track progress
slb log "created user model"

# Review with another agent
codex --review models/user.py

# Visualize session
bv show

# End session
slb end
```

### Pattern 3: Multi-Agent Collaboration

```bash
# Agent 1: Generate implementation
claude "implement JWT authentication" > auth.py

# Agent 2: Review for security
codex --review auth.py > review.md

# Agent 3: Optimize performance
gemini "optimize this authentication flow" < auth.py > auth_optimized.py

# Track collaboration via MCP Agent Mail
mcp_agent_mail send --to review-agent --body "$(cat review.md)"
```

### Pattern 4: Backup Before Experimentation

```bash
# Backup current state
ubs backup ~/projects/myapp

# Let agent make risky changes
claude --edit src/ "refactor entire codebase to use TypeScript" --allow-dangerous

# If things go wrong
ubs restore --backup latest --dest ~/projects/myapp
```

### Pattern 5: Reproducible Team Environments

```bash
# Team lead: Create bootstrap script
cat > setup-team-env.sh << 'EOF'
#!/bin/bash
# Install ACFS with pinned version
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/v0.7.0/install.sh" \
  | bash -s -- --yes --mode vibe --ref v0.7.0

# Configure team-specific tools
git config --global user.name "$GIT_NAME"
git config --global user.email "$GIT_EMAIL"

# Clone team repos
gh repo clone myorg/backend ~/projects/backend
gh repo clone myorg/frontend ~/projects/frontend
EOF

# Team members: Run identical setup
export GIT_NAME="Alice" GIT_EMAIL="alice@company.com"
bash setup-team-env.sh
```

## Architecture

### Manifest-Driven Design

ACFS uses a single source of truth: `acfs.manifest.yaml`

```yaml
# Example manifest structure (simplified)
modules:
  - id: bun
    category: language_runtimes
    install:
      bash: |
        curl -fsSL https://bun.sh/install | bash
    verify:
      bash: |
        command -v bun >/dev/null 2>&1
    
  - id: claude_code
    category: agent_clis
    install:
      bash: |
        npm install -g @anthropic-ai/claude-code
    verify:
      bash: |
        command -v claude >/dev/null 2>&1
```

### Generated Scripts (Reference)

The manifest generates reference scripts in `scripts/generated/`:

```bash
scripts/generated/
├── install_shells.sh
├── install_language_runtimes.sh
├── install_agent_clis.sh
├── install_agent_coordination.sh
├── install_developer_tools.sh
├── install_cloud_clis.sh
├── doctor_checks.sh
└── install_all.sh
```

### Security

ACFS implements multiple security layers:

1. **Checksummed installers**: `checksums.yaml` verifies upstream scripts
2. **HTTPS-only downloads**: All sources fetched over TLS
3. **Isolated environments**: Each tool runs in its own context
4. **API key isolation**: Keys stored in environment, not config files
5. **Audit logging**: All installations logged to `~/.acfs/state.json`

## Troubleshooting

### Installation Fails Midway

```bash
# ACFS is idempotent - just re-run
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/install.sh?$(date +%s)" | bash -s -- --yes --mode vibe

# Check installation state
cat ~/.acfs/state.json | jq '.completed_phases'

# Run doctor to identify issues
acfs doctor
```

### Doctor Check Failures

```bash
# Run full diagnostic
acfs doctor --verbose

# Fix common issues:
# - Missing PATH entries
echo 'export PATH="$HOME/.bun/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# - Incomplete installations
acfs update

# - Permission issues
sudo chown -R $USER:$USER ~/.acfs
```

### Agent CLI Not Found

```bash
# Verify installation
acfs doctor --category agent_clis

# Reinstall specific agent
# (Manually, as ACFS doesn't have per-tool reinstall yet)
npm install -g @anthropic-ai/claude-code

# Check API key
echo $ANTHROPIC_API_KEY  # Should not be empty
```

### Slow Performance

```bash
# Check system resources
htop

# Verify zsh compilation
rm ~/.zcompdump
zsh -c 'autoload -U compinit && compinit'

# Disable plugins if needed
# Edit ~/.acfs/zshrc and comment out heavy plugins
```

### SSH Connection Issues After Install

```bash
# If you set up SSH key during install but can't connect:

# From local machine - use password one more time
ssh user@vps-ip

# On VPS - verify SSH key was added
cat ~/.ssh/authorized_keys

# If missing, add your public key
echo "ssh-ed25519 AAAA..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# Try key-based auth again from local
ssh -i ~/.ssh/id_ed25519 user@vps-ip
```

### Services Won't Start

```bash
# Check service status
acfs services-setup --status

# View logs
journalctl -u ntm -f
journalctl -u mcp_agent_mail -f

# Restart services
sudo systemctl restart ntm
sudo systemctl restart mcp_agent_mail
```

## Advanced Usage

### Custom Tool Installation

Add custom tools to your environment post-install:

```bash
# Install additional language runtime
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install additional CLI tool
cargo install ripgrep

# Update PATH if needed
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Verify with doctor
acfs doctor
```

### Extending the Manifest

To add tools to ACFS itself, edit `acfs.manifest.yaml`:

```yaml
modules:
  - id: my_custom_tool
    category: developer_tools
    description: "My custom development tool"
    install:
      bash: |
        curl -fsSL https://example.com/install.sh | bash
    verify:
      bash: |
        command -v my_tool >/dev/null 2>&1
```

Then regenerate scripts:

```bash
cd packages/manifest
npm run generate
```

### Integration Testing

ACFS includes Docker-based integration tests:

```bash
# Run full install test in Docker
bash tests/vm/test_install_ubuntu.sh

# Test specific version
ACFS_REF=v0.7.0 bash tests/vm/test_install_ubuntu.sh

# Test vibe mode
ACFS_MODE=vibe bash tests/vm/test_install_ubuntu.sh
```

### Monitoring Agent Activity

```bash
# Track all agent sessions
slb history --all

# Export session data
slb export --format json > sessions.json

# Visualize patterns
bv analyze --input sessions.json --output report.html

# Monitor in real-time
tail -f ~/.acfs/logs/agent-activity.log
```

## Version Compatibility

- **v0.7.0**: Current stable (Ubuntu 25.10, all features)
- **v0.6.x**: Legacy (Ubuntu 24.10, limited stack tools)
- **v0.5.x**: Deprecated (Ubuntu 24.04, no vibe mode)

Always use the latest tagged release for production environments.

## Additional Resources

- **Website**: https://agent-flywheel.com (interactive wizard)
- **Repository**: https://github.com/Dicklesworthstone/agentic_coding_flywheel_setup
- **Documentation**: See `docs/` directory in repo
- **Issues**: https://github.com/Dicklesworthstone/agentic_coding_flywheel_setup/issues

Source

Creator's repository · aradotso/ai-agent-skills

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk