# Download AEA
git clone https://github.com/openSVM/aea.git
cd aea
# Install in any project
cd /path/to/your/project
bash /path/to/aea/install.shThat's it! The installer automatically detects your project type and installs AEA appropriately.
The install.sh script is context-aware and automatically:
Supports 100+ programming languages via package manager detection:
| Language | Package Managers Detected |
|---|---|
| JavaScript/TypeScript | package.json, yarn.lock, pnpm-lock.yaml, bun.lockb |
| Python | requirements.txt, pyproject.toml, Pipfile, conda.yaml |
| Rust | Cargo.toml |
| Go | go.mod, go.sum |
| Ruby | Gemfile, Rakefile |
| PHP | composer.json |
| Java | pom.xml, build.gradle, build.sbt |
| .NET/C# | *.csproj, packages.config, global.json |
| C/C++ | CMakeLists.txt, Makefile, meson.build, conanfile |
| Dart/Flutter | pubspec.yaml |
| Swift | Package.swift, Podfile |
| Elixir | mix.exs |
| Haskell | stack.yaml, *.cabal |
| OCaml | dune-project, opam |
| Clojure | project.clj, deps.edn |
| R | DESCRIPTION, renv.lock |
| Julia | Project.toml |
| Zig | build.zig |
| Nim | *.nimble |
| Crystal | shard.yml |
| D | dub.json |
| Terraform | *.tf |
| Docker | Dockerfile, docker-compose.yml |
| Kubernetes | YAML with apiVersion |
| ...and more! |
- Project directory? → Installs in
.aea/subdirectory - Regular directory? → Asks where to install
If .aea/ already exists:
- Complete installation → Offers repair or delete
- Partial installation → Offers repair
- No installation → Proceeds with fresh install
cd /path/to/my-rust-app
bash /path/to/aea/install.shOutput:
[INFO] Current directory: /path/to/my-rust-app
[INFO] Detected project type(s): Rust/Cargo
[SUCCESS] Installing AEA in project directory
▶ Installing AEA in: /path/to/my-rust-app
...
[SUCCESS] AEA installed successfully!
cd ~/random-files
bash /path/to/aea/install.shOutput:
[INFO] Not a project directory (no package managers detected)
This doesn't appear to be a project directory
Where would you like to install AEA?
1) Current directory (.aea subfolder)
2) Cancel
Choose [1-2]: 1
cd /path/to/project
bash /path/to/aea/install.shOutput:
⚠ AEA is already installed in this directory
What would you like to do?
1) Repair installation (fix missing files)
2) Delete and backup (move to ~/.aea/backups)
3) Cancel
Choose [1-3]: 1
cd /path/to/project
bash /path/to/aea/install.shChoose option 2:
This will backup and remove the existing .aea directory
Are you sure? (yes/no): yes
[SUCCESS] Deleted and backed up to: ~/.aea/backups/my-project-20251022-153045
Install fresh AEA now? (yes/no): yes
When you delete an AEA installation, it's automatically backed up to:
~/.aea/backups/
└── project-name-TIMESTAMP/
├── aea-backup/ # Your .aea directory
└── BACKUP_INFO.json # Metadata
Each backup includes comprehensive metadata:
{
"timestamp": "2025-10-22T15:30:45Z",
"source_path": "/path/to/project",
"project_name": "my-project",
"reason": "user-requested-deletion",
"backup_size": "2.3M",
"message_count": 15,
"restore_command": "mv ~/.aea/backups/... /path/to/project/.aea"
}bash install.sh --listOutput:
Available backups:
my-rust-app-20251022-153045
Project: my-rust-app
Date: 2025-10-22T15:30:45Z
Reason: user-requested-deletion
Size: 2.3M
backend-api-20251021-091523
Project: backend-api
Date: 2025-10-21T09:15:23Z
Reason: user-requested-deletion
Size: 5.1M
# Find your backup
ls ~/.aea/backups/
# Restore it
mv ~/.aea/backups/my-project-TIMESTAMP/aea-backup /path/to/project/.aeaThe installer works from anywhere:
# From AEA source directory
cd /path/to/aea
./install.sh
# From a project directory
cd /path/to/my-project
bash /path/to/aea/install.sh
# From .aea directory (if copying installer)
cd /path/to/my-project/.aea
bash install.shbash install.sh --forcebash install.sh --repairWhen AEA is installed in your project:
your-project/
├── .aea/
│ ├── aea.sh # Main command interface
│ ├── PROTOCOL.md # Protocol specification
│ ├── CLAUDE.md # Instructions for Claude Code
│ ├── agent-config.yaml # Configuration (auto-generated)
│ ├── scripts/ # Operational scripts
│ │ ├── aea-check.sh
│ │ ├── aea-send.sh
│ │ ├── aea-monitor.sh
│ │ └── ...
│ ├── prompts/ # Prompt templates
│ ├── docs/ # Documentation
│ ├── .processed/ # Message tracking (runtime)
│ ├── logs/ # Log directory (runtime)
│ └── .gitignore # Ignores runtime files
│
└── your-project-files...
The agent-config.yaml is customized for your project:
agent:
id: "claude-your-project-name" # Based on directory name
type: "claude-sonnet-4.5"
repository: "."
...After installation, verify it works:
# Check for messages
bash .aea/aea.sh check
# View help
bash .aea/aea.sh help
# Set up global command
bash .aea/aea.sh setup-globalCause: Running install.sh from a location where it can't find the AEA repository.
Solution: Run from the AEA repository or specify the full path:
bash /full/path/to/aea/install.shCause: Script not executable.
Solution:
chmod +x /path/to/aea/install.shCause: Too many backups in ~/.aea/backups/.
Solution:
# List backups
bash install.sh --list
# Remove old backups
rm -rf ~/.aea/backups/old-project-*To remove AEA while keeping a backup:
cd /path/to/project
bash /path/to/aea/install.sh
# Choose option 2 (Delete and backup)To remove without backup:
rm -rf /path/to/project/.aeaAfter installation:
- Check documentation:
cat .aea/CLAUDE.md - Test messaging:
bash .aea/scripts/create-test-scenarios.sh all - Set up monitoring:
bash .aea/aea.sh monitor start - Read the protocol:
cat .aea/PROTOCOL.md
For issues or questions:
- Check
.aea/CLAUDE.mdfor usage instructions - Review
.aea/PROTOCOL.mdfor protocol details - Check backups in
~/.aea/backups/