assistance-engine/Agents.md

4.0 KiB
Raw Permalink Blame History

Agents.md

Project Context — Python (General)

This repository is a general Python project. Ensure a virtual environment exists, create it with uv if missing, keep requirements.txt accurate, and then follow the user's instructions.


Environment

  • Virtual env: prefer uv to manage the venv and installs.
    • Create: uv venv (optionally --python <version>).
    • Use: activate .venv or run commands via uv run <cmd>.
  • Dependencies:
    • If requirements.txt exists: uv pip install -r requirements.txt.
    • When packages are added/removed, update requirements.txt to stay accurate.
      • Default policy: freeze exact versions unless the user specifies otherwise (e.g., uv pip freeze > requirements.txt).
  • Never assume the environment is active.
    • Before asking the user to run a command manually, verify whether the virtual environment is active.
    • If not active, instruct explicitly how to activate it:
      • Unix/macOS: source .venv/bin/activate
    • Prefer uv run <command> to avoid activation issues.

Directory & File Safety Rules

When writing files or creating directories:

  • If instructed to create or write into a folder with a specific name:

    • First verify whether a directory with that name already exists.
    • Do NOT create it blindly.
    • If it exists, reuse it unless the user explicitly requests overwriting.
    • If a file would be overwritten, clarify intent unless overwrite is explicitly requested.
  • Avoid duplicating folder structures.

  • Do not create parallel directories with similar names (e.g., src and src_new) unless explicitly requested.

  • Maintain consistent project structure conventions.

  • Respect existing naming conventions.


Command Execution Policy

When suggesting commands to the user:

  1. Ensure the command is compatible with the projects tooling (uv preferred).
  2. Avoid global installs.
  3. Avoid OS-specific assumptions unless specified.
  4. If the command modifies the environment (e.g., installing packages):
    • Make sure requirements.txt is updated accordingly.
  5. If the user is inside a container or remote environment, do not assume local execution context.
  6. Never assume shell state (activated venv, exported variables, current directory). Always be explicit.

Operating Model

  • Ask quick clarifying questions if versions, entry points, or expected behaviors are ambiguous.
  • Prefer small, incremental changes with brief plans for multi-step work.
  • Do not commit secrets.
  • Avoid committing large build artifacts unless requested.
  • Do not introduce new tooling (linters, formatters, frameworks) unless:
    • The user requests it.
    • It is strictly necessary to complete the task.
  • Avoid unnecessary architectural refactors.
  • Prioritize minimal, reversible changes.

Code Modification Principles

  • Follow existing code style and architecture.
  • Avoid unnecessary refactors.
  • Keep changes minimal and scoped.
  • Preserve backward compatibility unless explicitly told otherwise.
  • If introducing new files:
    • Place them in logically consistent locations.
    • Avoid breaking import paths.
  • Do not remove or rename files unless explicitly instructed.

Reproducibility

  • The environment must remain reproducible from scratch using:
    • uv venv
    • uv pip install -r requirements.txt
  • No hidden dependencies.
  • No reliance on undeclared system packages unless clearly documented.
  • Ensure all runtime dependencies are declared.

Typical Tasks

Agents operating in this repository may:

  • Implement features.
  • Fix bugs.
  • Run tests.
  • Update documentation.
  • Improve structure when explicitly requested.
  • Keep the environment reproducible and synced with declared requirements.

Safety & Determinism Rules

  • Do not perform destructive actions (e.g., delete directories, drop databases) unless explicitly instructed.
  • Do not overwrite configuration files without confirmation.
  • Always prefer deterministic operations.
  • If uncertain about intent, ask before acting.