Skip to main content

System Requirements

Before installing FastSkill, ensure your system meets these requirements:
ComponentMinimum VersionRecommended
Python3.83.11+
Rust1.701.75+
Memory512MB2GB+
Storage100MB500MB+
FastSkill requires async runtime support. For Python, this means Python 3.8+ with asyncio. For Rust, you’ll need tokio.

Python Installation

Install FastSkill from PyPI:
pip install fastskill
Verify installation:
python -c "import fastskill; print('✅ FastSkill installed successfully')"

From Source

For development or testing the latest features:
1

Clone the repository

git clone https://github.com/aroff/fastskill.git
cd fastskill
2

Install Python dependencies

cd python
pip install -e ".[dev]"
cd ..
Test the installation:
python -c "from fastskill import FastSkillService; print('✅ Development installation successful')"
3

Build Rust extension (optional)

If you want maximum performance, build the Rust extension:
# Ensure Rust is installed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

# Build the extension
cd python && pip install -e . && cd ..

Virtual Environment

We recommend using a virtual environment:
  • venv (Python 3.8+)
  • conda
  • poetry
python -m venv fastskill-env
source fastskill-env/bin/activate  # On Windows: fastskill-env\Scripts\activate
pip install fastskill

CLI Installation

The FastSkill CLI is a Rust-based command-line tool for managing skills.
  • From Source
  • From Crates.io (when published)
  • Development Build
# Clone the repository
git clone https://github.com/your-org/cogni.git
cd tools/fastskill/rust

# Build and install
cargo install --path . --bin fastskill --features git-support

# Verify installation
fastskill --help
Requirements:
  • Rust 1.70+ (rustup install stable)
  • Git (for git URL support, optional - only needed with --features git-support)
Skills Directory Resolution: The CLI automatically discovers the skills directory in this priority order:
  1. --skills-dir command line argument
  2. FASTSKILL_DIRECTORY environment variable
  3. .skills folder in current working directory
  4. Walking up directory tree searching for .skills folder

Rust Installation (Library)

Using Cargo

Add FastSkill to your Cargo.toml:
[dependencies]
fastskill = "0.1.0"
tokio = { version = "1.0", features = ["full"] }
Install dependencies:
cargo build
Verify installation:
cargo check --package fastskill

From Source

1

Clone and setup

git clone https://github.com/aroff/fastskill.git
cd fastskill/rust
2

Build the project

cargo build --release
Test the build:
cargo test
3

Install system-wide (optional)

cargo install --path .

Docker Installation

Pre-built Images

FastSkill Docker images are available on Docker Hub:
# Python implementation
docker run -it fastskill/python:latest

# Rust implementation
docker run -it fastskill/rust:latest

Building from Source

1

Clone the repository

git clone https://github.com/aroff/fastskill.git
cd fastskill
2

Build Docker image

# Python image
docker build -f docker/python/Dockerfile -t fastskill-python .

# Rust image
docker build -f docker/rust/Dockerfile -t fastskill-rust .
3

Run the container

# Python
docker run -it fastskill-python python -c "import fastskill; print('✅ Docker installation successful')"

# Rust
docker run -it fastskill-rust ./target/release/fastskill --help

Development Setup

For contributors and advanced users:

Python Development

1

Setup development environment

cd python
pip install -e ".[dev]"
2

Install testing tools

pip install pytest pytest-asyncio black isort mypy ruff
3

Run tests

pytest tests/ -v
4

Format and lint code

black src/ tests/
isort src/ tests/
mypy src/
ruff check src/ tests/

Rust Development

1

Install Rust toolchain

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
2

Install development tools

cargo install cargo-watch cargo-audit cargo-udeps
rustup component add rustfmt clippy
3

Setup development environment

cd rust
cargo build
4

Run tests and checks

cargo test
cargo fmt --check
cargo clippy -- -D warnings
cargo audit

Platform-Specific Instructions

macOS

  • Intel Macs
  • Apple Silicon (M1/M2)
# Using Homebrew
brew install python@3.11
pip install fastskill

# Or with Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install fastskill

Linux

  • Ubuntu/Debian
  • CentOS/RHEL/Fedora
  • Arch Linux
# Python
sudo apt update
sudo apt install python3.11 python3-pip
pip install fastskill

# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
cargo install fastskill

Windows

  • Python Only
  • With Rust
# Using Chocolatey
choco install python

# Or download from python.org
# Add Python to PATH
pip install fastskill

# Verify installation
python -c "import fastskill; print('Installation successful')"

Verification

After installation, verify everything works correctly:
1

Basic functionality test

verification.py
import asyncio
from fastskill import FastSkillService

async def verify():
    print("🧪 Running FastSkill verification...")

    service = FastSkillService()
    await service.initialize()

    # Test skill registration
    skill_id = await service.register_skill({
        'id': 'test-skill',
        'name': 'Test Skill',
        'description': 'Verification test skill',
        'version': '1.0.0',
        'tags': ['test'],
        'capabilities': ['testing']
    })

    # Test skill discovery
    skills = await service.discover_skills("test")
    assert len(skills) > 0, "No skills found"

    # Test skill listing
    all_skills = await service.list_skills()
    assert len(all_skills) > 0, "No skills listed"

    await service.shutdown()
    print("✅ All verification tests passed!")

asyncio.run(verify())
2

Run the verification

python verification.py

Troubleshooting

Permission denied: Try using pip install --user fastskill or run with sudo (not recommended).
Module not found: Ensure you’re in the correct virtual environment and Python version (3.8+).
Rust compilation errors: Make sure you have a stable Rust toolchain: rustup install stable
Slow imports: This is normal on first import as Rust extension compiles. Subsequent imports are fast.
High memory usage: Check your configuration limits in ServiceConfig.
macOS security: If you get security warnings, go to System Settings > Privacy & Security and allow the extension.
Windows antivirus: Add an exception for the FastSkill installation directory if antivirus blocks compilation.
Still having issues? Check the troubleshooting section or get help from the community.