Skip to main content

A command line tool for creating workspaces for agents on top of piku

Project description

Silica: Multi-Workspace Management for Agents

Silica is a command-line tool for creating and managing agent workspaces on top of piku.

Installation

Quick Install

For systems with Python 3.11+:

# Using uv (recommended)
uv pip install pysilica
playwright install chromium  # Install browser for web development tools

# Using pip
pip install pysilica
playwright install chromium  # Install browser for web development tools

Raspberry Pi Deployment

Silica automatically handles Python 3.11 installation on remote Raspberry Pi systems during workspace creation. The deployment process:

  • Detects Raspberry Pi hardware
  • Installs Python 3.11 via pyenv if needed
  • Sets up virtual environment
  • Installs Silica and dependencies
  • Verifies the installation

For detailed deployment information, see the Raspberry Pi Deployment Guide.

Note: The package name is pysilica but the CLI command and import name is silica.

Requirements

  • Python: 3.11 or higher (required)
  • Package Manager: uv (recommended) or pip
  • Playwright Browser: Required for web development tools (installed via playwright install chromium)
  • ripgrep: Optional but recommended for enhanced file search performance

For complete installation instructions, see docs/INSTALLATION.md.

Optional: Install ripgrep for enhanced search performance

# macOS
brew install ripgrep

# Ubuntu/Debian
sudo apt install ripgrep

# Windows (chocolatey)
choco install ripgrep

Ripgrep provides faster file searching and is automatically used by the memory system when available.

What's New: Multi-Workspace Support

Silica now supports managing multiple concurrent workspaces from the same repository. This allows you to:

  1. Create and maintain multiple agent workspaces with different configurations
  2. Switch between workspaces easily without having to recreate them
  3. Track configurations for all workspaces in a single repository

Key Features

  • Multiple Agent Support: Support for different AI coding agents with YAML-based configuration
  • Workspace Management: Create, list, and manage multiple agent workspaces
  • Default Workspace: Set a preferred workspace as default for easier command execution
  • Immutable Workspaces: Each workspace is tied to a specific agent type - create new workspaces for different agents

🤖 Integrated Agent

Silica is tightly integrated with heare-developer (hdev), an autonomous coding agent that includes:

  • Autonomous engineering with the --dwr (Do What's Required) flag
  • Configurable personas for different coding styles
  • Integration with Claude for AI assistance
  • Web search capabilities via Brave Search API
  • GitHub integration for repository management

The agent is automatically installed when creating workspaces and configured for optimal performance.

Usage

Creating Workspaces

# Create a default workspace named 'agent' with heare-developer
silica create

# Create a workspace with a custom name
silica create -w assistant

# Create workspace for a specific project
silica create -w my-project

Managing Workspaces

# List all configured workspaces
silica workspace list

# View the current default workspace
silica workspace get-default

# Set a different workspace as default
silica workspace set-default assistant

Working with Specific Workspaces

Most commands accept a -w/--workspace flag to specify which workspace to target:

# Sync a specific workspace
silica sync -w assistant

# Sync with cache clearing to ensure latest versions
silica sync -w assistant --clear-cache

# Check status of a specific workspace
silica status -w assistant

# Connect to a specific workspace's agent
silica agent -w assistant

# Send a message to the workspace's agent
silica tell "Please analyze this code" -w assistant

Configuration Management

# View current configuration
silica config list

# Set configuration values
silica config set key=value

# Run interactive setup wizard  
silica config setup

Destroying Workspaces

# Destroy a specific workspace
silica destroy -w assistant

Configuration

Silica stores workspace configurations in .silica/config.yaml using a nested structure:

default_workspace: agent
workspaces:
  agent:
    piku_connection: piku
    app_name: agent-repo-name
    branch: main
    agent_type: hdev
    agent_config:
      flags: []
      args: {}
  assistant:
    piku_connection: piku
    app_name: assistant-repo-name
    branch: feature-branch
    agent_type: hdev
    agent_config:
      flags: ["--persona", "code_reviewer"]
      args: {}

Development

Running Tests

# Run all tests
pytest

# Run only fast tests (excludes slow integration tests)
pytest -m "not slow"

# Run with verbose output and show slowest tests
pytest -v --durations=10

The test suite includes markers for different test types:

  • slow: Integration tests that take longer to run (tmux operations, subprocess timeouts)
  • integration: Tests requiring external resources
  • safe: Tests with no side effects

For faster development iteration, use pytest -m "not slow" to run only the fast tests (~43s vs ~82s for the full suite).

Compatibility

This update maintains backward compatibility with existing silica workspaces. When you run commands with the updated version:

  1. Existing workspaces are automatically migrated to the new format
  2. The behavior of commands without specifying a workspace remains the same
  3. Old script implementations that expect workspace-specific configuration will continue to work

Project details


Release history Release notifications | RSS feed

This version

0.6.8

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysilica-0.6.8.tar.gz (9.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysilica-0.6.8-py3-none-any.whl (310.2 kB view details)

Uploaded Python 3

File details

Details for the file pysilica-0.6.8.tar.gz.

File metadata

  • Download URL: pysilica-0.6.8.tar.gz
  • Upload date:
  • Size: 9.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysilica-0.6.8.tar.gz
Algorithm Hash digest
SHA256 c9a0e7670d08c1d564a26bb25d9e3067b925052a0a40af8dddf4fc1451f68b10
MD5 9d75f3d69f8e82d9cea4becf6acc64dd
BLAKE2b-256 cc639dfa9b840822a813068b812b6ea3c1ec354ee252b1a9fb2082aa0ce91cc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysilica-0.6.8.tar.gz:

Publisher: publish-to-pypi.yml on clusterfudge/silica

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pysilica-0.6.8-py3-none-any.whl.

File metadata

  • Download URL: pysilica-0.6.8-py3-none-any.whl
  • Upload date:
  • Size: 310.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysilica-0.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b9e770dd440b6b92341ef3c1a5c46574db308dd0069d36355612eb673635d067
MD5 eb848fd37e91ef2514ddea6358f4563a
BLAKE2b-256 a1dcff3c1587c237d3de80f3e6c33659e9cd5397233721f9417924f21376ae5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysilica-0.6.8-py3-none-any.whl:

Publisher: publish-to-pypi.yml on clusterfudge/silica

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page