Welcome to the ASL (Agentic Linux Setup) documentation. This repository provides a one-command setup for local agent development environments, inspired by the ODA repository structure.
~/projects/asl/asl.sh install --all- README.md - Project overview and quick start guide
- INSTALL.md - Detailed installation instructions
- USAGE.md - CLI usage and options reference
- TROUBLESHOOTING.md - Common issues and solutions
- CONFIG.md - Configuration options reference
- Distro Detection: Automatically detects and configures for Ubuntu, Debian, RHEL, CentOS, Arch, openSUSE
- Package Installation: Installs essential development tools and dependencies
- Python Environment: Sets up Python with version-pinned AI/ML libraries
- Docker Configuration: Configures Docker, Compose, Containerd, Buildah, Skopeo, CRUN
- GPU/CUDA Setup: Auto-detects and configures GPU drivers
- Secrets Management: Encrypted secrets storage with automated rotation
- llama.cpp Integration: Systemd service for autostart on boot
- Agent Frameworks: Install AutoGen, LangChain, and other frameworks
- Cleanup Utilities: Remove unused resources, containers, and caches
- Strict error handling (
set -euo pipefail) - Comprehensive logging at multiple levels (DEBUG, INFO, WARN, ERROR)
- Configuration backup and resume capability
- Version compatibility checks
- Configuration validation
asl/
├── asl.sh # Main entry script with CLI
├── setup/ # Environment setup functions
│ └── setup_functions.sh
├── install/ # Package installation functions
│ └── install_functions.sh
├── docker/ # Docker configuration
│ └── docker_functions.sh
├── gpu/ # GPU/CUDA setup
│ └── gpu_functions.sh
├── secrets/ # Secrets management
│ └── secrets_functions.sh
├── services/ # Systemd service management
│ └── service_functions.sh
├── agents/ # Agent framework installation
│ └── agent_functions.sh
├── cleanup/ # Cleanup utilities
│ └── cleanup_functions.sh
├── hooks/ # Pre/post hooks
│ └── asl.sh
├── docs/ # Documentation
├── examples/ # Example configurations
├── backups/ # Configuration backups
├── bin/ # Executable scripts
└── tools_config/ # Tool configurations
- Linux distribution (Ubuntu 20.04+, Debian 10+, RHEL 8+, etc.)
- Root or sudo access for system-wide installation
- Docker (optional)
- NVIDIA GPU and CUDA drivers (optional)
MIT License - See LICENSE file for details.
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
For issues and feature requests, please open an issue on GitHub.