Start / Cheat Sheets

Cheat Sheet

Pi Coding Agent — Cheat Sheet

Stand: · Pi Coding Agent Praxis

PiCoding AgentAGENTS.mdContext Engineering

Der Spickzettel zum Seminar Pi Coding Agent Praxis. Pi bewegt sich schnell — der Stand ist oben vermerkt, Quelle ist pi.dev. Verlässlich bleiben vor allem die Entscheidungen: Welche Regel gehört wohin, welche Rechte gibt man, wann lohnt welche Denkstufe.

Was Pi ist — und was bewusst fehlt

AspektAssistent im EditorAgent-Harness wie Pi
EingriffVorschlag an der CursorstelleWerkzeugaufrufe im Projekt
Umfangeine Dateimehrere Dateien, mehrere Schritte
ErgebnisText zum Übernehmengeänderte Dateien, Shell-Ausgabe
KontrolleTab drückenErgebnisse prüfen, Rechte setzen
Nicht im KernKonsequenz für die Arbeit
MCPWerkzeuge kommen als Extension oder Package
Sub-AgentsAufgaben selbst zerlegen — oder Package nachrüsten
Plan ModePlanen als Prompt-Praxis statt als Modus
Permission-PopupsRechte vorher bewusst festlegen
To-dos, Background-Bashüber eigene Extensions abbildbar

Der kleine Kern ist keine Sparversion, sondern Kontrollgewinn — „Primitives, not features”. Und „fehlt” heißt nicht „geht nicht”: vieles ist nachrüstbar.

npm install -g --ignore-scripts @earendil-works/pi-coding-agent
cd /pfad/zum/projekt
pi                                    # interaktive Session
pi -p "Fasse dieses Repo zusammen"    # ein Durchlauf
pi @README.md "Wie laufen die Checks?"

@datei stellt Dateien als Kontext bereit, !npm run lint ruft die Shell.

Module: Pi verstehen · Installation, Modelle & Konfiguration

Einsatzszenarien und Modi

SzenarioModusWoran geprüft wird
Repo erschließeninteraktivKommandos bestätigen Aussagen
Analyse in CIprint/JSONExit-Code und Ausgabeformat
Eigenes ToolingRPC/SDKTests des umgebenden Programms
TeamregelnAGENTS.mdReview der Datei im Repo

Je unbeaufsichtigter der Modus, desto enger die Umgebung — und desto wichtiger ein Prüfpunkt, der ohne Zusehen trägt.

Modul: Pi verstehen

Zugangsdaten und Denkstufen

RangQuelleTypischer Einsatz
1--api-key auf der CLIeinmaliger Sonderfall
2~/.pi/agent/auth.jsonDauerbetrieb, auch per /login
3UmgebungsvariableCI, Container, Skripte
4Keys aus models.jsoneigene bzw. lokale Provider

Keys gehören nie ins Projekt-Repository — auch nicht nach .pi/. Ein häufiges Rätsel: Der Key ist gesetzt, aber auth.json gewinnt.

Thinking LevelPasst zuKosten/Zeit
off / minimalUmbenennen, Formatieren, Suchensehr niedrig
low / mediumnormale Feature-Arbeitmoderat
highFehlersuche, Architekturfragenerhöht
xhigh / maxschwer eingrenzbare Fehlerhoch

Niedrig starten und gezielt erhöhen, statt sich die höchste Stufe anzugewöhnen.

Welcher Kontext gehört wohin?

InhaltOrtGilt
Dauerhafte ProjektregelnAGENTS.mdjede Session
Persönliche Vorlieben~/.pi/agent/AGENTS.mdalle Projekte
Firmenweite Vorgabenübergeordnete Ebenealle Repos der Firma
Aufgabenbezogene Dateien@datei im Promptdiese Aufgabe
Rollenverhalten.pi/SYSTEM.mddieses Projekt

Je dauerhafter eine Regel gilt, desto weiter oben gehört sie hin — und Widersprüche zwischen Ebenen werden aufgelöst, nicht gestapelt.

Anteil am KontextHerkunftSteuerbar durch
SystempromptPi bzw. SYSTEM.mdProjektdatei
ProjektregelnAGENTS.mdkurz halten
Dateien@datei, readAuswahl
Werkzeugausgabenbash, grepgezielte Kommandos

Reserve für die Antwort: compaction.reserveTokens, Standard 16384.

VagePräzise
„Mach das schneller”„Reduziere Renderzeit messbar in list.tsx
„Schreib Tests”„Vitest-Test für Fehlerfall in parse()
„Räum das auf”„Nur Namen anpassen, kein Verhalten ändern”
„Fixe den Bug”npm test -- t.spec muss grün werden”

Die rechte Spalte lässt sich prüfen — die linke nicht.

Module: AGENTS.md · Context Engineering · Development Workflow

Rechte und Schutzebenen

ProfilWerkzeugePasst zu
Lesenread, grep, find, lsfremder Code, Reviews
Arbeiten+ write, editeigenes Projekt, Feature-Arbeit
Voll+ bashProjekt mit Tests und Build

Aufsteigend vergeben — nie mit dem vollen Profil beginnen. Das ergibt zugleich die Planphase, für die Pi keinen eigenen Modus braucht:

