Skip to content

Add Pi as a first-class detected AI agent so it appears in the IDE & AI Agents inventory #175

Description

@varunsh-coder

Summary

Pi is currently surfaced only through the Agent Skills view (discovery-driven) but is absent from the IDE & AI Agents view (curated inventory). We should add a first-class detector for Pi so it appears in both views.

Background

The agent has two independent detection paths:

  1. Skills detection (internal/detector/skills.go) enumerates per-agent skill directories. Pi is already a recognized skill source:

    • Global: ~/.pi/agent/skillspi_user → agent pi (skills.go:304)
    • Per-project: <project>/.pi/skillspi_project → agent pi (skills.go:344)
    • Project marker: .piskills (skills.go:364)

    Because of this, Pi skills show up in the Agent Skills view.

  2. AI agent / IDE detection uses four curated registries, and Pi is present in none of them:

    • internal/detector/aicli.gocliToolDefinitions
    • internal/detector/agent.goagentDefinitions
    • internal/detector/framework.goframeworkDefinitions
    • internal/detector/ide.goideDefinitions

    A grep for pi / .pi across these four files returns no matches.

Why this happens (and why it's currently correct)

The AI-agent registries follow an "install-proof" philosophy (see internal/detector/agent.go:89-96): a config directory alone is intentionally not treated as proof of installation, to avoid phantom entries from stale dotfiles. First-class agents require a real binary on PATH. Pi has no such detector, so it correctly does not appear as an installed agent today — it's only inferred from its skill files.

Proposed change

Add a Pi detector entry to the appropriate registry (most likely cliToolDefinitions in internal/detector/aicli.go, matching how the Pi CLI is installed). Needed:

  • Binary name(s) / install path(s) Pi ships as
  • Vendor label
  • Agent type (cli_tool vs general_agent)
  • Version-detection command, if available

Once detected, Pi will show up in the IDE & AI Agents inventory alongside the existing skills-based data, giving consistent coverage across both views.

Notes

  • The pi agent label already exists in the skill-record model enum (internal/model/model.go:712), so no model change is needed for the skills side.
  • Confirm the exact Pi install footprint before choosing the registry and match rules.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions