Set up AI dev environment for recordingtest (#2)
- CLAUDE.md with collaboration rules and Planner/Generator/Evaluator cycle - .claude/ agents, commands, skills, hooks per Claude Code conventions - Sprint Contracts for sut-prober, normalizer, recorder, player, diff-reporter - SUT catalog (EG-BIM Modeler, 187 plugins) and .gitignore excluding SUT tree - PROGRESS.md / PLAN.md as shared agent handoff state - Solution scaffold targeting sut-prober PoC Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
25
src/Recordingtest.SutProber/AssemblyScanner.cs
Normal file
25
src/Recordingtest.SutProber/AssemblyScanner.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
namespace Recordingtest.SutProber;
|
||||
|
||||
public sealed record AssemblyEntry(string Name, long SizeBytes, bool HasPdb);
|
||||
|
||||
public static class AssemblyScanner
|
||||
{
|
||||
private static readonly string[] Prefixes = { "HmEG", "HmGeometry", "HmTriangle", "HmPG", "HmCommon", "Editor", "EditorCore" };
|
||||
|
||||
public static List<AssemblyEntry> Scan(string sutRoot)
|
||||
{
|
||||
var entries = new List<AssemblyEntry>();
|
||||
if (!Directory.Exists(sutRoot)) return entries;
|
||||
|
||||
foreach (var file in Directory.EnumerateFiles(sutRoot, "*.dll", SearchOption.TopDirectoryOnly)
|
||||
.OrderBy(f => f, StringComparer.Ordinal))
|
||||
{
|
||||
var name = Path.GetFileName(file);
|
||||
if (!Prefixes.Any(p => name.StartsWith(p, StringComparison.Ordinal))) continue;
|
||||
|
||||
var pdb = Path.ChangeExtension(file, ".pdb");
|
||||
entries.Add(new AssemblyEntry(name, new FileInfo(file).Length, File.Exists(pdb)));
|
||||
}
|
||||
return entries;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user