pi --tools read,grep,find,ls \
   "Plane die Migration auf Vitest in 5 Schritten, je Schritt mit
    Nachweis. Nichts ändern."
MechanismusSchütztSchützt nicht
ProjektvertrauenKonfiguration, ExtensionsDateien, Shell
Tool-Einschränkungungewollte Werkzeugeerlaubte Werkzeuge
Container/VMHost-Dateien, Netzgemountete Pfade
Review der Änderungenfalsche ErgebnisseAusführung selbst

Keine Schicht trägt allein — kombinieren.

Modul: Sicherheit & Agentenzugriff

Sessions

MittelWirkungErgebnis
/treeAlternativen in derselben Dateiein Baum
/forkneue Datei ab früherer Nachrichtzwei Sessions
/cloneaktiven Zweig verdoppelnzwei Sessions
/compactVerlauf zusammenfassenkürzerer Kontext

Erst Zweck klären, dann Werkzeug wählen. Bei Themenwechsel /new statt Nachschub in eine lange Session.

Modul: Session Management

AGENTS.md, Template, Skill oder Extension?

FallPassendes MittelBegründung
Regel für jede ÄnderungAGENTS.mdgilt immer
Formulierung, ein SchrittPrompt Templatenur Text
Ablauf mit SchrittenSkillwird geladen
Neues WerkzeugExtensionbraucht Code
BausteinInhaltWirkung
Umfang„nur gestagte Änderungen”keine Streuung
KriterienKorrektheit, Fehlerpfadevergleichbar
BelegformDatei, Zeile, Begründungprüfbar
Ausschluss„kein Stil, kein Refactoring”kurze Berichte

Ein Template je Zweck statt eines Universal-Reviews — der Ausschluss ist der Baustein, den man am ehesten vergisst.

ParameterBedeutungBeispiel
$1, $2erstes, zweites Argument/component Button
$@alle Argumente zusammen/note a b c
${1:-x}Argument oder Rückfall x/review
${@:2}ab dem zweiten Argument/task id rest…

Mehr als drei Parameter sind ein Zeichen für einen Skill.

Module: Prompt Templates · Skills entwickeln

Extensions

import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";

export default function (pi: ExtensionAPI) {
  pi.on("session_start", async (_e, ctx) => ctx.ui.notify("geladen", "info"));

  pi.registerTool({
    name: "greet",
    description: "Greet someone by name",
    parameters: Type.Object({ name: Type.String() }),
    async execute(id, params) {
      return { content: [{ type: "text", text: `Hello, ${params.name}!` }],
               details: {} };
    },
  });

  pi.registerCommand("hello", {
    description: "Say hello",
    handler: async (args, ctx) => ctx.ui.notify(`Hello ${args || "world"}!`),
  });

  // Guardrail: riskante Aufrufe abfangen
  pi.on("tool_call", async (event, ctx) => {
    const cmd = event.input.command ?? "";
    if (event.toolName === "bash" && /rm -rf|curl .*\| sh/.test(cmd)) {
      const ok = await ctx.ui.confirm("Riskant?", cmd);
      if (!ok) return { block: true, reason: "blockiert" };
    }
  });
}
SchutzebeneWirkungGrenze
ToollisteWerkzeug fehlt ganzerlaubte Werkzeuge frei
Guardrail-Extensionprüft je Aufrufläuft im selben Prozess
Container/VMProzess eingesperrtgemountete Pfade offen

Vor dem Installieren fremder Erweiterungen:

KriteriumGute AntwortWarnsignal
Bedarfkonkrete, häufige Aufgabe„könnte nützlich sein”
Rechtenur was die Aufgabe brauchtNetz plus Shell plus Schreiben
Pflegeaktives Projekt, Quellcode lesbarletzte Änderung unklar
Rückbaupi remove, keine ResteHandarbeit nötig

Module: Extensions · Packages & Erweiterungen

Typische Fallen

  • Verabredungen im Chat treffen, statt sie in AGENTS.md festzuschreiben — und umgekehrt: Onboarding-Doku in AGENTS.md kopieren.
  • Regeln, die man nicht prüfen kann („schreibe sauberen Code”).
  • Drei Aufträge in einer Nachricht — dann priorisiert der Agent selbst.
  • „Baue das Feature” ohne Abnahmekriterium — niemand kann prüfen.
  • Die Ausgabe des Agenten als Beleg lesen statt als Behauptung.
  • Änderungen übernehmen, ohne Tests oder Diff anzusehen.
  • Bei jedem Tool-Aufruf bestätigen lassen — das liest bald niemand mehr.
  • defaultProjectTrust: "always" global setzen und fremde Repos öffnen.
  • Projektvertrauen vergeben, ohne .pi/ vorher gelesen zu haben.
  • Netzzugriff offen lassen, obwohl die Aufgabe ihn nicht braucht.
  • Erweiterungen sammeln, ohne sie zu pflegen — jede ist Code mit vollen Rechten.
  • Hohe Thinking Levels für mechanische Aufgaben bezahlen.
  • Skills „für später” anlegen und nie testen.
  • Regeln aus AGENTS.md ins Template kopieren — zwei Wahrheiten.

Zum Seminar Pi Coding Agent Praxis