Skip to content

feat: detect meta-repos, microservices, and single-project repos#34

Merged
Houseofmvps merged 4 commits intoHouseofmvps:mainfrom
Fyb3roptik:main
Apr 14, 2026
Merged

feat: detect meta-repos, microservices, and single-project repos#34
Houseofmvps merged 4 commits intoHouseofmvps:mainfrom
Fyb3roptik:main

Conversation

@Fyb3roptik
Copy link
Copy Markdown
Contributor

Summary

Adds a repoType field to ProjectInfo that classifies repository structure beyond the existing isMonorepo boolean. Previously all multi-workspace repos were labelled "Monorepo" regardless of their actual structure.

New RepoType values:

  • single — one project, no workspaces
  • monorepo — shared codebase with multiple packages/apps under common tooling
  • microservices — multiple independently deployable services
  • meta — aggregation of independent projects (git submodules)

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

Changes

  • types.ts — adds RepoType type and repoType field on ProjectInfo
  • scanner.ts — adds classifyRepoType() function called during project detection
  • core.ts, formatter.ts, ai-config.ts, html-report.ts, wiki.ts, mcp-server.ts — all output surfaces updated to show the correct label ("Meta-repo:", "Microservices:", or "Monorepo:")

Tests

Four new test cases in detectors.test.ts covering each repoType value, including meta-repo detection via .gitmodules and microservices detection via Dockerfiles and k8s directory.

@Fyb3roptik
Copy link
Copy Markdown
Contributor Author

Looks like this fixes #33 and also looks like test is failing due to GITHUB_TOKEN?

@Houseofmvps Houseofmvps merged commit f24e267 into Houseofmvps:main Apr 14, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants