makit 0.0.140 → 0.0.141
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.
- checksums.yaml +4 -4
- data/README.md +41 -41
- data/exe/makit +5 -5
- data/lib/makit/apache.rb +28 -28
- data/lib/makit/auto.rb +48 -48
- data/lib/makit/cli/build_commands.rb +500 -500
- data/lib/makit/cli/generators/base_generator.rb +74 -74
- data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
- data/lib/makit/cli/generators/generator_factory.rb +49 -49
- data/lib/makit/cli/generators/node_generator.rb +50 -50
- data/lib/makit/cli/generators/ruby_generator.rb +77 -77
- data/lib/makit/cli/generators/rust_generator.rb +50 -50
- data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
- data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
- data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
- data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -40
- data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
- data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
- data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
- data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
- data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
- data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
- data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
- data/lib/makit/cli/main.rb +69 -69
- data/lib/makit/cli/project_commands.rb +868 -868
- data/lib/makit/cli/repository_commands.rb +661 -661
- data/lib/makit/cli/strategy_commands.rb +203 -203
- data/lib/makit/cli/utility_commands.rb +521 -521
- data/lib/makit/commands/factory.rb +359 -359
- data/lib/makit/commands/middleware/base.rb +73 -73
- data/lib/makit/commands/middleware/cache.rb +248 -248
- data/lib/makit/commands/middleware/command_logger.rb +312 -312
- data/lib/makit/commands/middleware/validator.rb +269 -269
- data/lib/makit/commands/request.rb +316 -316
- data/lib/makit/commands/result.rb +323 -323
- data/lib/makit/commands/runner.rb +388 -385
- data/lib/makit/commands/strategies/base.rb +171 -171
- data/lib/makit/commands/strategies/child_process.rb +165 -165
- data/lib/makit/commands/strategies/factory.rb +136 -136
- data/lib/makit/commands/strategies/synchronous.rb +139 -139
- data/lib/makit/commands.rb +50 -50
- data/lib/makit/configuration/dotnet_project.rb +12 -12
- data/lib/makit/configuration/gitlab_helper.rb +58 -58
- data/lib/makit/configuration/project.rb +168 -168
- data/lib/makit/configuration/rakefile_helper.rb +43 -43
- data/lib/makit/configuration/step.rb +34 -34
- data/lib/makit/configuration/timeout.rb +74 -74
- data/lib/makit/configuration.rb +15 -15
- data/lib/makit/content/default_gitignore.rb +7 -7
- data/lib/makit/content/default_gitignore.txt +225 -225
- data/lib/makit/content/default_rakefile.rb +13 -13
- data/lib/makit/content/gem_rakefile.rb +16 -16
- data/lib/makit/context.rb +1 -1
- data/lib/makit/data.rb +49 -49
- data/lib/makit/directories.rb +140 -140
- data/lib/makit/directory.rb +262 -262
- data/lib/makit/docs/files.rb +89 -89
- data/lib/makit/docs/rake.rb +102 -102
- data/lib/makit/dotnet/cli.rb +69 -69
- data/lib/makit/dotnet/project.rb +217 -217
- data/lib/makit/dotnet/solution.rb +38 -38
- data/lib/makit/dotnet/solution_classlib.rb +239 -239
- data/lib/makit/dotnet/solution_console.rb +264 -264
- data/lib/makit/dotnet/solution_maui.rb +354 -354
- data/lib/makit/dotnet/solution_wasm.rb +275 -275
- data/lib/makit/dotnet/solution_wpf.rb +304 -304
- data/lib/makit/dotnet.rb +102 -102
- data/lib/makit/email.rb +90 -90
- data/lib/makit/environment.rb +142 -142
- data/lib/makit/examples/runner.rb +370 -370
- data/lib/makit/exceptions.rb +45 -45
- data/lib/makit/fileinfo.rb +24 -24
- data/lib/makit/files.rb +43 -43
- data/lib/makit/gems.rb +40 -40
- data/lib/makit/git/cli.rb +54 -54
- data/lib/makit/git/repository.rb +90 -90
- data/lib/makit/git.rb +98 -98
- data/lib/makit/gitlab_runner.rb +59 -59
- data/lib/makit/humanize.rb +137 -137
- data/lib/makit/indexer.rb +47 -47
- data/lib/makit/logging/configuration.rb +308 -308
- data/lib/makit/logging/format_registry.rb +84 -84
- data/lib/makit/logging/formatters/base.rb +39 -39
- data/lib/makit/logging/formatters/console_formatter.rb +140 -140
- data/lib/makit/logging/formatters/json_formatter.rb +65 -65
- data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
- data/lib/makit/logging/formatters/text_formatter.rb +64 -64
- data/lib/makit/logging/log_request.rb +119 -119
- data/lib/makit/logging/logger.rb +199 -199
- data/lib/makit/logging/sinks/base.rb +91 -91
- data/lib/makit/logging/sinks/console.rb +72 -72
- data/lib/makit/logging/sinks/file_sink.rb +92 -92
- data/lib/makit/logging/sinks/structured.rb +123 -123
- data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
- data/lib/makit/logging.rb +565 -565
- data/lib/makit/markdown.rb +75 -75
- data/lib/makit/mp/basic_object_mp.rb +17 -17
- data/lib/makit/mp/command_mp.rb +13 -13
- data/lib/makit/mp/command_request.mp.rb +17 -17
- data/lib/makit/mp/project_mp.rb +199 -199
- data/lib/makit/mp/string_mp.rb +199 -191
- data/lib/makit/nuget.rb +74 -74
- data/lib/makit/port.rb +32 -32
- data/lib/makit/process.rb +163 -163
- data/lib/makit/protoc.rb +107 -107
- data/lib/makit/rake/cli.rb +196 -196
- data/lib/makit/rake/trace_controller.rb +173 -173
- data/lib/makit/rake.rb +80 -80
- data/lib/makit/ruby/cli.rb +185 -185
- data/lib/makit/ruby.rb +25 -25
- data/lib/makit/secrets.rb +51 -51
- data/lib/makit/serializer.rb +130 -130
- data/lib/makit/services/builder.rb +186 -186
- data/lib/makit/services/error_handler.rb +226 -226
- data/lib/makit/services/repository_manager.rb +231 -231
- data/lib/makit/services/validator.rb +112 -112
- data/lib/makit/setup/classlib.rb +101 -101
- data/lib/makit/setup/gem.rb +268 -268
- data/lib/makit/setup/razorclasslib.rb +101 -101
- data/lib/makit/setup/runner.rb +54 -54
- data/lib/makit/setup.rb +5 -5
- data/lib/makit/show.rb +110 -110
- data/lib/makit/storage.rb +126 -126
- data/lib/makit/symbols.rb +170 -170
- data/lib/makit/task_info.rb +130 -130
- data/lib/makit/tasks/at_exit.rb +15 -15
- data/lib/makit/tasks/build.rb +22 -22
- data/lib/makit/tasks/clean.rb +13 -13
- data/lib/makit/tasks/configure.rb +10 -10
- data/lib/makit/tasks/format.rb +10 -10
- data/lib/makit/tasks/hook_manager.rb +443 -443
- data/lib/makit/tasks/init.rb +49 -49
- data/lib/makit/tasks/integrate.rb +29 -29
- data/lib/makit/tasks/pull_incoming.rb +13 -13
- data/lib/makit/tasks/setup.rb +13 -13
- data/lib/makit/tasks/sync.rb +17 -17
- data/lib/makit/tasks/tag.rb +16 -16
- data/lib/makit/tasks/task_monkey_patch.rb +81 -81
- data/lib/makit/tasks/test.rb +22 -22
- data/lib/makit/tasks/update.rb +18 -18
- data/lib/makit/tasks.rb +20 -20
- data/lib/makit/test_cache.rb +239 -239
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_pb.rb +35 -35
- data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
- data/lib/makit/version.rb +99 -99
- data/lib/makit/version_util.rb +21 -21
- data/lib/makit/wix.rb +95 -95
- data/lib/makit/yaml.rb +29 -29
- data/lib/makit/zip.rb +17 -17
- data/lib/makit copy.rb +44 -44
- data/lib/makit.rb +42 -42
- metadata +2 -2
@@ -1,50 +1,50 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "base_generator"
|
4
|
-
require_relative "templates/rust_templates"
|
5
|
-
|
6
|
-
module Makit
|
7
|
-
module Cli
|
8
|
-
module Generators
|
9
|
-
# Generator for Rust crate projects
|
10
|
-
class RustGenerator < BaseGenerator
|
11
|
-
def file_definitions
|
12
|
-
{
|
13
|
-
"Cargo.toml" => :cargo_toml_content,
|
14
|
-
"src/main.rs" => :main_rs_content,
|
15
|
-
"README.md" => :readme_content,
|
16
|
-
".gitignore" => :gitignore_content,
|
17
|
-
}
|
18
|
-
end
|
19
|
-
|
20
|
-
def project_type
|
21
|
-
"Rust crate"
|
22
|
-
end
|
23
|
-
|
24
|
-
def display_custom_next_steps
|
25
|
-
puts " cargo build"
|
26
|
-
puts " cargo run"
|
27
|
-
super
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def cargo_toml_content
|
33
|
-
Templates::Rust::CargoToml.new(name).render
|
34
|
-
end
|
35
|
-
|
36
|
-
def main_rs_content
|
37
|
-
Templates::Rust::MainRs.new(name).render
|
38
|
-
end
|
39
|
-
|
40
|
-
def readme_content
|
41
|
-
Templates::Rust::Readme.new(name).render
|
42
|
-
end
|
43
|
-
|
44
|
-
def gitignore_content
|
45
|
-
Templates::Rust::Gitignore.new(name).render
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "base_generator"
|
4
|
+
require_relative "templates/rust_templates"
|
5
|
+
|
6
|
+
module Makit
|
7
|
+
module Cli
|
8
|
+
module Generators
|
9
|
+
# Generator for Rust crate projects
|
10
|
+
class RustGenerator < BaseGenerator
|
11
|
+
def file_definitions
|
12
|
+
{
|
13
|
+
"Cargo.toml" => :cargo_toml_content,
|
14
|
+
"src/main.rs" => :main_rs_content,
|
15
|
+
"README.md" => :readme_content,
|
16
|
+
".gitignore" => :gitignore_content,
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def project_type
|
21
|
+
"Rust crate"
|
22
|
+
end
|
23
|
+
|
24
|
+
def display_custom_next_steps
|
25
|
+
puts " cargo build"
|
26
|
+
puts " cargo run"
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def cargo_toml_content
|
33
|
+
Templates::Rust::CargoToml.new(name).render
|
34
|
+
end
|
35
|
+
|
36
|
+
def main_rs_content
|
37
|
+
Templates::Rust::MainRs.new(name).render
|
38
|
+
end
|
39
|
+
|
40
|
+
def readme_content
|
41
|
+
Templates::Rust::Readme.new(name).render
|
42
|
+
end
|
43
|
+
|
44
|
+
def gitignore_content
|
45
|
+
Templates::Rust::Gitignore.new(name).render
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -1,167 +1,167 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
module Cli
|
5
|
-
module Generators
|
6
|
-
module Templates
|
7
|
-
# .NET project template generators
|
8
|
-
#
|
9
|
-
# This module contains template classes for generating .NET project files
|
10
|
-
# including .csproj files, Program.cs, README.md, and .gitignore files.
|
11
|
-
#
|
12
|
-
# @example Generate a .csproj file
|
13
|
-
# csproj = Makit::Cli::Generators::Templates::Dotnet::Csproj.new("my-app")
|
14
|
-
# content = csproj.render
|
15
|
-
module Dotnet
|
16
|
-
# Template generator for .NET .csproj project files
|
17
|
-
#
|
18
|
-
# Generates a basic .NET 6.0 console application project file with
|
19
|
-
# standard configuration including nullable reference types and implicit usings.
|
20
|
-
#
|
21
|
-
# @example
|
22
|
-
# csproj = Csproj.new("MyApp")
|
23
|
-
# xml_content = csproj.render
|
24
|
-
class Csproj
|
25
|
-
# Initialize a new .csproj template generator
|
26
|
-
#
|
27
|
-
# @param project_name [String] the name of the .NET project
|
28
|
-
def initialize(project_name)
|
29
|
-
@project_name = project_name
|
30
|
-
end
|
31
|
-
|
32
|
-
# Render the .csproj XML content
|
33
|
-
#
|
34
|
-
# @return [String] the complete .csproj XML content
|
35
|
-
def render
|
36
|
-
<<~XML
|
37
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
38
|
-
|
39
|
-
<PropertyGroup>
|
40
|
-
<OutputType>Exe</OutputType>
|
41
|
-
<TargetFramework>net6.0</TargetFramework>
|
42
|
-
<ImplicitUsings>enable</ImplicitUsings>
|
43
|
-
<Nullable>enable</Nullable>
|
44
|
-
</PropertyGroup>
|
45
|
-
|
46
|
-
</Project>
|
47
|
-
XML
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
# Template generator for .NET Program.cs main entry point files
|
52
|
-
#
|
53
|
-
# Generates a basic C# console application with a Main method that
|
54
|
-
# outputs "Hello, World!" to the console. The namespace is derived
|
55
|
-
# from the project name by capitalizing and joining segments.
|
56
|
-
#
|
57
|
-
# @example
|
58
|
-
# program = ProgramCs.new("my-console-app")
|
59
|
-
# csharp_content = program.render
|
60
|
-
class ProgramCs
|
61
|
-
# Initialize a new Program.cs template generator
|
62
|
-
#
|
63
|
-
# @param project_name [String] the name of the .NET project
|
64
|
-
def initialize(project_name)
|
65
|
-
@project_name = project_name
|
66
|
-
end
|
67
|
-
|
68
|
-
# Render the Program.cs C# source code content
|
69
|
-
#
|
70
|
-
# @return [String] the complete C# source code with namespace and Main method
|
71
|
-
def render
|
72
|
-
<<~CSHARP
|
73
|
-
namespace #{@project_name.split(/[-_]/).map(&:capitalize).join};
|
74
|
-
|
75
|
-
class Program
|
76
|
-
{
|
77
|
-
static void Main(string[] args)
|
78
|
-
{
|
79
|
-
Console.WriteLine("Hello, World!");
|
80
|
-
}
|
81
|
-
}
|
82
|
-
CSHARP
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
# Template generator for .NET project README.md files
|
87
|
-
#
|
88
|
-
# Generates a standard README.md file with project name, description,
|
89
|
-
# and common .NET build/run/test commands. Provides a good starting
|
90
|
-
# point for .NET project documentation.
|
91
|
-
#
|
92
|
-
# @example
|
93
|
-
# readme = Readme.new("MyProject")
|
94
|
-
# markdown_content = readme.render
|
95
|
-
class Readme
|
96
|
-
# Initialize a new README.md template generator
|
97
|
-
#
|
98
|
-
# @param project_name [String] the name of the .NET project
|
99
|
-
def initialize(project_name)
|
100
|
-
@project_name = project_name
|
101
|
-
end
|
102
|
-
|
103
|
-
# Render the README.md markdown content
|
104
|
-
#
|
105
|
-
# @return [String] the complete README.md content with build instructions
|
106
|
-
def render
|
107
|
-
<<~README
|
108
|
-
# #{@project_name}
|
109
|
-
|
110
|
-
A .NET project.
|
111
|
-
|
112
|
-
## Building
|
113
|
-
|
114
|
-
```bash
|
115
|
-
dotnet build
|
116
|
-
```
|
117
|
-
|
118
|
-
## Running
|
119
|
-
|
120
|
-
```bash
|
121
|
-
dotnet run
|
122
|
-
```
|
123
|
-
|
124
|
-
## Testing
|
125
|
-
|
126
|
-
```bash
|
127
|
-
dotnet test
|
128
|
-
```
|
129
|
-
README
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
# Template generator for .NET project .gitignore files
|
134
|
-
#
|
135
|
-
# Generates a .gitignore file with common .NET build artifacts and
|
136
|
-
# IDE-specific files that should not be committed to version control.
|
137
|
-
# Includes bin/, obj/, and various Visual Studio cache files.
|
138
|
-
#
|
139
|
-
# @example
|
140
|
-
# gitignore = Gitignore.new("MyProject")
|
141
|
-
# ignore_content = gitignore.render
|
142
|
-
class Gitignore
|
143
|
-
# Initialize a new .gitignore template generator
|
144
|
-
#
|
145
|
-
# @param project_name [String] the name of the .NET project (unused but kept for consistency)
|
146
|
-
def initialize(project_name)
|
147
|
-
@project_name = project_name
|
148
|
-
end
|
149
|
-
|
150
|
-
# Render the .gitignore file content
|
151
|
-
#
|
152
|
-
# @return [String] the complete .gitignore content for .NET projects
|
153
|
-
def render
|
154
|
-
<<~GITIGNORE
|
155
|
-
bin/
|
156
|
-
obj/
|
157
|
-
*.user
|
158
|
-
*.suo
|
159
|
-
*.cache
|
160
|
-
GITIGNORE
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
167
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
module Cli
|
5
|
+
module Generators
|
6
|
+
module Templates
|
7
|
+
# .NET project template generators
|
8
|
+
#
|
9
|
+
# This module contains template classes for generating .NET project files
|
10
|
+
# including .csproj files, Program.cs, README.md, and .gitignore files.
|
11
|
+
#
|
12
|
+
# @example Generate a .csproj file
|
13
|
+
# csproj = Makit::Cli::Generators::Templates::Dotnet::Csproj.new("my-app")
|
14
|
+
# content = csproj.render
|
15
|
+
module Dotnet
|
16
|
+
# Template generator for .NET .csproj project files
|
17
|
+
#
|
18
|
+
# Generates a basic .NET 6.0 console application project file with
|
19
|
+
# standard configuration including nullable reference types and implicit usings.
|
20
|
+
#
|
21
|
+
# @example
|
22
|
+
# csproj = Csproj.new("MyApp")
|
23
|
+
# xml_content = csproj.render
|
24
|
+
class Csproj
|
25
|
+
# Initialize a new .csproj template generator
|
26
|
+
#
|
27
|
+
# @param project_name [String] the name of the .NET project
|
28
|
+
def initialize(project_name)
|
29
|
+
@project_name = project_name
|
30
|
+
end
|
31
|
+
|
32
|
+
# Render the .csproj XML content
|
33
|
+
#
|
34
|
+
# @return [String] the complete .csproj XML content
|
35
|
+
def render
|
36
|
+
<<~XML
|
37
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
38
|
+
|
39
|
+
<PropertyGroup>
|
40
|
+
<OutputType>Exe</OutputType>
|
41
|
+
<TargetFramework>net6.0</TargetFramework>
|
42
|
+
<ImplicitUsings>enable</ImplicitUsings>
|
43
|
+
<Nullable>enable</Nullable>
|
44
|
+
</PropertyGroup>
|
45
|
+
|
46
|
+
</Project>
|
47
|
+
XML
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Template generator for .NET Program.cs main entry point files
|
52
|
+
#
|
53
|
+
# Generates a basic C# console application with a Main method that
|
54
|
+
# outputs "Hello, World!" to the console. The namespace is derived
|
55
|
+
# from the project name by capitalizing and joining segments.
|
56
|
+
#
|
57
|
+
# @example
|
58
|
+
# program = ProgramCs.new("my-console-app")
|
59
|
+
# csharp_content = program.render
|
60
|
+
class ProgramCs
|
61
|
+
# Initialize a new Program.cs template generator
|
62
|
+
#
|
63
|
+
# @param project_name [String] the name of the .NET project
|
64
|
+
def initialize(project_name)
|
65
|
+
@project_name = project_name
|
66
|
+
end
|
67
|
+
|
68
|
+
# Render the Program.cs C# source code content
|
69
|
+
#
|
70
|
+
# @return [String] the complete C# source code with namespace and Main method
|
71
|
+
def render
|
72
|
+
<<~CSHARP
|
73
|
+
namespace #{@project_name.split(/[-_]/).map(&:capitalize).join};
|
74
|
+
|
75
|
+
class Program
|
76
|
+
{
|
77
|
+
static void Main(string[] args)
|
78
|
+
{
|
79
|
+
Console.WriteLine("Hello, World!");
|
80
|
+
}
|
81
|
+
}
|
82
|
+
CSHARP
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Template generator for .NET project README.md files
|
87
|
+
#
|
88
|
+
# Generates a standard README.md file with project name, description,
|
89
|
+
# and common .NET build/run/test commands. Provides a good starting
|
90
|
+
# point for .NET project documentation.
|
91
|
+
#
|
92
|
+
# @example
|
93
|
+
# readme = Readme.new("MyProject")
|
94
|
+
# markdown_content = readme.render
|
95
|
+
class Readme
|
96
|
+
# Initialize a new README.md template generator
|
97
|
+
#
|
98
|
+
# @param project_name [String] the name of the .NET project
|
99
|
+
def initialize(project_name)
|
100
|
+
@project_name = project_name
|
101
|
+
end
|
102
|
+
|
103
|
+
# Render the README.md markdown content
|
104
|
+
#
|
105
|
+
# @return [String] the complete README.md content with build instructions
|
106
|
+
def render
|
107
|
+
<<~README
|
108
|
+
# #{@project_name}
|
109
|
+
|
110
|
+
A .NET project.
|
111
|
+
|
112
|
+
## Building
|
113
|
+
|
114
|
+
```bash
|
115
|
+
dotnet build
|
116
|
+
```
|
117
|
+
|
118
|
+
## Running
|
119
|
+
|
120
|
+
```bash
|
121
|
+
dotnet run
|
122
|
+
```
|
123
|
+
|
124
|
+
## Testing
|
125
|
+
|
126
|
+
```bash
|
127
|
+
dotnet test
|
128
|
+
```
|
129
|
+
README
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
# Template generator for .NET project .gitignore files
|
134
|
+
#
|
135
|
+
# Generates a .gitignore file with common .NET build artifacts and
|
136
|
+
# IDE-specific files that should not be committed to version control.
|
137
|
+
# Includes bin/, obj/, and various Visual Studio cache files.
|
138
|
+
#
|
139
|
+
# @example
|
140
|
+
# gitignore = Gitignore.new("MyProject")
|
141
|
+
# ignore_content = gitignore.render
|
142
|
+
class Gitignore
|
143
|
+
# Initialize a new .gitignore template generator
|
144
|
+
#
|
145
|
+
# @param project_name [String] the name of the .NET project (unused but kept for consistency)
|
146
|
+
def initialize(project_name)
|
147
|
+
@project_name = project_name
|
148
|
+
end
|
149
|
+
|
150
|
+
# Render the .gitignore file content
|
151
|
+
#
|
152
|
+
# @return [String] the complete .gitignore content for .NET projects
|
153
|
+
def render
|
154
|
+
<<~GITIGNORE
|
155
|
+
bin/
|
156
|
+
obj/
|
157
|
+
*.user
|
158
|
+
*.suo
|
159
|
+
*.cache
|
160
|
+
GITIGNORE
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|