archy/QUICK_REFERENCE.md
Dorian 0d073fa89e Add comprehensive installation and setup documentation
- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
2026-01-27 17:18:21 +00:00

323 lines
5.9 KiB
Markdown

# Archipelago Quick Reference
## Installation
```bash
# Install all dependencies
./INSTALL.sh
# Verify installation
./verify-install.sh
```
## Development
### Start Development Servers
```bash
# Quick start (mock backend)
./scripts/dev.sh
# Interactive start
./scripts/dev-start.sh
# Manual start
# Terminal 1:
cd core && cargo run --bin archipelago
# Terminal 2:
cd neode-ui && npm run dev
```
### URLs
- Frontend: http://localhost:8100
- Backend API: http://localhost:5959
- Backend RPC: http://localhost:5959/rpc/v1
## Common Commands
### Rust Backend
```bash
cd core
# Run in development mode
cargo run --bin archipelago
# Run in release mode (faster)
cargo run --bin archipelago --release
# Build only
cargo build
# Run tests
cargo test
# Auto-reload on changes
cargo install cargo-watch
cargo watch -x 'run --bin archipelago'
# Check for errors without building
cargo check
```
### Frontend (Vue.js)
```bash
cd neode-ui
# Install dependencies
npm install
# Development server
npm run dev
# With mock backend
npm run dev:mock
# Build for production
npm run build
# Type checking
npm run type-check
# Preview production build
npm run preview
```
### Apps (Containerized)
```bash
cd apps
# Build all apps
./build.sh
# Build specific app
./build.sh router
./build.sh bitcoin-core
./build.sh did-wallet
# Install app dependencies (for custom apps)
cd apps/router && npm install
cd apps/did-wallet && npm install
cd apps/web5-dwn && npm install
```
### Container Management (Podman)
```bash
# Check Podman status
podman --version
podman info
# Manage Podman machine
podman machine list
podman machine start
podman machine stop
podman machine ssh
# List containers
podman ps
podman ps -a
# List images
podman images
# Remove all stopped containers
podman container prune
# Remove unused images
podman image prune
```
### Database (PostgreSQL)
```bash
# Start/stop PostgreSQL service
brew services start postgresql@15
brew services stop postgresql@15
brew services restart postgresql@15
# Check service status
brew services list | grep postgresql
# Create database
createdb archipelago_dev
# Drop database
dropdb archipelago_dev
# Connect to database
psql archipelago_dev
# List databases
psql -l
```
## Configuration
### Backend Configuration
File: `core/.env`
```bash
DATADIR=/tmp/archipelago-dev
RPC_BIND=127.0.0.1:5959
LOG_LEVEL=debug
DATABASE_URL=postgresql://localhost/archipelago_dev
ARCHIPELAGO_DEV_MODE=true
```
### Frontend Configuration
File: `neode-ui/.env`
```bash
VITE_BACKEND_URL=http://localhost:5959
VITE_API_BASE=/rpc/v1
VITE_DEV_MODE=true
```
## Troubleshooting
### Ports Already in Use
```bash
# Find process using port
lsof -i :5959
lsof -i :8100
# Kill process
kill -9 <PID>
```
### PostgreSQL Issues
```bash
# Check if running
pg_isready
# View logs
tail -f /opt/homebrew/var/log/postgresql@15.log
# Restart service
brew services restart postgresql@15
```
### Podman Issues
```bash
# Restart machine
podman machine stop
podman machine start
# Reset machine (WARNING: destroys all containers/images)
podman machine rm
podman machine init
podman machine start
```
### Rust Compilation Issues
```bash
# Update Rust
rustup update
# Clean and rebuild
cd core
cargo clean
cargo build
```
### Node/NPM Issues
```bash
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
```
## Project Structure
```
archy/
├── INSTALL.sh # Installation script
├── verify-install.sh # Verify installation
├── SETUP_GUIDE.md # Detailed setup guide
├── README.md # Main documentation
├── core/ # Rust backend
│ ├── .env # Backend config (create from .env.example)
│ ├── archipelago/ # Main binary
│ ├── container/ # Container management
│ ├── parmanode/ # Parmanode integration
│ ├── security/ # Security modules
│ └── performance/ # Performance optimization
├── neode-ui/ # Vue.js frontend
│ ├── .env # Frontend config (create from .env.example)
│ └── src/ # Source files
├── apps/ # Containerized applications
│ ├── build.sh # Build apps
│ ├── bitcoin-core/ # Bitcoin node
│ ├── router/ # Custom router app
│ ├── did-wallet/ # Web5 DID wallet
│ └── web5-dwn/ # Web5 DWN server
├── docs/ # Documentation
├── scripts/ # Development scripts
└── image-recipe/ # OS image build files
```
## Useful Aliases
Add to your `~/.zshrc` or `~/.bashrc`:
```bash
# Archipelago aliases
alias archy-backend='cd ~/Projects/archy/core && cargo run --bin archipelago'
alias archy-frontend='cd ~/Projects/archy/neode-ui && npm run dev'
alias archy-verify='cd ~/Projects/archy && ./verify-install.sh'
alias archy-apps='cd ~/Projects/archy/apps'
alias archy-docs='cd ~/Projects/archy/docs'
```
## Development Workflow
1. **Start backend** (Terminal 1)
```bash
cd core && cargo run --bin archipelago
```
2. **Start frontend** (Terminal 2)
```bash
cd neode-ui && npm run dev
```
3. **Make changes** to code
4. **See changes live:**
- Frontend: Auto-reloads with Vite HMR
- Backend: Restart cargo or use cargo-watch
5. **Build apps** when needed:
```bash
cd apps && ./build.sh <app-name>
```
## Resources
- [Development Setup Guide](docs/development-setup.md)
- [Architecture Documentation](docs/architecture.md)
- [App Manifest Specification](docs/app-manifest-spec.md)
- [Apps Quick Start](apps/QUICKSTART.md)
- [Apps Development Guide](apps/DEVELOPMENT.md)
## Getting Help
1. Check [SETUP_GUIDE.md](SETUP_GUIDE.md) for detailed instructions
2. Run `./verify-install.sh` to diagnose issues
3. Review error messages carefully
4. Check service status (PostgreSQL, Podman)
5. Look in `docs/` for specific topics