- Detailed explanation of init-project purpose - Complete usage examples - Show example output - Clarify project structure (separate repos) - Include workflow summary
129 lines
3.1 KiB
Markdown
129 lines
3.1 KiB
Markdown
# Scripts
|
|
|
|
Utility scripts for agent installation and project management.
|
|
|
|
## bootstrap-agents.sh
|
|
|
|
**Purpose:** Ensures the latest homelab agents and tools are available on any VPS instance.
|
|
|
|
**What it does:**
|
|
- Clones the homelab-agents repository if not present
|
|
- Updates the repository to latest version if it exists
|
|
- Installs helper scripts (like init-project)
|
|
- Adds scripts to your PATH
|
|
- Verifies agents are available for use
|
|
|
|
**Usage:**
|
|
|
|
Run this **once** on your new VPS:
|
|
```bash
|
|
bash <(curl -s http://100.120.125.113:3000/pdm/homelab-agents/raw/branch/main/scripts/bootstrap-agents.sh)
|
|
```
|
|
|
|
**Output:**
|
|
```
|
|
✨ Homelab agents bootstrap complete!
|
|
|
|
📚 Available commands:
|
|
init-project <name> - Initialize a new project with git remote
|
|
cd ~/.homelab-agents - Browse agents and scripts
|
|
```
|
|
|
|
---
|
|
|
|
## init-project
|
|
|
|
**Purpose:** Quickly initialize new VPS projects with automatic Gitea remote configuration.
|
|
|
|
**Problem it solves:**
|
|
- No more manual git setup
|
|
- No more being asked for repository URL
|
|
- Consistent project initialization across all VPS instances
|
|
- Remote is ready before any work starts
|
|
|
|
**What it does:**
|
|
1. Creates a new project directory
|
|
2. Initializes git repository
|
|
3. Sets up git user config
|
|
4. **Automatically configures Gitea remote** (no prompts!)
|
|
5. Creates initial main branch
|
|
|
|
**Usage:**
|
|
|
|
From your projects directory:
|
|
```bash
|
|
cd ~/projects
|
|
init-project my-new-app
|
|
```
|
|
|
|
**Example output:**
|
|
```
|
|
📁 Creating project directory: my-new-app
|
|
🔧 Initializing git repository...
|
|
🔗 Configuring Gitea remote...
|
|
|
|
✅ Project initialized successfully!
|
|
|
|
📋 Project Details:
|
|
Name: my-new-app
|
|
Directory: /root/projects/my-new-app
|
|
Remote: http://100.120.125.113:3000/pdm/my-new-app.git
|
|
Branch: main
|
|
|
|
🚀 Next steps:
|
|
1. Start working in this directory
|
|
2. Create files and make changes
|
|
3. When done, use the summary agent
|
|
4. Agent will automatically commit and push to Gitea
|
|
```
|
|
|
|
**What happens next:**
|
|
- Work normally in your project directory
|
|
- Git remote is already configured
|
|
- When you use the summary agent, it knows exactly where to push
|
|
- No more "What's the Gitea remote URL?" prompts!
|
|
|
|
**Project Repository:**
|
|
|
|
Each project gets its own independent Gitea repository:
|
|
- Project: `my-new-app` → Repository: `http://100.120.125.113:3000/pdm/my-new-app.git`
|
|
- Project: `project-2` → Repository: `http://100.120.125.113:3000/pdm/project-2.git`
|
|
|
|
Projects on the same VPS are separate and independent.
|
|
|
|
**Installation:**
|
|
|
|
`init-project` is automatically installed by bootstrap-agents.sh to:
|
|
```
|
|
~/.homelab-scripts/init-project
|
|
```
|
|
|
|
It's added to your PATH, so you can run it from anywhere.
|
|
|
|
---
|
|
|
|
## Workflow Summary
|
|
|
|
### First Time on a VPS
|
|
```bash
|
|
bash <(curl -s http://100.120.125.113:3000/pdm/homelab-agents/raw/branch/main/scripts/bootstrap-agents.sh)
|
|
```
|
|
|
|
### For Each New Project
|
|
```bash
|
|
cd ~/projects
|
|
init-project my-app
|
|
cd my-app
|
|
# Start working...
|
|
```
|
|
|
|
### Closing a Session
|
|
Use the summary agent:
|
|
```
|
|
~/.homelab-agents/agents/sysadmin-session-closer.md
|
|
```
|
|
|
|
The agent will:
|
|
- Create session summary
|
|
- Commit changes
|
|
- Push to Gitea (using the remote we set up earlier) |