Forge
csharpc88715b7
1namespace AIGuiders.DotnetTools.TomlCheck;
2
3internal static class Program
4{
5 public static int Main(string[] args)
6 {
7 if (args.Length == 0 || IsHelp(args))
8 {
9 PrintUsage();
10 return args.Length == 0 ? 1 : 0;
11 }
12
13 if (!string.Equals(args[0], "check", StringComparison.OrdinalIgnoreCase))
14 {
15 Console.Error.WriteLine($"Unknown command: {args[0]}");
16 PrintUsage();
17 return 1;
18 }
19
20 if (!CheckArgsParser.TryParse(args[1..], out var paths, out var schema, out var error))
21 {
22 Console.Error.WriteLine(error);
23 return 1;
24 }
25
26 var engine = new TomlCheckEngine(schema);
27 return engine.CheckPaths(paths);
28 }
29
30 private static bool IsHelp(string[] args) =>
31 args.Any(a => string.Equals(a, "-?", StringComparison.OrdinalIgnoreCase)
32 || string.Equals(a, "--help", StringComparison.OrdinalIgnoreCase)
33 || string.Equals(a, "-Help", StringComparison.OrdinalIgnoreCase));
34
35 private static void PrintUsage()
36 {
37 Console.WriteLine("aig-toml-check — validate TOML with JSON Schema");
38 Console.WriteLine();
39 Console.WriteLine("Usage:");
40 Console.WriteLine(" aig-toml-check check <path...> [--schema <file.json>]");
41 Console.WriteLine();
42 Console.WriteLine("Each TOML may declare a schema in the header:");
43 Console.WriteLine(" #:schema ../docs/schemas/example.schema.json");
44 }
45}
46
View only · write via MCP/CIDE