SIMPLE_SETUP is a command-line package manager and installer generator for the simple_* ecosystem of Eiffel libraries. It provides:
- Library Installation - Clone libraries from GitHub and set up environment variables
- Library Updates - Pull latest changes for installed libraries
- Status Tracking - See which libraries are installed
- Inno Setup Integration - Generate professional Windows installers
The library handles all 50+ simple_* libraries with proper dependency management, ensuring libraries are installed in the correct order.
Developed using AI-assisted methodology: Built interactively with Claude Opus 4.5 following rigorous Design by Contract principles.
- Clone the repository:
git clone https://github.com/simple-eiffel/simple_setup.git- Set the environment variable:
[Environment]::SetEnvironmentVariable('SIMPLE_SETUP', 'D:\prod\simple_setup', 'User')- Add to your ECF file:
<library name="simple_setup" location="$SIMPLE_SETUP\simple_setup.ecf"/>cd simple_setup
ec -config simple_setup.ecf -target simple_setup -c_compileec -config simple_setup.ecf -target simple_setup_tests -c_compile
./EIFGENs/simple_setup_tests/W_code/simple_setup.exe| Command | Description |
|---|---|
install <lib>... |
Install one or more libraries from GitHub |
update [--all] |
Update installed libraries |
list |
List all available libraries by layer |
info <lib> |
Show detailed library information |
status |
Show which libraries are installed |
generate-inno |
Generate Inno Setup script |
build-installer |
Build Windows installer |
help |
Show usage information |
simple_setup install simple_json simple_csv
simple_setup update --all
simple_setup status
simple_setup build-installer --version=1.0.0| Layer | Description | Examples |
|---|---|---|
| Foundation | Core utilities, no dependencies | json, csv, hash, uuid, regex |
| Platform | OS-specific features | env, console, registry, win32_api |
| Service | Higher-level services | sql, smtp, jwt, http, encryption |
| API | Aggregate facades | foundation_api, service_api, web |
Uses these simple_* libraries:
- simple_json, simple_process, simple_env, simple_console, simple_template, simple_testing
- Organization: https://github.com/simple-eiffel
- Inno Setup: https://jrsoftware.org/isinfo.php
- Eiffel: https://www.eiffel.org/
MIT License - see LICENSE file.
Author: Larry Rix Built with: Claude Opus 4.5 (Anthropic)
