@followthecode/cli 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +491 -0
  2. package/bin/Release/net8.0/AWSSDK.Core.dll +0 -0
  3. package/bin/Release/net8.0/AWSSDK.S3.dll +0 -0
  4. package/bin/Release/net8.0/Google.Protobuf.dll +0 -0
  5. package/bin/Release/net8.0/Grpc.Core.Api.dll +0 -0
  6. package/bin/Release/net8.0/Grpc.Net.Client.dll +0 -0
  7. package/bin/Release/net8.0/Grpc.Net.Common.dll +0 -0
  8. package/bin/Release/net8.0/LibGit2Sharp.dll +0 -0
  9. package/bin/Release/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  10. package/bin/Release/net8.0/Microsoft.Extensions.Configuration.Binder.dll +0 -0
  11. package/bin/Release/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll +0 -0
  12. package/bin/Release/net8.0/Microsoft.Extensions.Configuration.Json.dll +0 -0
  13. package/bin/Release/net8.0/Microsoft.Extensions.Configuration.dll +0 -0
  14. package/bin/Release/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  15. package/bin/Release/net8.0/Microsoft.Extensions.DependencyInjection.dll +0 -0
  16. package/bin/Release/net8.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  17. package/bin/Release/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  18. package/bin/Release/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  19. package/bin/Release/net8.0/Microsoft.Extensions.FileProviders.Physical.dll +0 -0
  20. package/bin/Release/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll +0 -0
  21. package/bin/Release/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  22. package/bin/Release/net8.0/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  23. package/bin/Release/net8.0/Microsoft.Extensions.Logging.Configuration.dll +0 -0
  24. package/bin/Release/net8.0/Microsoft.Extensions.Logging.dll +0 -0
  25. package/bin/Release/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll +0 -0
  26. package/bin/Release/net8.0/Microsoft.Extensions.Options.dll +0 -0
  27. package/bin/Release/net8.0/Microsoft.Extensions.Primitives.dll +0 -0
  28. package/bin/Release/net8.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll +0 -0
  29. package/bin/Release/net8.0/OpenTelemetry.Api.dll +0 -0
  30. package/bin/Release/net8.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll +0 -0
  31. package/bin/Release/net8.0/OpenTelemetry.Extensions.Hosting.dll +0 -0
  32. package/bin/Release/net8.0/OpenTelemetry.dll +0 -0
  33. package/bin/Release/net8.0/Serilog.Enrichers.Environment.dll +0 -0
  34. package/bin/Release/net8.0/Serilog.Enrichers.OpenTelemetry.dll +0 -0
  35. package/bin/Release/net8.0/Serilog.Enrichers.Thread.dll +0 -0
  36. package/bin/Release/net8.0/Serilog.Exceptions.dll +0 -0
  37. package/bin/Release/net8.0/Serilog.Expressions.dll +0 -0
  38. package/bin/Release/net8.0/Serilog.Settings.Configuration.dll +0 -0
  39. package/bin/Release/net8.0/Serilog.Sinks.Console.dll +0 -0
  40. package/bin/Release/net8.0/Serilog.Sinks.OpenTelemetry.dll +0 -0
  41. package/bin/Release/net8.0/Serilog.dll +0 -0
  42. package/bin/Release/net8.0/System.CommandLine.dll +0 -0
  43. package/bin/Release/net8.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  44. package/bin/Release/net8.0/System.IO.Pipelines.dll +0 -0
  45. package/bin/Release/net8.0/System.Text.Encodings.Web.dll +0 -0
  46. package/bin/Release/net8.0/System.Text.Json.dll +0 -0
  47. package/bin/Release/net8.0/appsettings.Debug.json +39 -0
  48. package/bin/Release/net8.0/appsettings.json +51 -0
  49. package/bin/Release/net8.0/cs/System.CommandLine.resources.dll +0 -0
  50. package/bin/Release/net8.0/de/System.CommandLine.resources.dll +0 -0
  51. package/bin/Release/net8.0/es/System.CommandLine.resources.dll +0 -0
  52. package/bin/Release/net8.0/fr/System.CommandLine.resources.dll +0 -0
  53. package/bin/Release/net8.0/ftc.cli.deps.json +986 -0
  54. package/bin/Release/net8.0/ftc.cli.dll +0 -0
  55. package/bin/Release/net8.0/ftc.cli.exe +0 -0
  56. package/bin/Release/net8.0/ftc.cli.pdb +0 -0
  57. package/bin/Release/net8.0/ftc.cli.runtimeconfig.json +13 -0
  58. package/bin/Release/net8.0/it/System.CommandLine.resources.dll +0 -0
  59. package/bin/Release/net8.0/ja/System.CommandLine.resources.dll +0 -0
  60. package/bin/Release/net8.0/ko/System.CommandLine.resources.dll +0 -0
  61. package/bin/Release/net8.0/pl/System.CommandLine.resources.dll +0 -0
  62. package/bin/Release/net8.0/pt-BR/System.CommandLine.resources.dll +0 -0
  63. package/bin/Release/net8.0/ru/System.CommandLine.resources.dll +0 -0
  64. package/bin/Release/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll +0 -0
  65. package/bin/Release/net8.0/runtimes/linux-arm/native/libgit2-c058aa8.so +0 -0
  66. package/bin/Release/net8.0/runtimes/linux-arm64/native/libgit2-c058aa8.so +0 -0
  67. package/bin/Release/net8.0/runtimes/linux-musl-arm/native/libgit2-c058aa8.so +0 -0
  68. package/bin/Release/net8.0/runtimes/linux-musl-arm64/native/libgit2-c058aa8.so +0 -0
  69. package/bin/Release/net8.0/runtimes/linux-musl-x64/native/libgit2-c058aa8.so +0 -0
  70. package/bin/Release/net8.0/runtimes/linux-x64/native/libgit2-c058aa8.so +0 -0
  71. package/bin/Release/net8.0/runtimes/osx-arm64/native/libgit2-c058aa8.dylib +0 -0
  72. package/bin/Release/net8.0/runtimes/osx-x64/native/libgit2-c058aa8.dylib +0 -0
  73. package/bin/Release/net8.0/runtimes/win-arm64/native/git2-c058aa8.dll +0 -0
  74. package/bin/Release/net8.0/runtimes/win-x64/native/git2-c058aa8.dll +0 -0
  75. package/bin/Release/net8.0/runtimes/win-x86/native/git2-c058aa8.dll +0 -0
  76. package/bin/Release/net8.0/tr/System.CommandLine.resources.dll +0 -0
  77. package/bin/Release/net8.0/zh-Hans/System.CommandLine.resources.dll +0 -0
  78. package/bin/Release/net8.0/zh-Hant/System.CommandLine.resources.dll +0 -0
  79. package/bin/ftc.js +72 -0
  80. package/bin/publish/AWSSDK.Core.dll +0 -0
  81. package/bin/publish/AWSSDK.S3.dll +0 -0
  82. package/bin/publish/CodeCoverage/CodeCoverage.config +149 -0
  83. package/bin/publish/CodeCoverage/CodeCoverage.exe +0 -0
  84. package/bin/publish/CodeCoverage/VanguardInstrumentationProfiler_x86.config +10 -0
  85. package/bin/publish/CodeCoverage/amd64/CodeCoverage.exe +0 -0
  86. package/bin/publish/CodeCoverage/amd64/VanguardInstrumentationProfiler_x64.config +10 -0
  87. package/bin/publish/CodeCoverage/amd64/covrun64.dll +0 -0
  88. package/bin/publish/CodeCoverage/amd64/msdia140.dll +0 -0
  89. package/bin/publish/CodeCoverage/arm64/VanguardInstrumentationProfiler_arm64.config +10 -0
  90. package/bin/publish/CodeCoverage/arm64/covrunarm64.dll +0 -0
  91. package/bin/publish/CodeCoverage/arm64/msdia140.dll +0 -0
  92. package/bin/publish/CodeCoverage/codecoveragemessages.dll +0 -0
  93. package/bin/publish/CodeCoverage/coreclr/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  94. package/bin/publish/CodeCoverage/covrun32.dll +0 -0
  95. package/bin/publish/CodeCoverage/msdia140.dll +0 -0
  96. package/bin/publish/Google.Protobuf.dll +0 -0
  97. package/bin/publish/Grpc.Core.Api.dll +0 -0
  98. package/bin/publish/Grpc.Net.Client.dll +0 -0
  99. package/bin/publish/Grpc.Net.Common.dll +0 -0
  100. package/bin/publish/InstrumentationEngine/alpine/x64/VanguardInstrumentationProfiler_x64.config +10 -0
  101. package/bin/publish/InstrumentationEngine/alpine/x64/libCoverageInstrumentationMethod.so +0 -0
  102. package/bin/publish/InstrumentationEngine/alpine/x64/libInstrumentationEngine.so +0 -0
  103. package/bin/publish/InstrumentationEngine/arm64/MicrosoftInstrumentationEngine_arm64.dll +0 -0
  104. package/bin/publish/InstrumentationEngine/macos/x64/VanguardInstrumentationProfiler_x64.config +10 -0
  105. package/bin/publish/InstrumentationEngine/macos/x64/libCoverageInstrumentationMethod.dylib +0 -0
  106. package/bin/publish/InstrumentationEngine/macos/x64/libInstrumentationEngine.dylib +0 -0
  107. package/bin/publish/InstrumentationEngine/ubuntu/x64/VanguardInstrumentationProfiler_x64.config +10 -0
  108. package/bin/publish/InstrumentationEngine/ubuntu/x64/libCoverageInstrumentationMethod.so +0 -0
  109. package/bin/publish/InstrumentationEngine/ubuntu/x64/libInstrumentationEngine.so +0 -0
  110. package/bin/publish/InstrumentationEngine/x64/MicrosoftInstrumentationEngine_x64.dll +0 -0
  111. package/bin/publish/InstrumentationEngine/x86/MicrosoftInstrumentationEngine_x86.dll +0 -0
  112. package/bin/publish/LibGit2Sharp.dll +0 -0
  113. package/bin/publish/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
  114. package/bin/publish/Microsoft.CSharp.dll +0 -0
  115. package/bin/publish/Microsoft.CodeCoverage.Core.dll +0 -0
  116. package/bin/publish/Microsoft.CodeCoverage.Instrumentation.dll +0 -0
  117. package/bin/publish/Microsoft.CodeCoverage.Interprocess.dll +0 -0
  118. package/bin/publish/Microsoft.CodeCoverage.props +17 -0
  119. package/bin/publish/Microsoft.CodeCoverage.targets +26 -0
  120. package/bin/publish/Microsoft.DiaSymReader.dll +0 -0
  121. package/bin/publish/Microsoft.DotNet.PlatformAbstractions.dll +0 -0
  122. package/bin/publish/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  123. package/bin/publish/Microsoft.Extensions.Configuration.Binder.dll +0 -0
  124. package/bin/publish/Microsoft.Extensions.Configuration.FileExtensions.dll +0 -0
  125. package/bin/publish/Microsoft.Extensions.Configuration.Json.dll +0 -0
  126. package/bin/publish/Microsoft.Extensions.Configuration.dll +0 -0
  127. package/bin/publish/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  128. package/bin/publish/Microsoft.Extensions.DependencyInjection.dll +0 -0
  129. package/bin/publish/Microsoft.Extensions.DependencyModel.dll +0 -0
  130. package/bin/publish/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  131. package/bin/publish/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  132. package/bin/publish/Microsoft.Extensions.FileProviders.Physical.dll +0 -0
  133. package/bin/publish/Microsoft.Extensions.FileSystemGlobbing.dll +0 -0
  134. package/bin/publish/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  135. package/bin/publish/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  136. package/bin/publish/Microsoft.Extensions.Logging.Configuration.dll +0 -0
  137. package/bin/publish/Microsoft.Extensions.Logging.dll +0 -0
  138. package/bin/publish/Microsoft.Extensions.Options.ConfigurationExtensions.dll +0 -0
  139. package/bin/publish/Microsoft.Extensions.Options.dll +0 -0
  140. package/bin/publish/Microsoft.Extensions.Primitives.dll +0 -0
  141. package/bin/publish/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  142. package/bin/publish/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  143. package/bin/publish/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  144. package/bin/publish/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  145. package/bin/publish/Microsoft.TestPlatform.Utilities.dll +0 -0
  146. package/bin/publish/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  147. package/bin/publish/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  148. package/bin/publish/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  149. package/bin/publish/Microsoft.VisualStudio.TraceDataCollector.dll +0 -0
  150. package/bin/publish/Mono.Cecil.Mdb.dll +0 -0
  151. package/bin/publish/Mono.Cecil.Pdb.dll +0 -0
  152. package/bin/publish/Mono.Cecil.Rocks.dll +0 -0
  153. package/bin/publish/Mono.Cecil.dll +0 -0
  154. package/bin/publish/Newtonsoft.Json.dll +0 -0
  155. package/bin/publish/NuGet.Frameworks.dll +0 -0
  156. package/bin/publish/OpenTelemetry.Api.ProviderBuilderExtensions.dll +0 -0
  157. package/bin/publish/OpenTelemetry.Api.dll +0 -0
  158. package/bin/publish/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll +0 -0
  159. package/bin/publish/OpenTelemetry.Extensions.Hosting.dll +0 -0
  160. package/bin/publish/OpenTelemetry.dll +0 -0
  161. package/bin/publish/Serilog.Enrichers.Environment.dll +0 -0
  162. package/bin/publish/Serilog.Enrichers.OpenTelemetry.dll +0 -0
  163. package/bin/publish/Serilog.Enrichers.Thread.dll +0 -0
  164. package/bin/publish/Serilog.Exceptions.dll +0 -0
  165. package/bin/publish/Serilog.Expressions.dll +0 -0
  166. package/bin/publish/Serilog.Settings.Configuration.dll +0 -0
  167. package/bin/publish/Serilog.Sinks.Console.dll +0 -0
  168. package/bin/publish/Serilog.Sinks.OpenTelemetry.dll +0 -0
  169. package/bin/publish/Serilog.dll +0 -0
  170. package/bin/publish/System.AppContext.dll +0 -0
  171. package/bin/publish/System.Collections.Immutable.dll +0 -0
  172. package/bin/publish/System.CommandLine.dll +0 -0
  173. package/bin/publish/System.Diagnostics.DiagnosticSource.dll +0 -0
  174. package/bin/publish/System.Dynamic.Runtime.dll +0 -0
  175. package/bin/publish/System.IO.FileSystem.Primitives.dll +0 -0
  176. package/bin/publish/System.IO.Pipelines.dll +0 -0
  177. package/bin/publish/System.Linq.Expressions.dll +0 -0
  178. package/bin/publish/System.Linq.dll +0 -0
  179. package/bin/publish/System.ObjectModel.dll +0 -0
  180. package/bin/publish/System.Reflection.Emit.ILGeneration.dll +0 -0
  181. package/bin/publish/System.Reflection.Emit.Lightweight.dll +0 -0
  182. package/bin/publish/System.Reflection.Emit.dll +0 -0
  183. package/bin/publish/System.Reflection.Metadata.dll +0 -0
  184. package/bin/publish/System.Reflection.TypeExtensions.dll +0 -0
  185. package/bin/publish/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  186. package/bin/publish/System.Runtime.Serialization.Primitives.dll +0 -0
  187. package/bin/publish/System.Text.Encodings.Web.dll +0 -0
  188. package/bin/publish/System.Text.Json.dll +0 -0
  189. package/bin/publish/System.Text.RegularExpressions.dll +0 -0
  190. package/bin/publish/System.Threading.Tasks.Extensions.dll +0 -0
  191. package/bin/publish/System.Threading.dll +0 -0
  192. package/bin/publish/System.Xml.ReaderWriter.dll +0 -0
  193. package/bin/publish/System.Xml.XDocument.dll +0 -0
  194. package/bin/publish/ThirdPartyNotices.txt +39 -0
  195. package/bin/publish/appsettings.Debug.json +39 -0
  196. package/bin/publish/appsettings.json +51 -0
  197. package/bin/publish/coverlet.collector.deps.json +1155 -0
  198. package/bin/publish/coverlet.collector.dll +0 -0
  199. package/bin/publish/coverlet.collector.pdb +0 -0
  200. package/bin/publish/coverlet.collector.targets +57 -0
  201. package/bin/publish/coverlet.core.dll +0 -0
  202. package/bin/publish/coverlet.core.pdb +0 -0
  203. package/bin/publish/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  204. package/bin/publish/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  205. package/bin/publish/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  206. package/bin/publish/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  207. package/bin/publish/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  208. package/bin/publish/cs/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  209. package/bin/publish/cs/System.CommandLine.resources.dll +0 -0
  210. package/bin/publish/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  211. package/bin/publish/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  212. package/bin/publish/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  213. package/bin/publish/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  214. package/bin/publish/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  215. package/bin/publish/de/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  216. package/bin/publish/de/System.CommandLine.resources.dll +0 -0
  217. package/bin/publish/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  218. package/bin/publish/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  219. package/bin/publish/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  220. package/bin/publish/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  221. package/bin/publish/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  222. package/bin/publish/es/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  223. package/bin/publish/es/System.CommandLine.resources.dll +0 -0
  224. package/bin/publish/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  225. package/bin/publish/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  226. package/bin/publish/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  227. package/bin/publish/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  228. package/bin/publish/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  229. package/bin/publish/fr/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  230. package/bin/publish/fr/System.CommandLine.resources.dll +0 -0
  231. package/bin/publish/ftc.cli.deps.json +986 -0
  232. package/bin/publish/ftc.cli.dll +0 -0
  233. package/bin/publish/ftc.cli.exe +0 -0
  234. package/bin/publish/ftc.cli.pdb +0 -0
  235. package/bin/publish/ftc.cli.runtimeconfig.json +13 -0
  236. package/bin/publish/ftc.cli.tests.deps.json +2603 -0
  237. package/bin/publish/ftc.cli.tests.dll +0 -0
  238. package/bin/publish/ftc.cli.tests.pdb +0 -0
  239. package/bin/publish/ftc.cli.tests.runtimeconfig.json +13 -0
  240. package/bin/publish/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  241. package/bin/publish/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  242. package/bin/publish/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  243. package/bin/publish/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  244. package/bin/publish/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  245. package/bin/publish/it/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  246. package/bin/publish/it/System.CommandLine.resources.dll +0 -0
  247. package/bin/publish/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  248. package/bin/publish/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  249. package/bin/publish/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  250. package/bin/publish/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  251. package/bin/publish/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  252. package/bin/publish/ja/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  253. package/bin/publish/ja/System.CommandLine.resources.dll +0 -0
  254. package/bin/publish/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  255. package/bin/publish/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  256. package/bin/publish/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  257. package/bin/publish/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  258. package/bin/publish/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  259. package/bin/publish/ko/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  260. package/bin/publish/ko/System.CommandLine.resources.dll +0 -0
  261. package/bin/publish/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  262. package/bin/publish/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  263. package/bin/publish/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  264. package/bin/publish/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  265. package/bin/publish/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  266. package/bin/publish/pl/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  267. package/bin/publish/pl/System.CommandLine.resources.dll +0 -0
  268. package/bin/publish/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  269. package/bin/publish/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  270. package/bin/publish/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  271. package/bin/publish/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  272. package/bin/publish/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  273. package/bin/publish/pt-BR/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  274. package/bin/publish/pt-BR/System.CommandLine.resources.dll +0 -0
  275. package/bin/publish/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  276. package/bin/publish/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  277. package/bin/publish/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  278. package/bin/publish/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  279. package/bin/publish/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  280. package/bin/publish/ru/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  281. package/bin/publish/ru/System.CommandLine.resources.dll +0 -0
  282. package/bin/publish/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll +0 -0
  283. package/bin/publish/runtimes/linux-arm/native/libgit2-c058aa8.so +0 -0
  284. package/bin/publish/runtimes/linux-arm64/native/libgit2-c058aa8.so +0 -0
  285. package/bin/publish/runtimes/linux-musl-arm/native/libgit2-c058aa8.so +0 -0
  286. package/bin/publish/runtimes/linux-musl-arm64/native/libgit2-c058aa8.so +0 -0
  287. package/bin/publish/runtimes/linux-musl-x64/native/libgit2-c058aa8.so +0 -0
  288. package/bin/publish/runtimes/linux-x64/native/libgit2-c058aa8.so +0 -0
  289. package/bin/publish/runtimes/osx-arm64/native/libgit2-c058aa8.dylib +0 -0
  290. package/bin/publish/runtimes/osx-x64/native/libgit2-c058aa8.dylib +0 -0
  291. package/bin/publish/runtimes/win-arm64/native/git2-c058aa8.dll +0 -0
  292. package/bin/publish/runtimes/win-x64/native/git2-c058aa8.dll +0 -0
  293. package/bin/publish/runtimes/win-x86/native/git2-c058aa8.dll +0 -0
  294. package/bin/publish/testhost.dll +0 -0
  295. package/bin/publish/testhost.exe +0 -0
  296. package/bin/publish/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  297. package/bin/publish/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  298. package/bin/publish/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  299. package/bin/publish/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  300. package/bin/publish/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  301. package/bin/publish/tr/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  302. package/bin/publish/tr/System.CommandLine.resources.dll +0 -0
  303. package/bin/publish/xunit.abstractions.dll +0 -0
  304. package/bin/publish/xunit.assert.dll +0 -0
  305. package/bin/publish/xunit.core.dll +0 -0
  306. package/bin/publish/xunit.execution.dotnet.dll +0 -0
  307. package/bin/publish/xunit.runner.reporters.netcoreapp10.dll +0 -0
  308. package/bin/publish/xunit.runner.utility.netcoreapp10.dll +0 -0
  309. package/bin/publish/xunit.runner.visualstudio.dotnetcore.testadapter.dll +0 -0
  310. package/bin/publish/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  311. package/bin/publish/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  312. package/bin/publish/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  313. package/bin/publish/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  314. package/bin/publish/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  315. package/bin/publish/zh-Hans/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  316. package/bin/publish/zh-Hans/System.CommandLine.resources.dll +0 -0
  317. package/bin/publish/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  318. package/bin/publish/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  319. package/bin/publish/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  320. package/bin/publish/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  321. package/bin/publish/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  322. package/bin/publish/zh-Hant/Microsoft.VisualStudio.TraceDataCollector.resources.dll +0 -0
  323. package/bin/publish/zh-Hant/System.CommandLine.resources.dll +0 -0
  324. package/package.json +68 -0
  325. package/scripts/postinstall.js +62 -0
  326. package/scripts/publish.js +89 -0
package/README.md ADDED
@@ -0,0 +1,491 @@
1
+ # FTC CLI - Ferramenta de Análise de Repositórios Git
2
+
3
+ Ferramenta de linha de comando (CLI) para análise de repositórios Git, desenvolvida seguindo a arquitetura Vertical Slice do projeto FTC.
4
+
5
+ ## Funcionalidades
6
+
7
+ - ✅ Total de commits no repositório
8
+ - ✅ Lista de autores e quantidade de commits por autor
9
+ - ✅ Número total de arquivos alterados
10
+ - ✅ Lista dos arquivos alterados com quantidade de alterações (adições/remoções)
11
+ - ✅ Relatório resumido com datas dos primeiros e últimos commits
12
+ - ✅ **Suporte a repositórios remotos** (clona automaticamente)
13
+ - ✅ Filtros por data (--startDate e --endDate)
14
+ - ✅ Exportação em JSON (--json)
15
+ - ✅ **Exportação em CSV detalhado** (--csv) com informações por commit
16
+ - ✅ **Tratamento robusto de erros** com mensagens claras
17
+ - ✅ **Testes automatizados** para validação de funcionalidades
18
+ - ✅ **Suporte a Docker** para execução em containers
19
+ - ✅ **Uso como ferramenta global (dotnet tool)**
20
+
21
+ ## Simulando/Executando localmente via Docker CLI
22
+
23
+ Você pode rodar o FTC CLI via Docker em ambiente local, sem scripts auxiliares, seguindo estes passos:
24
+
25
+ ### 1. Build da imagem Docker localmente
26
+
27
+ No diretório do projeto (onde está o Dockerfile):
28
+
29
+ ```sh
30
+ docker build -t ftc:latest .
31
+ ```
32
+
33
+ ### 2. Executar a CLI com repositório local
34
+
35
+ Supondo que você tenha um repositório local em uma pasta chamada `meu-repo` no seu diretório atual:
36
+
37
+ #### Linux/macOS
38
+ ```sh
39
+ docker run --rm -v "$PWD:/repo" ftc:latest collect code "/repo/meu-repo" --json
40
+ ```
41
+
42
+ #### Windows (cmd/powershell)
43
+ ```bat
44
+ docker run --rm -v "%cd%:/repo" ftc:latest collect code "/repo/meu-repo" --json
45
+ ```
46
+
47
+ - O volume `-v "$PWD:/repo"` (ou `%cd%:/repo` no Windows) faz com que a pasta atual do host seja montada como `/repo` dentro do container.
48
+ - O parâmetro `collect code "/repo/meu-repo"` aponta para o caminho do repositório dentro do container.
49
+
50
+ ### 3. Executar a CLI com repositório remoto
51
+
52
+ Você não precisa mapear volumes para repositórios remotos:
53
+
54
+ ```sh
55
+ docker run --rm ftc:latest collect code "https://github.com/usuario/repositorio.git" --json
56
+ ```
57
+
58
+ ### 4. Exemplo com filtros de data
59
+
60
+ ```sh
61
+ docker run --rm -v "$PWD:/repo" ftc:latest collect code "/repo/meu-repo" --startDate 2024-01-01 --endDate 2024-12-31 --json
62
+ ```
63
+
64
+ ### 5. Ver ajuda da CLI
65
+
66
+ ```sh
67
+ docker run --rm ftc:latest --help
68
+ ```
69
+
70
+ > **Resumo:**
71
+ > - Sempre use `-v "$PWD:/repo"` (Linux/macOS) ou `-v "%cd%:/repo"` (Windows) para acessar repositórios locais.
72
+ > - O caminho passado para `code` deve ser o caminho dentro do container, por exemplo, `"/repo/meu-repo"`.
73
+ > - Para repositórios remotos, basta passar a URL.
74
+
75
+ ## Uso moderno via Docker CLI
76
+
77
+ Execute diretamente, sem scripts auxiliares:
78
+
79
+ ### Linux/macOS
80
+ ```sh
81
+ docker run --rm -v "$PWD:/repo" ftc:latest collect code "/repo/meu-repo" --json
82
+ ```
83
+
84
+ ### Windows (cmd/powershell)
85
+ ```bat
86
+ docker run --rm -v "%cd%:/repo" ftc:latest collect code "/repo/meu-repo" --json
87
+ ```
88
+
89
+ ### Repositório remoto
90
+ ```sh
91
+ docker run --rm ftc:latest collect code "https://github.com/usuario/repositorio.git" --json
92
+ ```
93
+
94
+ ### Com filtros de data
95
+ ```sh
96
+ docker run --rm -v "$PWD:/repo" ftc:latest collect code "/repo/meu-repo" --startDate 2024-01-01 --endDate 2024-12-31 --json
97
+ ```
98
+
99
+ > **Dica:**
100
+ > - O volume `-v "$PWD:/repo"` (ou `%cd%:/repo` no Windows) permite que o container acesse seu repositório local.
101
+ > - O comando `code "/repo/meu-repo"` deve apontar para o caminho dentro do container.
102
+
103
+ ## Uso como ferramenta global (dotnet tool)
104
+
105
+ Após instalar:
106
+
107
+ ```sh
108
+ dotnet tool install --global --add-source ./bin/Release ftc.cli
109
+ ```
110
+
111
+ Execute de qualquer lugar:
112
+
113
+ ```sh
114
+ ftc collect code "./caminho/para/meu-repo" --json
115
+ ```
116
+
117
+ Exemplo com repositório remoto e filtros:
118
+
119
+ ```sh
120
+ ftc collect code "https://github.com/usuario/repositorio.git" --startDate 2024-01-01 --endDate 2024-12-31 --json
121
+ ```
122
+
123
+ Para ajuda:
124
+
125
+ ```sh
126
+ ftc --help
127
+ ```
128
+
129
+ ## Uso
130
+
131
+ ### Execução Local
132
+
133
+ #### Análise de repositório local
134
+ ```bash
135
+ dotnet run -- collect code /caminho/para/repositorio
136
+ ```
137
+
138
+ #### Análise de repositório remoto
139
+ ```bash
140
+ dotnet run -- collect code https://github.com/usuario/repositorio.git
141
+ ```
142
+
143
+ #### Com filtros de data
144
+ ```bash
145
+ dotnet run -- collect code /caminho/para/repositorio --startDate 2024-01-01 --endDate 2024-12-31
146
+ ```
147
+
148
+ #### Exportação em JSON
149
+ ```bash
150
+ dotnet run -- collect code /caminho/para/repositorio --json
151
+ ```
152
+
153
+ #### Exportação em CSV detalhado
154
+ ```bash
155
+ dotnet run -- collect code /caminho/para/repositorio --csv
156
+ ```
157
+
158
+ #### Exportação para S3
159
+ ```bash
160
+ dotnet run -- collect code /caminho/para/repositorio --csv --export s3
161
+ ```
162
+
163
+ ### Execução com Docker
164
+
165
+ #### Construir e executar
166
+ ```bash
167
+ # Linux/macOS
168
+ ./scripts/docker-run.sh collect code /caminho/para/repositorio
169
+
170
+ # Windows
171
+ scripts\docker-run.bat collect code C:\caminho\para\repositorio
172
+ ```
173
+
174
+ #### Análise de repositório remoto
175
+ ```bash
176
+ # Linux/macOS
177
+ ./scripts/docker-run.sh collect code https://github.com/usuario/repositorio.git
178
+
179
+ # Windows
180
+ scripts\docker-run.bat collect code https://github.com/usuario/repositorio.git
181
+ ```
182
+
183
+ #### Com filtros e JSON
184
+ ```bash
185
+ # Linux/macOS
186
+ ./scripts/docker-run.sh collect code /caminho/para/repositorio --startDate 2024-01-01 --json
187
+
188
+ # Windows
189
+ scripts\docker-run.bat collect code C:\caminho\para\repositorio --startDate 2024-01-01 --json
190
+ ```
191
+
192
+ #### Opções do Docker Runner
193
+ ```bash
194
+ # Mostrar ajuda
195
+ ./scripts/docker-run.sh --help
196
+
197
+ # Reconstruir imagem
198
+ ./scripts/docker-run.sh --build collect code /caminho/para/repositorio
199
+
200
+ # Limpar containers
201
+ ./scripts/docker-run.sh --clean
202
+ ```
203
+
204
+ #### Execução direta com Docker
205
+ ```bash
206
+ # Construir imagem
207
+ docker-compose build
208
+
209
+ # Executar CLI
210
+ docker-compose run --rm ftc collect code /caminho/para/repositorio
211
+
212
+ # Executar com volumes mapeados
213
+ docker run --rm -v $(pwd)/repos:/repos:ro ftc:latest collect code /repos/meu-projeto
214
+ ```
215
+
216
+ ## Opções
217
+
218
+ - `collect`: Comando para coleta de dados
219
+ - `code`: Caminho local ou URL do repositório Git (obrigatório)
220
+ - `--startDate`: Data inicial no formato yyyy-MM-dd (opcional)
221
+ - `--endDate`: Data final no formato yyyy-MM-dd (opcional)
222
+ - `--json`: Exportar resultado em formato JSON (opcional)
223
+ - `--csv`: Exportar resultado em formato CSV detalhado (opcional)
224
+ - `--export`: Destino de exportação: local:/caminho/arquivo.json ou s3 (opcional)
225
+
226
+ ## Repositórios Suportados
227
+
228
+ ### Locais
229
+ - Caminhos absolutos: `C:\caminho\para\repositorio`
230
+ - Caminhos relativos: `./repositorio`, `../repositorio`
231
+
232
+ ### Remotos
233
+ - HTTPS: `https://github.com/usuario/repositorio.git`
234
+ - HTTP: `http://github.com/usuario/repositorio.git`
235
+ - SSH: `git@github.com/usuario/repositorio.git`
236
+ - Git: `git://github.com/usuario/repositorio.git`
237
+
238
+ ## Exemplo de Saída
239
+
240
+ ### Formato padrão
241
+ ```
242
+ Analisando repositório: https://github.com/usuario/repositorio.git
243
+ Tipo: Remoto
244
+ Clonando repositório: https://github.com/usuario/repositorio.git
245
+ Pasta temporária: C:\Users\usuario\AppData\Local\Temp\ftc-cli-12345678-1234-1234-1234-123456789abc
246
+ Repositório clonado com sucesso.
247
+
248
+ 📊 Total de commits: 150
249
+
250
+ 👥 Autores:
251
+ • João Silva <joao@exemplo.com>: 45 commits
252
+ • Maria Santos <maria@exemplo.com>: 38 commits
253
+ • Pedro Oliveira <pedro@exemplo.com>: 27 commits
254
+
255
+ 📁 Total de arquivos alterados: 89
256
+ 📄 Arquivos alterados:
257
+ • src/Program.cs: +120 -45
258
+ • src/Models.cs: +89 -12
259
+ • README.md: +15 -3
260
+ ... e mais 86 arquivos
261
+
262
+ 📅 Primeiro commit: 2024-01-15 10:30:00
263
+ 📅 Último commit: 2024-12-20 16:45:30
264
+ ```
265
+
266
+ ### Formato JSON
267
+ ```json
268
+ {
269
+ "totalCommits": 150,
270
+ "authors": [
271
+ {
272
+ "name": "João Silva",
273
+ "email": "joao@exemplo.com",
274
+ "commits": 45
275
+ }
276
+ ],
277
+ "totalFilesChanged": 89,
278
+ "files": [
279
+ {
280
+ "filePath": "src/Program.cs",
281
+ "additions": 120,
282
+ "deletions": 45
283
+ }
284
+ ],
285
+ "firstCommitDate": "2024-01-15T10:30:00+00:00",
286
+ "lastCommitDate": "2024-12-20T16:45:30+00:00"
287
+ }
288
+ ```
289
+
290
+ ### Formato CSV
291
+ ```csv
292
+ nomeRepositorio;idRepositorio;dataCommit;idCommit;nomeAutor;emailAutor;nomeArquivo;caminhoArquivo;linhasAdicionadas;linhasRemovidas
293
+ meu-repo;abc123;2024-01-15 10:30:00;def456;João Silva;joao@exemplo.com;Program.cs;src/Program.cs;120;45
294
+ meu-repo;abc123;2024-01-15 10:30:00;def456;João Silva;joao@exemplo.com;Models.cs;src/Models.cs;89;12
295
+ meu-repo;abc123;2024-01-16 14:20:00;ghi789;Maria Santos;maria@exemplo.com;README.md;README.md;15;3
296
+ ```
297
+
298
+ O formato CSV inclui:
299
+ - **nomeRepositorio**: Nome do repositório
300
+ - **idRepositorio**: ID do repositório (SHA do HEAD)
301
+ - **dataCommit**: Data e hora do commit
302
+ - **idCommit**: SHA do commit
303
+ - **nomeAutor**: Nome do autor do commit
304
+ - **emailAutor**: Email do autor do commit
305
+ - **nomeArquivo**: Nome do arquivo alterado
306
+ - **caminhoArquivo**: Caminho completo do arquivo
307
+ - **linhasAdicionadas**: Número de linhas adicionadas
308
+ - **linhasRemovidas**: Número de linhas removidas
309
+
310
+ ## Tratamento de Erros
311
+
312
+ A CLI fornece mensagens de erro claras e específicas:
313
+
314
+ - **Repositório não encontrado**: Verifica se o caminho existe
315
+ - **Repositório Git inválido**: Valida se é um repositório Git válido
316
+ - **Sem commits**: Verifica se há commits para análise
317
+ - **Período sem commits**: Avisa quando não há commits no período especificado
318
+ - **Datas inválidas**: Valida formato e ordem das datas
319
+ - **Erro de clonagem**: Trata falhas na clonagem de repositórios remotos
320
+
321
+ ## Arquitetura
322
+
323
+ O projeto segue a arquitetura Vertical Slice do FTC:
324
+
325
+ ```
326
+ Features/
327
+ └── AnalyzeRepository/
328
+ ├── Models.cs # Request/Response records
329
+ └── AnalyzeRepositorySlice.cs # Lógica de análise
330
+
331
+ Common/
332
+ └── RepositoryUtils.cs # Utilitários para repositórios
333
+
334
+ scripts/
335
+ ├── docker-run.sh # Script Linux/macOS
336
+ └── docker-run.bat # Script Windows
337
+ ```
338
+
339
+ ## Docker
340
+
341
+ ### Estrutura Docker
342
+ ```
343
+ Dockerfile # Multi-stage build otimizado
344
+ .dockerignore # Exclusões para build
345
+ docker-compose.yml # Configuração do container
346
+ scripts/
347
+ ├── docker-run.sh # Script Linux/macOS
348
+ └── docker-run.bat # Script Windows
349
+ ```
350
+
351
+ ### Características da Imagem
352
+ - **Multi-stage build**: Otimiza tamanho da imagem
353
+ - **Runtime .NET 8**: Imagem base leve
354
+ - **Git instalado**: Suporte a repositórios remotos
355
+ - **Volumes mapeados**: Acesso a repositórios locais
356
+ - **Timezone configurado**: America/Sao_Paulo
357
+
358
+ ### Volumes Docker
359
+ - `./repos:/repos:ro`: Mapeia repositórios locais (somente leitura)
360
+ - `./temp:/tmp/ftc-cli`: Pasta temporária para persistência
361
+
362
+ ## Testes
363
+
364
+ O projeto inclui testes automatizados para validação de funcionalidades:
365
+
366
+ ```bash
367
+ # Executar todos os testes
368
+ dotnet test ../../ftc.cli.tests
369
+
370
+ # Executar testes específicos
371
+ dotnet test ../../ftc.cli.tests --filter "IsRemoteRepository"
372
+ ```
373
+
374
+ ### Cobertura de Testes
375
+ - ✅ Detecção de repositórios remotos vs locais
376
+ - ✅ Validação de URLs HTTPS, HTTP, SSH, Git
377
+ - ✅ Validação de caminhos locais e relativos
378
+
379
+ ## Dependências
380
+
381
+ - **System.CommandLine**: Para parsing de argumentos da CLI
382
+ - **LibGit2Sharp**: Para análise de repositórios Git
383
+ - **System.Text.Json**: Para serialização JSON
384
+ - **xUnit**: Para testes automatizados
385
+ - **Docker**: Para containerização
386
+
387
+ ## Desenvolvimento
388
+
389
+ ### Compilar
390
+ ```bash
391
+ dotnet build
392
+ ```
393
+
394
+ ### Executar Localmente
395
+ ```bash
396
+ dotnet run -- [argumentos]
397
+ ```
398
+
399
+ ### Executar com Docker
400
+ ```bash
401
+ # Linux/macOS
402
+ ./scripts/docker-run.sh [argumentos]
403
+
404
+ # Windows
405
+ scripts\docker-run.bat [argumentos]
406
+ ```
407
+
408
+ ### Testar
409
+ ```bash
410
+ # Testar com um repositório local
411
+ dotnet run -- C:\caminho\para\repositorio
412
+
413
+ # Testar com repositório remoto
414
+ dotnet run -- https://github.com/usuario/repositorio.git
415
+
416
+ # Testar com filtros
417
+ dotnet run -- C:\caminho\para\repositorio --since 2024-01-01 --json
418
+
419
+ # Executar testes
420
+ dotnet test ../../ftc.cli.tests
421
+
422
+ # Testar com Docker
423
+ ./scripts/docker-run.sh C:\caminho\para\repositorio
424
+ ```
425
+
426
+ ## Melhorias Implementadas
427
+
428
+ ### ✅ Suporte a Repositórios Remotos
429
+ - Detecção automática de URLs vs caminhos locais
430
+ - Clonagem automática para pasta temporária
431
+ - Limpeza automática após análise
432
+ - Suporte a múltiplos protocolos (HTTPS, HTTP, SSH, Git)
433
+
434
+ ### ✅ Testes Automatizados
435
+ - Testes unitários para detecção de repositórios
436
+ - Cobertura de diferentes tipos de URLs
437
+ - Validação de caminhos locais e relativos
438
+ - Integração com xUnit
439
+
440
+ ### ✅ Tratamento Robusto de Erros
441
+ - Mensagens de erro específicas e úteis
442
+ - Validação de argumentos de entrada
443
+ - Verificação de repositórios válidos
444
+ - Tratamento de exceções com contexto
445
+ - Interface melhorada com emojis e formatação
446
+
447
+ ### ✅ Suporte a Docker
448
+ - Multi-stage build otimizado
449
+ - Scripts para Linux/macOS e Windows
450
+ - Volumes mapeados para repositórios locais
451
+ - Configuração de timezone
452
+ - Docker Compose para facilitar uso
453
+
454
+ ## Exportação de resultados (local e S3)
455
+
456
+ A CLI permite exportar o resultado da análise para um arquivo local ou diretamente para um bucket S3.
457
+
458
+ ### Exportar JSON localmente
459
+ ```sh
460
+ ftc code "./meu-repo" --json --export local:./resultado.json
461
+ ```
462
+
463
+ ### Exportar CSV localmente
464
+ ```sh
465
+ ftc code "./meu-repo" --csv --export local:./resultado.csv
466
+ ```
467
+
468
+ ### Exportar para S3 (JSON)
469
+ ```sh
470
+ ftc code "./meu-repo" --json --export s3
471
+ ```
472
+
473
+ ### Exportar para S3 (CSV)
474
+ ```sh
475
+ ftc code "./meu-repo" --csv --export s3
476
+ ```
477
+
478
+ ### Exportar para S3 (bucket e key customizados)
479
+ ```sh
480
+ ftc code "./meu-repo" --csv --export s3: --s3-bucket "meu-bucket"
481
+ ```
482
+
483
+ ### Exportar para S3 (bucket/key no próprio parâmetro)
484
+ ```sh
485
+ ftc code "./meu-repo" --csv --export s3://meu-bucket/analises/resultado.csv
486
+ ```
487
+
488
+ - Se `--s3-bucket` não for informado, será usado o bucket padrão `ftc-analyzer`.
489
+ - Para JSON: Se `--s3-key` não for informado, será usado o padrão `analises/<nome_repositorio>-ano-mes-dia.json`.
490
+ - Para CSV: Se `--s3-key` não for informado, será usado o padrão `analises/<nome_repositorio>-ano-mes-dia.csv`.
491
+ - O parâmetro `--s3-region` pode ser usado para especificar a região AWS.
Binary file
Binary file
@@ -0,0 +1,39 @@
1
+ {
2
+ "Serilog": {
3
+ "MinimumLevel": {
4
+ "Default": "Information",
5
+ "Override": {
6
+ "Microsoft": "Warning",
7
+ "System": "Warning"
8
+ }
9
+ },
10
+ "Enrich": [
11
+ "FromLogContext",
12
+ "WithThreadId",
13
+ "WithMachineName",
14
+ "WithEnvironmentUserName",
15
+ "WithExceptionDetails"
16
+ ],
17
+ "Properties": {
18
+ "ApplicationName": "FTC-CLI"
19
+ },
20
+ "WriteTo": [
21
+ {
22
+ "Name": "Console",
23
+ "Args": {
24
+ "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] [{ThreadId}] {Message:lj}{NewLine}{Exception}"
25
+ }
26
+ }
27
+ ]
28
+ },
29
+ "OpenTelemetry": {
30
+ "ServiceName": "ftc.cli",
31
+ "OtlpEndpoint": "http://10.0.17.241:4317"
32
+ },
33
+ "AWS": {
34
+ "Region": "us-east-1",
35
+ "S3": {
36
+ "BucketName": "ftc-analyzer"
37
+ }
38
+ }
39
+ }