- Changed: bash <(...) → source <(...) - Emphasize agents copied to .claude/agents/ - Clarify agent locations for Claude Code - Update workflow examples - Explain why source is better
151 lines
3.8 KiB
Markdown
151 lines
3.8 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
|
|
source <(curl -s http://100.120.125.113:3000/pdm/homelab-agents/raw/branch/main/scripts/bootstrap-agents.sh)
|
|
```
|
|
|
|
**Why use `source`?**
|
|
- Uses `source` instead of `bash` so PATH updates immediately in your current shell
|
|
- `init-project` and other commands are available right away
|
|
- No need to manually run `source ~/.bashrc` afterward
|
|
|
|
**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 and agent setup.
|
|
|
|
**Problem it solves:**
|
|
- No more manual git setup
|
|
- No more being asked for repository URL
|
|
- Agents automatically copied to project
|
|
- 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
|
|
6. **Copies agents to `.claude/agents/`** for Claude Code
|
|
7. Provides clear next steps
|
|
|
|
**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...
|
|
📚 Setting up Claude Code agents...
|
|
✅ Copied 2 agent(s) to .claude/agents/
|
|
|
|
✅ Project initialized successfully!
|
|
|
|
📋 Project Details:
|
|
Name: my-new-app
|
|
Directory: /home/pdm/projects/my-new-app
|
|
Remote: http://100.120.125.113:3000/pdm/my-new-app.git
|
|
Branch: main
|
|
Agents: .claude/agents/
|
|
|
|
🚀 Next steps:
|
|
1. Start working in this directory
|
|
2. Create files and make changes
|
|
3. When done, use the summary agent: .claude/agents/sysadmin-session-closer.md
|
|
4. Agent will automatically commit and push to Gitea
|
|
```
|
|
|
|
**What happens next:**
|
|
- Work normally in your project directory
|
|
- Git remote is already configured
|
|
- Agents are locally available in `.claude/agents/`
|
|
- 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.
|
|
|
|
**Agent Location:**
|
|
|
|
Agents are available at:
|
|
```
|
|
.claude/agents/sysadmin-session-closer.md
|
|
.claude/agents/[other-agents].md
|
|
```
|
|
|
|
Claude Code will automatically find them here.
|
|
|
|
**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
|
|
source <(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 at:
|
|
```
|
|
.claude/agents/sysadmin-session-closer.md
|
|
```
|
|
|
|
The agent will:
|
|
- Create session summary
|
|
- Commit changes
|
|
- Push to Gitea (using the remote we set up earlier) |