Files
homelab-agents/scripts
root 7e62a571aa Update: Scripts README to use 'source' for bootstrap
- Changed: bash <(...) → source <(...)
- Emphasize agents copied to .claude/agents/
- Clarify agent locations for Claude Code
- Update workflow examples
- Explain why source is better
2025-11-23 22:07:14 +00:00
..

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:

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:

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

source <(curl -s http://100.120.125.113:3000/pdm/homelab-agents/raw/branch/main/scripts/bootstrap-agents.sh)

For Each New Project

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)