Test init command against example repository catalog
Overview
Validate the eac init --scan --ai-provider claude-api functionality against the example repositories listed in .claude/commands/migrate-repo.md to ensure proper module detection, configuration generation, and multi-language support.
Test Repositories
Go Projects
Python Projects
Rust Projects
TypeScript/JavaScript Projects
.NET Projects
Java Projects
Test Process
For each repository:
-
Clone repository:
git clone <repo-url> /c/source/ready-to-release/<repo-name>
cd /c/source/ready-to-release/<repo-name>
-
Run init with AI:
eac init --scan --ai-provider claude-api
-
Verify results:
-
Validate config:
eac show modules
cat .eac/repository.yml
Expected Outcomes
Single Module Repos
- Should detect 1 module
- Module name should match project name
- Component type should be appropriate (library, cli-tool, etc.)
Monorepos
- Should detect multiple modules
- Module boundaries should align with package managers (go.mod, package.json, etc.)
- Dependencies between modules should be inferred (if possible)
Complex Projects
- Should handle nested modules correctly
- Should skip vendor/node_modules directories
- Should handle multiple languages in same repo
Success Criteria
Known Issues to Watch For
- Large repos (vscode, elasticsearch) may be slow to scan
- Some repos may have unusual structures that scanner misses
- AI provider rate limits if testing many repos quickly
- Nested package.json files in node_modules should be skipped
Related
Labels
testing, init-command, quality-assurance, validation
Test init command against example repository catalog
Overview
Validate the
eac init --scan --ai-provider claude-apifunctionality against the example repositories listed in.claude/commands/migrate-repo.mdto ensure proper module detection, configuration generation, and multi-language support.Test Repositories
Go Projects
https://github.com/spf13/cobra- CLI library (single module)https://github.com/gohugoio/hugo- Static site generator (monorepo)https://github.com/traefik/traefik- Cloud native reverse proxy (multi-module)Python Projects
https://github.com/pallets/flask- Web framework (single module)https://github.com/django/django- Web framework (monorepo structure)https://github.com/psf/requests- HTTP library (simple structure)Rust Projects
https://github.com/BurntSushi/ripgrep- Fast grep tool (Cargo workspace)https://github.com/tokio-rs/tokio- Async runtime (complex monorepo)https://github.com/serde-rs/serde- Serialization framework (multi-crate)TypeScript/JavaScript Projects
https://github.com/microsoft/vscode- Code editor (large monorepo)https://github.com/facebook/react- UI library (monorepo with multiple packages)https://github.com/vercel/next.js- React framework (monorepo).NET Projects
https://github.com/dotnet/roslyn- C# compiler (solution with multiple projects)https://github.com/dotnet/aspnetcore- ASP.NET Core frameworkJava Projects
https://github.com/spring-projects/spring-boot- Application framework (Gradle multi-module)https://github.com/elastic/elasticsearch- Search engine (Gradle build)Test Process
For each repository:
Clone repository:
Run init with AI:
Verify results:
.eac/repository.ymlcreated with correct structureValidate config:
Expected Outcomes
Single Module Repos
Monorepos
Complex Projects
Success Criteria
eac inittwice on same repo)Known Issues to Watch For
Related
go/cli/eac/impl/init/scanner.goLabels
testing, init-command, quality-assurance, validation