Installation Guide¶
Complete step-by-step guide for setting up the provide-workspace workspace.
Prerequisites¶
Before starting, ensure you have all required tools installed.
Installation Steps¶
Step 1: Clone the Workspace Repository¶
Clone the provide-workspace repository to your local machine:
This creates the workspace root directory.
Step 2: Bootstrap the Workspace¶
The bootstrap script clones all 13+ provide.io ecosystem repositories:
What it does:
- Clones all ecosystem repositories as sibling directories
- Uses
gh(GitHub CLI) if available, falls back togit clone - Creates this directory structure:
parent-directory/
โโโ provide-workspace/ # โ You are here
โโโ provide-foundation/ # Cloned by bootstrap
โโโ provide-testkit/ # Cloned by bootstrap
โโโ pyvider/ # Cloned by bootstrap
โโโ pyvider-cty/ # Cloned by bootstrap
โโโ pyvider-hcl/ # Cloned by bootstrap
โโโ pyvider-rpcplugin/ # Cloned by bootstrap
โโโ pyvider-components/ # Cloned by bootstrap
โโโ flavorpack/ # Cloned by bootstrap
โโโ wrknv/ # Cloned by bootstrap
โโโ plating/ # Cloned by bootstrap
โโโ tofusoup/ # Cloned by bootstrap
โโโ supsrc/ # Cloned by bootstrap
โโโ provide-foundry/ # Cloned by bootstrap
โโโ ... (additional repos)
Duration: 5-10 minutes depending on network speed
Alternative: Use Symbolic Links
If you already have repositories cloned elsewhere, you can use symbolic links:
# Bootstrap will skip cloning for existing directories
ln -s /path/to/existing/pyvider ../pyvider
./scripts/bootstrap.sh
The script is idempotent - safe to run multiple times.
Step 3: Install Dependencies¶
The setup script installs all packages in editable mode:
What it does:
- Detects if
uvorpipis available - Creates a shared virtual environment at
.venv/ - Installs all packages in dependency order with editable installs
- Configures the environment for cross-package development
Duration: 3-5 minutes
Output:
Setting up provide.io development workspace...
Detected uv - using modern Python package manager
Creating virtual environment at .venv/
Installing packages in dependency order...
Foundation Layer:
โ provide-foundation
โ provide-testkit
Framework Layer:
โ pyvider-cty
โ pyvider-hcl
โ pyvider-rpcplugin
โ pyvider
โ pyvider-components
Tools Layer:
โ flavorpack
โ wrknv
โ plating
โ tofusoup
โ supsrc
Setup complete! Activate the environment:
source .venv/bin/activate
Step 4: Activate the Environment¶
Activate the shared virtual environment:
You should see (.venv) in your shell prompt:
Add to Your Shell Profile (optional but recommended):
# Add to ~/.bashrc or ~/.zshrc
alias activate-provide='source /path/to/provide-workspace/.venv/bin/activate'
Then use activate-provide from anywhere to activate the environment.
Step 5: Validate Your Setup¶
Run the validation script to verify everything is working:
What it checks:
- Python version (โฅ3.11)
- Virtual environment activation
- Package imports for all ecosystem packages
- Environment variable configuration
Expected Output:
Validating provide.io development workspace...
Python Version Check:
โ Python 3.11.5
Virtual Environment Check:
โ Virtual environment is active
Package Import Checks:
โ provide.foundation
โ provide.testkit
โ pyvider.cty
โ pyvider.hcl
โ pyvider.rpcplugin
โ pyvider
โ pyvider.components
โ flavor
โ wrknv
... (all packages)
All checks passed! โ
Your provide.io development workspace is ready.
If any checks fail, see Validation for troubleshooting.
Verification¶
After installation, verify the setup:
# Check that packages are installed in editable mode
pip list | grep provide
# Should show paths like: /Users/you/provide-workspace/provide-foundation
# Test an import
python3 -c "import pyvider; print(pyvider.__version__)"
# Run a simple test
cd pyvider/
uv run pytest tests/ -k "test_version"
Next Steps¶
Your provide-workspace workspace is now ready!
Learn the Basics¶
- Development Workflow - Making changes and testing
- Cross-Package Development - Working across packages
- Architecture - Understanding the workspace structure
Start Developing¶
Pick a package and dive in:
# Example: Work on pyvider
cd pyvider/
code . # Open in VS Code
# Make changes, run tests
uv run pytest
Build Documentation¶
View the complete ecosystem documentation:
Reinstalling¶
If you need to start over:
Clean Reinstall¶
Full Reset¶
# Remove all cloned repositories (CAUTION)
cd ..
rm -rf provide-*/ pyvider*/ flavor*/ wrknv plating tofusoup supsrc
# Start fresh
cd provide-workspace/
./scripts/bootstrap.sh
./scripts/setup.sh
Updating¶
To update all repositories to latest:
# Update provide-workspace itself
git pull
# Update all ecosystem packages
for dir in ../*/; do
(cd "$dir" && git pull)
done
# Reinstall dependencies if needed
./scripts/setup.sh
Troubleshooting¶
See Common Issues for solutions to common problems:
Alternative Installation Methods¶
Using Existing Repositories¶
If you already have some repositories cloned:
# Create symlinks for existing repos
ln -s /path/to/existing/repo ../repo-name
# Bootstrap will skip existing directories
./scripts/bootstrap.sh
# Setup as normal
./scripts/setup.sh
Minimal Installation¶
To install only specific packages (advanced):
# Bootstrap only certain repos
REPOS="provide-foundation pyvider" ./scripts/bootstrap.sh
# Install only those packages
./scripts/setup.sh
Note: Dependencies must be satisfied, so this requires understanding package relationships.
Getting Help¶
If you encounter issues:
- Check Troubleshooting
- Review package-specific
CLAUDE.mdandREADME.mdfiles - Open an issue in provide-workspace
- Ask in GitHub Discussions