Skip to content

Feature: index GitHub Actions workflows (.github/ is hard-excluded; no GHA-aware parser) #446

Description

@ilyabrykau-orca

Summary

.github/ is hard-excluded from indexing, so GitHub Actions workflows, composite actions, and any infra/config under .github/ are never indexed. There is also no GHA-aware parsing (no jobs/steps/uses graph). CI/CD is a meaningful part of most repos' architecture and is currently invisible to the graph.

Version

codebase-memory-mcp 0.8.1 (macOS arm64)

Evidence

Reindexed 4 repos with mode: full. Every project reports .github (or .github/scripts) in the excluded dirs list, e.g.:

project: ...-orca         excluded.dirs: [..., ".github", "devops", "system_tests", ...]
project: ...-orca-runtime-sensor   excluded.dirs: [..., ".github/scripts", ...]

Post-index graph query confirms zero nodes:

MATCH (n) WHERE n.file CONTAINS '.github' RETURN n.file, labels(n) LIMIT 20
-- total: 0  (on every project)

The exclusion appears hardcoded in the binary — not overridable:

  • config list / config get exposes no exclude/ignore/include keys (only auto_index, auto_index_limit).
  • No CBM_* env var controls directory exclusions (checked CBM_CACHE_DIR, CBM_WORKERS, CBM_LSP_*, CBM_SEMANTIC_*, etc. — none cover excludes).

Note: generic YAML is supported when reachable — binary strings reference .yaml/.yml, Chart.yaml, kustomization.yaml, compose.yaml, Dockerfile, .hcl/.terraform. So the blocker for workflows is purely the .github directory exclusion + lack of GHA schema awareness, not YAML support itself.

Requested

  1. Stop hard-excluding .github/ (at minimum .github/workflows/ and .github/actions/), OR make the deny list overridable via config/env/.codebasememoryignore-style allowlist.
  2. GHA-aware parsing (nice-to-have): model workflows/jobs/steps as nodes and uses: references as edges (action → action, workflow → reusable-workflow) so call/impact tracing covers CI/CD.

Why it matters

  • Infra-as-code and deploy logic increasingly lives in .github/ (reusable workflows, composite actions, deploy steps calling terraform).
  • Impact analysis ("what breaks if I change this action/secret/env") is impossible while CI is unindexed.
  • A general escape hatch for the hardcoded deny list would also unblock other intentionally-excluded dirs (devops/, system_tests/, etc.).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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