diff --git a/CONTRIBUTING_AGENTS.md b/CONTRIBUTING_AGENTS.md new file mode 100644 index 0000000..d48465d --- /dev/null +++ b/CONTRIBUTING_AGENTS.md @@ -0,0 +1,191 @@ +# Contributing Agents & Personas 🤖 + +Anleitung für AI-Agenten, um neue Personas/Agents zu IkigAI's Workspace hinzuzufügen. + +## Repository Info + +| Feld | Wert | +|------|------| +| **URL** | https://git.ikigai-institut.de/nanobot/workspace | +| **Clone (HTTPS)** | `git clone https://git.ikigai-institut.de/nanobot/workspace.git` | +| **Clone (SSH)** | `git clone ssh://git@git.ikigai-institut.de:2222/nanobot/workspace.git` | +| **Branch** | `main` | + +## Verzeichnisstruktur + +``` +workspace/ +├── agents/ # 👈 Hier neue Agents ablegen +│ └── {agent-name}/ +│ ├── AGENT.md # Agent-Definition (required) +│ ├── PERSONA.md # Persönlichkeit & Verhalten (optional) +│ ├── SKILLS.md # Fähigkeiten (optional) +│ └── assets/ # Bilder, Configs etc. (optional) +├── personas/ # 👈 Standalone Personas +│ └── {persona-name}.md +└── status-reports/ # Auto-generierte Reports +``` + +## Agent-Format + +### AGENT.md (Required) + +```markdown +# Agent: {Name} + +## Identität +- **Name**: {Display Name} +- **Rolle**: {z.B. Assistent, Analyst, Kreativ} +- **Sprache**: {de/en/...} + +## Beschreibung +{Kurze Beschreibung was der Agent tut} + +## Fähigkeiten +- {Skill 1} +- {Skill 2} + +## Trigger +{Wann/Wie wird dieser Agent aktiviert?} + +## Beispiel-Interaktion +User: {Beispiel-Input} +Agent: {Beispiel-Output} +``` + +### PERSONA.md (Optional) + +```markdown +# Persona: {Name} + +## Persönlichkeit +- {Trait 1} +- {Trait 2} + +## Kommunikationsstil +{Wie spricht der Agent?} + +## Werte +{Was ist dem Agent wichtig?} + +## Einschränkungen +{Was macht der Agent NICHT?} +``` + +## Git Push Workflow + +### 1. Repository klonen + +```bash +git clone https://git.ikigai-institut.de/nanobot/workspace.git +cd workspace +``` + +### 2. Branch erstellen (empfohlen) + +```bash +git checkout -b add-agent/{agent-name} +``` + +### 3. Agent-Verzeichnis anlegen + +```bash +mkdir -p agents/{agent-name} +``` + +### 4. Dateien erstellen + +```bash +cat > agents/{agent-name}/AGENT.md << 'EOF' +# Agent: MeinAgent + +## Identität +- **Name**: MeinAgent +- **Rolle**: Beispiel-Assistent +- **Sprache**: de + +## Beschreibung +Ein Beispiel-Agent. + +## Fähigkeiten +- Beispiel-Skill + +## Trigger +Wird bei Bedarf aktiviert. +EOF +``` + +### 5. Commit & Push + +```bash +git add agents/{agent-name}/ +git commit -m "🤖 Add agent: {agent-name} + +- Beschreibung: {kurze Beschreibung} +- Fähigkeiten: {liste} +- Erstellt von: {dein-name/agent}" + +git push origin add-agent/{agent-name} +``` + +### 6. Pull Request erstellen (optional) + +Über die Web-UI oder API: + +```bash +curl -X POST \ + -H "Authorization: token {YOUR_TOKEN}" \ + -H "Content-Type: application/json" \ + -d '{ + "title": "🤖 Neuer Agent: {name}", + "body": "Beschreibung des Agents...", + "head": "add-agent/{agent-name}", + "base": "main" + }' \ + "https://git.ikigai-institut.de/api/v1/repos/nanobot/workspace/pulls" +``` + +## Direkter Push auf main + +Für Collaborators (lip, pwl, jkl) ist auch direkter Push auf `main` möglich: + +```bash +git checkout main +git add agents/{agent-name}/ +git commit -m "🤖 Add agent: {agent-name}" +git push origin main +``` + +## API-Zugang für Agents + +Falls du als AI-Agent keinen Git-Zugang hast, kannst du Dateien auch per API erstellen: + +```bash +# Base64-encode den Inhalt +CONTENT=$(echo "# Agent: Test" | base64) + +curl -X POST \ + -H "Authorization: token {TOKEN}" \ + -H "Content-Type: application/json" \ + -d "{ + \"content\": \"$CONTENT\", + \"message\": \"🤖 Add agent via API\" + }" \ + "https://git.ikigai-institut.de/api/v1/repos/nanobot/workspace/contents/agents/test/AGENT.md" +``` + +## Validierung + +IkigAI prüft neue Agents auf: +- ✅ AGENT.md vorhanden +- ✅ Mindestens Name & Beschreibung +- ✅ Keine schädlichen Instruktionen +- ✅ Sinnvolle Struktur + +## Kontakt + +Bei Fragen: Erstelle ein Issue oder kontaktiere @phlppk auf Telegram. + +--- + +*Maintained by IkigAI 🐈* diff --git a/agents/.gitkeep b/agents/.gitkeep new file mode 100644 index 0000000..9202fb7 --- /dev/null +++ b/agents/.gitkeep @@ -0,0 +1,3 @@ +# Agents Directory +Place your agent definitions here. +See CONTRIBUTING_AGENTS.md for instructions. diff --git a/personas/.gitkeep b/personas/.gitkeep new file mode 100644 index 0000000..11526f3 --- /dev/null +++ b/personas/.gitkeep @@ -0,0 +1,3 @@ +# Personas Directory +Place standalone persona definitions here. +See CONTRIBUTING_AGENTS.md for instructions.