Skip to content

Feature: Support workspace bootstrap context files (SOUL.md, USER.md, AGENTS.md) #16

@STRRL

Description

@STRRL

Motivation

When LAPP's agentic analyzer runs, it constructs a system prompt for the LLM to investigate logs. Currently, the only context the LLM receives is the log data and the user's question. There's no mechanism for users to inject persistent context about their environment, preferences, or domain knowledge.

Inspired by how OpenClaw handles this, the idea is to support a set of well-known markdown files in the workspace directory that get automatically injected into the LLM's system prompt.

Proposed Bootstrap Files

File Purpose
AGENTS.md Behavioral guidelines for the AI agent (how to approach problems, what tools to use, coding conventions)
SOUL.md Persona and tone (e.g., "be concise", "prefer direct answers")
USER.md Information about the user (role, expertise level, domain context)
TOOLS.md Environment-specific notes (hostnames, service names, known infrastructure details)
IDENTITY.md Agent identity metadata (name, avatar, etc.)

How It Would Work

  1. When lapp analyze or lapp debug run starts, scan the workspace directory for these well-known files
  2. If found, read their contents and inject them into the system prompt (before the log analysis instructions)
  3. Apply a per-file size cap (e.g., 20KB) to prevent prompt bloat
  4. Files are optional — LAPP works exactly as before if none exist

Use Cases

  • SRE context: TOOLS.md could describe the infrastructure ("this is a Kubernetes cluster running Istio, logs come from envoy sidecars") so the LLM doesn't have to guess
  • Domain expertise: USER.md could say "I'm an SRE, skip basic explanations" to get more targeted analysis
  • Behavioral tuning: SOUL.md could set preferences like "always suggest runbooks" or "output structured JSON"
  • Team conventions: AGENTS.md could encode team-specific log analysis patterns or known issues

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions