Skip to content

Feature Request: Detect meta-repos, microservices repos, and single-project repos #33

@Fyb3roptik

Description

@Fyb3roptik

Feature Request: Detect meta-repos, microservices repos, and single-project repos

Problem

Codesight currently classifies all multi-workspace repos as isMonorepo: true with no further distinction. This is inaccurate for two common patterns:

Meta-repos — repositories that aggregate multiple independent, unrelated projects (e.g. via git submodules). These are fundamentally different from a monorepo: the workspaces are not part of the same product, don't share tooling, and may have completely separate
ownership. AI context generated for a meta-repo should reflect that structure rather than implying a single unified codebase.

Microservices repos — repositories containing multiple independently deployable services, often with per-service Dockerfiles and infra orchestration (Kubernetes, Helm). Labelling these as a "monorepo" loses meaningful architectural signal for AI tools.

Proposed Solution

Add a repoType field to ProjectInfo with four values:

  • single — one project, no workspaces
  • monorepo — shared codebase, multiple packages/apps under common tooling
  • microservices — multiple independently deployable services (Dockerfiles per service, k8s/helm configs)
  • meta — aggregation of independent projects (git submodules via .gitmodules)

Detection signals:

  • meta: .gitmodules present at root
  • microservices: k8s/, kubernetes/, or helm/ directory at root, or 2+ workspaces each containing a Dockerfile
  • monorepo: existing workspace detection (unchanged)
  • single: no workspaces detected

The label should propagate through all outputs: CODESIGHT.md, AI config, HTML report badge, wiki, and MCP server summary.

Expected Output

Meta-repo:

▎ Meta-repo: project-a, project-b, project-c

Microservices:

▎ Microservices: auth, payments, notifications

Monorepo (unchanged):

▎ Monorepo: api (apps/api), web (apps/web)

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