AI-powered CLI for Webdesigner. Multi-Agent. Provider-agnostic. Open Source.
Webforge ist ein Kommandozeilen-Tool mit vier spezialisierten KI-Agenten. Jeder Agent übernimmt eine Aufgabe: Audit, Code-Generierung, SEO oder Text. Du wählst den Provider frei — Claude, OpenAI, Gemini oder lokal via Ollama.
npm install -g webforgegit clone https://github.com/dein-name/webforge.git
cd webforge
npm install
npm link # oder: node bin/webforge.js- Kopiere
.env.examplezu.envund füge deine API-Keys ein:
cp .env.example .envANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
# Ollama braucht keinen Key — läuft auf http://localhost:11434- (Optional) Erstelle eine Projekt-Konfiguration:
webforge config showDie Config liegt in ~/.webforge/config.json oder projektspezifisch in webforge.config.json.
Tippe einfach webforge ohne Argumente — Forgey, dein Maskottchen, begrüßt dich und du schreibst natürlichsprachlich, was du brauchst:
$ webforge
██╗ ██╗███████╗██████╗ ███████╗ ██████╗ ██████╗ ██████╗ ███████╗
...
╭─────────────────────────────────────────╮
╱ ◠‿◠ ╲
│ ═══════ Willkommen bei Webforge! │
╲ │ Dein AI-Partner für Webdesign ╱
╰───┴───╯────────────────────────────────╯
│
┌────┴────┐
│ Forgey │
└─────────┘
webforge › audit https://sindys-beauty.de
webforge › generate hero
webforge › seo für meine beauty website
webforge › help # zeigt alle Befehle
webforge › tipps # Forgey gibt dir einen Tipp 💡
webforge › status # zeigt aktuelle Config
webforge › exit# 1. Website auditen
webforge audit https://sindys-beauty.de --provider ollama
# 2. SEO-Paket generieren
webforge meta https://sindys-beauty.de --lang de --business "BeautySalon"
# 3. UI-Komponente bauen
webforge generate hero --tokens ./brand.json --provider claude
# 4. Texte schreiben lassen
webforge copy headline --business "Sindy's Beauty" --lang de --tone "elegant, warm"
# 5. Freier Modus — Webforge wählt den Agenten selbst
webforge run "Erstelle mir eine komplette SEO-Strategie für meine Beauty-Website"Forgey ist dein persönlicher Assistent im interaktiven Modus. Er erscheint nur, wenn du webforge ohne Argumente startest. Bei direkten Commands (z.B. webforge audit ...) bleibt er still, damit Scripts und CI-Pipelines nicht unterbrochen werden.
Was Forgey kann:
- Begrüßt dich mit ASCII-Art beim Start
- Gibt alle 60 Sekunden einen zufälligen Tipp (Design, Accessibility, SEO)
- Antwortet als persönlicher Assistent auf
help,tipps,status - Sagt dir, welcher Agent am besten passt, wenn du unklare Eingaben machst
| Agent | Farbe | Rolle | Command |
|---|---|---|---|
| Scout | Cyan | Design & Accessibility Auditor | webforge audit <url> |
| Forge | Orange | Code Generator (HTML/CSS/JS) | webforge generate <type> |
| Lumen | Magenta | SEO & Meta Spezialist | webforge meta <url> |
| Quill | Gelb | Texter & Copywriter | webforge copy <type> |
Konfiguration anzeigen oder ändern.
webforge config show
webforge config set defaultProvider claude
webforge config set agents.scout ollama
webforge config set agents.forge openaiScout analysiert eine Website. Er fetcht den HTML-Code, extrahiert Titel, Meta-Tags, Heading-Struktur, Alt-Texte und OG-Tags — und schickt alles an die KI.
webforge audit https://example.com
webforge audit https://example.com --provider ollama
webforge audit https://example.com --output ./reportsOutput: output/audit-YYYY-MM-DD.md
Lumen generiert ein komplettes SEO-Paket:
webforge meta https://sindys-beauty.de --lang de --business "BeautySalon"
webforge meta https://example.com --provider openai --lang enOutput in output/seo/:
meta-tags.html— Fertige<head>-Tagsschema.json— JSON-LD strukturierte Datenrobots.txtsitemap.xmlllms.txt
Forge generiert eine UI-Komponente als Semantic HTML + BEM CSS + Vanilla JS.
webforge generate hero
webforge generate navbar --tokens ./brand.json
webforge generate footer --provider claude --output ./src/componentsOptionale brand.json:
{
"colors": {
"primary": "#FF6B35",
"secondary": "#4ECDC4"
},
"fonts": {
"heading": "Inter",
"body": "Open Sans"
},
"spacing": {
"base": "1rem"
}
}Output in output/components/<type>/:
<type>.html<type>.css<type>.js
Quill schreibt Texte für lokale Businesses und Agenturen.
webforge copy headline --business "Sindy's Beauty" --lang de --tone "elegant, warm"
webforge copy about --business "OAVA Studios" --lang de
webforge copy alt --image ./hero.jpg --lang deOutput: output/copy/<type>.md (3 Varianten)
Freier Modus. Gib einen Prompt in natürlicher Sprache ein — Webforge wählt den passenden Agenten.
webforge run "Audit meine Website auf Accessibility-Fehler"
webforge run "Erstelle ein SEO-Paket für meinen Beauty-Salon"
webforge run "Schreibe einen Hero-Text für meine Landing Page"| Provider | API Key | Lokal | Bemerkung |
|---|---|---|---|
| Claude | ANTHROPIC_API_KEY |
Nein | Default, sehr gute Code-Qualität |
| OpenAI | OPENAI_API_KEY |
Nein | GPT-4o, schnell und zuverlässig |
| Gemini | GEMINI_API_KEY |
Nein | Google, gute Multilingualität |
| Ollama | — | Ja | Läuft auf localhost:11434, kein API-Key nötig |
Jeder Befehl akzeptiert --provider <name>, um den Default zu überschreiben:
webforge audit https://example.com --provider gemini
webforge generate hero --provider openaiConfig-Hierarchie (höchste Priorität zuerst):
- CLI-Flag (
--provider) webforge.config.jsonim aktuellen Verzeichnis~/.webforge/config.json- Built-in Defaults
Beispiel webforge.config.json:
{
"defaultProvider": "claude",
"defaultLang": "de",
"agents": {
"scout": "ollama",
"forge": "claude",
"lumen": "claude",
"quill": "gemini"
},
"ollama": {
"model": "llama3.2",
"host": "http://localhost:11434"
}
}- Erstelle
locales/fr.json:
{
"scout": { "name": "Scout", "color": "cyan", "description": "Auditeur Design & Accessibilité" }
}- Nutze:
webforge audit ... --lang fr
- Erstelle
src/agents/pixel.jsmit einerrun(args, options)-Funktion. - Erstelle
prompts/pixel.mdmit dem System-Prompt. - Fertig —
webforge pixel <args>ist sofort verfügbar.
Erstelle ein npm-Paket mit einem webforge-Feld in package.json:
{
"name": "webforge-pixel",
"webforge": {
"agents": ["pixel"],
"locales": ["fr"],
"entry": "./plugin.js"
}
}plugin.js:
export default {
register({ registerAgent, registerLocale }) {
registerAgent('pixel', {
promptPath: './prompts/pixel.md',
provider: 'claude'
});
registerLocale('fr', { translations: require('./locales/fr.json') });
}
};Setze den Key als Umgebungsvariable oder in einer .env-Datei im Projekt-Root.
Stelle sicher, dass Ollama läuft:
ollama serve
# oder
ollama run llama3.2Ollama ist langsam auf älterer Hardware. Erhöhe das Timeout in der Config oder nutze einen Cloud-Provider.
- Forke das Repository
- Erstelle einen Branch:
git checkout -b feature/neuer-agent - Committe deine Änderungen:
git commit -am 'Neuer Agent: Pixel' - Pushe zum Branch:
git push origin feature/neuer-agent - Erstelle einen Pull Request
MIT