@torus-engineering/tas-kit 1.14.0 → 2.1.0

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 (99) hide show
  1. package/.tas/_platform/claude-code/settings.json +58 -46
  2. package/.tas/_platform/hooks/code-quality.js +127 -127
  3. package/.tas/_platform/hooks/session-end.js +111 -111
  4. package/.tas/agents/architect.md +53 -53
  5. package/.tas/agents/aws-reviewer.md +71 -71
  6. package/.tas/agents/build-resolver.md +89 -59
  7. package/.tas/agents/code-explorer.md +63 -63
  8. package/.tas/agents/csharp-reviewer.md +62 -62
  9. package/.tas/agents/database-reviewer.md +73 -73
  10. package/.tas/agents/doc-updater.md +68 -66
  11. package/.tas/agents/python-reviewer.md +67 -67
  12. package/.tas/agents/security-reviewer.md +79 -79
  13. package/.tas/agents/software-engineer.md +53 -0
  14. package/.tas/agents/typescript-reviewer.md +65 -65
  15. package/.tas/commands/ado-create.md +33 -28
  16. package/.tas/commands/ado-delete.md +26 -22
  17. package/.tas/commands/ado-get.md +24 -20
  18. package/.tas/commands/ado-status.md +22 -18
  19. package/.tas/commands/ado-update.md +31 -27
  20. package/.tas/commands/tas-adr.md +37 -33
  21. package/.tas/commands/tas-apitest-plan.md +177 -173
  22. package/.tas/commands/tas-apitest.md +147 -143
  23. package/.tas/commands/tas-brainstorm.md +23 -19
  24. package/.tas/commands/tas-brd.md +50 -0
  25. package/.tas/commands/tas-bug.md +127 -113
  26. package/.tas/commands/tas-checklist.md +180 -0
  27. package/.tas/commands/tas-debug.md +103 -0
  28. package/.tas/commands/tas-design.md +41 -37
  29. package/.tas/commands/tas-dev.md +225 -125
  30. package/.tas/commands/tas-e2e-mobile.md +146 -155
  31. package/.tas/commands/tas-e2e-web.md +150 -163
  32. package/.tas/commands/tas-e2e.md +289 -102
  33. package/.tas/commands/tas-feature.md +181 -47
  34. package/.tas/commands/tas-fix.md +72 -51
  35. package/.tas/commands/tas-functest-mobile.md +138 -144
  36. package/.tas/commands/tas-functest-web.md +176 -192
  37. package/.tas/commands/tas-functest.md +225 -76
  38. package/.tas/commands/tas-init.md +22 -17
  39. package/.tas/commands/tas-master-plan.md +300 -0
  40. package/.tas/commands/tas-orchestrate.md +159 -0
  41. package/.tas/commands/tas-plan.md +152 -117
  42. package/.tas/commands/tas-prd.md +57 -37
  43. package/.tas/commands/tas-review-pr.md +174 -0
  44. package/.tas/commands/tas-review.md +115 -113
  45. package/.tas/commands/tas-sad.md +47 -43
  46. package/.tas/commands/tas-security.md +91 -87
  47. package/.tas/commands/tas-spec.md +54 -50
  48. package/.tas/commands/tas-status.md +25 -16
  49. package/.tas/project-status-example.yaml +3 -1
  50. package/.tas/rules/ado-integration.md +67 -65
  51. package/.tas/rules/common/api-design.md +517 -517
  52. package/.tas/rules/common/build-debug-loop.md +233 -0
  53. package/.tas/rules/common/code-review.md +4 -0
  54. package/.tas/rules/common/feature-done.md +42 -0
  55. package/.tas/rules/common/post-implementation-review.md +4 -0
  56. package/.tas/rules/common/project-status.md +33 -16
  57. package/.tas/rules/common/sad-impact.md +81 -0
  58. package/.tas/rules/common/tdd.md +104 -89
  59. package/.tas/rules/csharp/api-testing.md +2 -2
  60. package/.tas/rules/csharp/torus-core-framework.md +128 -0
  61. package/.tas/tas-example.yaml +9 -32
  62. package/.tas/templates/AGENTS.md +13 -0
  63. package/.tas/templates/API-Test-Spec.md +5 -4
  64. package/.tas/templates/BRD.md +133 -0
  65. package/.tas/templates/Bug.md +15 -0
  66. package/.tas/templates/E2E-Execution-Report.md +8 -8
  67. package/.tas/templates/E2E-Mobile-Spec.md +6 -8
  68. package/.tas/templates/E2E-Report.md +2 -2
  69. package/.tas/templates/E2E-Scenario.md +22 -22
  70. package/.tas/templates/E2E-Test-Spec.md +274 -0
  71. package/.tas/templates/E2E-Web-Spec.md +4 -4
  72. package/.tas/templates/Feature-Technical-Part.md +69 -0
  73. package/.tas/templates/Feature-Technical-Stack.md +74 -0
  74. package/.tas/templates/Feature-Technical.md +329 -0
  75. package/.tas/templates/Feature.md +50 -26
  76. package/.tas/templates/Func-Test-Script.md +29 -56
  77. package/.tas/templates/Func-Test-Spec.md +144 -142
  78. package/.tas/templates/PRD.md +173 -142
  79. package/.tas/templates/TestChecklist.md +96 -0
  80. package/.tas/templates/torus-dotnet-bootstrap.md +223 -0
  81. package/.tas/tools/tas-ado-readme.md +24 -27
  82. package/.tas/tools/tas-ado.py +328 -25
  83. package/.tas/tools/tas-github.py +339 -0
  84. package/README.md +131 -54
  85. package/bin/cli.js +90 -90
  86. package/lib/adapters/antigravity.js +131 -131
  87. package/lib/adapters/claude-code.js +71 -35
  88. package/lib/adapters/codex.js +157 -157
  89. package/lib/adapters/cursor.js +80 -80
  90. package/lib/adapters/index.js +20 -20
  91. package/lib/adapters/utils.js +81 -81
  92. package/lib/deleted-files.json +7 -0
  93. package/lib/install.js +546 -546
  94. package/package.json +1 -1
  95. package/.tas/commands/tas-epic.md +0 -35
  96. package/.tas/commands/tas-story.md +0 -91
  97. package/.tas/rules/common/story-done.md +0 -30
  98. package/.tas/templates/Epic.md +0 -46
  99. package/.tas/templates/Story.md +0 -90
@@ -1,142 +1,173 @@
1
- # Product Requirements Document (PRD)
2
-
3
- > **Document Status:** [Draft | In Review | Approved | Archived]
4
- > **Last Updated:** [Date]
5
- > **Product Manager:** [Name]
6
- > **Contributors:** [Names/Roles]
7
-
8
- ---
9
-
10
- ## Executive Summary
11
-
12
- **Product Name:** [Product/Feature Name]
13
-
14
- **Problem Statement:**
15
- [In 2-3 sentences, describe the core problem you're solving.]
16
-
17
- **Proposed Solution:**
18
- [In 2-3 sentences, describe your solution approach.]
19
-
20
- **Success Metrics:**
21
- - [Key metric 1 with target]
22
- - [Key metric 2 with target]
23
-
24
- **Launch Target:** [Quarter/Date]
25
-
26
- ---
27
-
28
- ## Background & Context
29
-
30
- ### Why Now?
31
- [Market timing, competitive landscape, internal factors]
32
-
33
- ### User Research & Insights
34
- - **Research Methods:** [Interviews, surveys, usage data]
35
- - **Key Findings:**
36
- - [Finding 1]
37
- - [Finding 2]
38
-
39
- ### Market Analysis
40
- - **Competitive Landscape:** [Key competitors]
41
- - **Differentiation:** [What makes our approach unique]
42
-
43
- ---
44
-
45
- ## Goals & Success Criteria
46
-
47
- ### Business Goals
48
- 1. [Primary business objective]
49
- 2. [Secondary business objective]
50
-
51
- ### User Goals
52
- 1. [What users should accomplish]
53
- 2. [What friction we're removing]
54
-
55
- ### Non-Goals (Out of Scope)
56
- - [Explicitly what this will NOT do]
57
-
58
- ---
59
-
60
- ## User Personas & Use Cases
61
-
62
- ### Primary Persona: [Name]
63
- - **Role:** [Job title]
64
- - **Goals:** [What they're trying to achieve]
65
- - **Pain Points:** [Current frustrations]
66
-
67
- ### Key Use Cases
68
-
69
- #### Use Case 1: [Title]
70
- **Actor:** [Which persona]
71
- **Flow:**
72
- 1. User [action]
73
- 2. System [response]
74
- **Expected Outcome:** [Success looks like]
75
-
76
- ---
77
-
78
- ## Product Requirements
79
-
80
- ### Functional Requirements
81
-
82
- #### Must Have (P0)
83
- - **FR-001:** [Description]
84
- - User Story: As a [persona], I want to [action] so that [benefit]
85
- - Acceptance Criteria: [testable criteria]
86
-
87
- #### Should Have (P1)
88
- - **FR-010:** [Description]
89
-
90
- #### Could Have (P2)
91
- - **FR-020:** [Description]
92
-
93
- ### Non-Functional Requirements
94
- - **NFR-001:** Performance - [requirement]
95
- - **NFR-002:** Security - [requirement]
96
- - **NFR-003:** Scalability - [requirement]
97
-
98
- ---
99
-
100
- ## Technical Specifications
101
- [High-level architecture overview - link to SAD]
102
-
103
- ---
104
-
105
- ## Go-to-Market Strategy
106
-
107
- ### Launch Plan
108
- - **Beta Testing:** [Timeline, criteria]
109
- - **Launch Date:** [Target date]
110
-
111
- ### Marketing & Positioning
112
- - **Value Proposition:** [One sentence]
113
-
114
- ---
115
-
116
- ## Dependencies & Risks
117
-
118
- ### Risks & Mitigation
119
- | Risk | Impact | Probability | Mitigation |
120
- |------|--------|-------------|------------|
121
- | [Risk 1] | High | Medium | [Mitigation] |
122
-
123
- ### Open Questions
124
- - [Question 1]
125
- - [Question 2]
126
-
127
- ---
128
-
129
- ## Timeline & Milestones
130
- | Phase | Timeline | Deliverables | Owner |
131
- |-------|----------|-------------|-------|
132
- | Discovery | [Dates] | PRD, Design | PE |
133
- | Development | [Dates] | Features | SE |
134
- | QA & Testing | [Dates] | Test reports | PE |
135
- | Launch | [Dates] | Production | DSE |
136
-
137
- ---
138
-
139
- ## Changelog
140
- | Date | Version | Changes | Author |
141
- |------|---------|---------|--------|
142
- | [Date] | 1.0 | Initial draft | [Name] |
1
+ # Product Requirements Document (PRD)
2
+
3
+ > **Document Status:** [Draft | In Review | Approved | Archived]
4
+ > **Last Updated:** [Date]
5
+ > **Product Manager:** [Name]
6
+ > **Contributors:** [Names/Roles]
7
+
8
+ ---
9
+
10
+ ## Executive Summary
11
+
12
+ **Product Name:** [Product/Feature Name]
13
+
14
+ **Problem Statement:**
15
+ [In 2-3 sentences, describe the core problem you're solving.]
16
+
17
+ **Proposed Solution:**
18
+ [In 2-3 sentences, describe your solution approach.]
19
+
20
+ **Success Metrics:**
21
+ - [Key metric 1 with target]
22
+ - [Key metric 2 with target]
23
+
24
+ **Launch Target:** [Quarter/Date]
25
+
26
+ ---
27
+
28
+ ## Business Context
29
+
30
+ <!--
31
+ COMMAND INSTRUCTION (tas-prd fills this section):
32
+ - docs/brd.md EXISTS → use "With BRD" format below
33
+ - docs/brd.md MISSING → use "Standalone" format below
34
+ Remove this comment block and the unused format when filling.
35
+ -->
36
+
37
+ <!-- WITH BRD: collapse to summary + link -->
38
+ > **BRD:** [Business Requirements Document](brd.md)
39
+
40
+ **Problem:** [1-2 sentence summary from BRD Problem Statement section]
41
+
42
+ **Business Goals:**
43
+ - [Goal 1 — copy from BRD Business Objectives]
44
+ - [Goal 2]
45
+
46
+ ### Non-Goals (Out of Scope)
47
+ - [Explicitly what this PRD will NOT do]
48
+
49
+ <!-- STANDALONE: fill all sub-sections when no BRD exists -->
50
+ ### Why Now?
51
+ [Market timing, competitive landscape, internal factors]
52
+
53
+ ### User Research & Insights
54
+ - **Research Methods:** [Interviews, surveys, usage data]
55
+ - **Key Findings:**
56
+ - [Finding 1]
57
+ - [Finding 2]
58
+
59
+ ### Market Analysis
60
+ - **Competitive Landscape:** [Key competitors]
61
+ - **Differentiation:** [What makes our approach unique]
62
+
63
+ ### Business Goals
64
+ 1. [Primary business objective]
65
+ 2. [Secondary business objective]
66
+
67
+ ### User Goals
68
+ 1. [What users should accomplish]
69
+ 2. [What friction we're removing]
70
+
71
+ ### Non-Goals (Out of Scope)
72
+ - [Explicitly what this will NOT do]
73
+
74
+ ---
75
+
76
+ ## Product Specification
77
+
78
+ > **Note:** Acceptance Criteria (AC) in this section drive test planning. Each AC generates test IDs (`{PROJECT}_F{FEATURE}_AC{N}_SMOKE_NNN`) and automated tests. Clarity here = fewer bugs in code.
79
+
80
+ ### User Personas & Use Cases
81
+
82
+ #### Primary Persona: [Name]
83
+ - **Role:** [Job title]
84
+ - **Goals:** [What they're trying to achieve]
85
+ - **Pain Points:** [Current frustrations]
86
+
87
+ #### Key Use Cases
88
+
89
+ ##### Use Case 1: [Title]
90
+ **Actor:** [Which persona]
91
+ **Flow:**
92
+ 1. User [action]
93
+ 2. System [response]
94
+ **Expected Outcome:** [Success looks like]
95
+
96
+ ---
97
+
98
+ ### Functional Requirements
99
+
100
+ #### Must Have (P0)
101
+ - **FR-001:** [Description]
102
+ - User Story: As a [persona], I want to [action] so that [benefit]
103
+ - **Acceptance Criteria:**
104
+ - **AC-1:** Given [context], when [action], then [outcome]
105
+ - **AC-2:** Given [context], when [action], then [outcome]
106
+
107
+ #### Should Have (P1)
108
+ - **FR-010:** [Description]
109
+
110
+ #### Could Have (P2)
111
+ - **FR-020:** [Description]
112
+
113
+ ---
114
+
115
+ ### Non-Functional Requirements
116
+ - **NFR-001:** Performance - [requirement]
117
+ - **NFR-002:** Security - [requirement]
118
+ - **NFR-003:** Scalability - [requirement]
119
+
120
+ ---
121
+
122
+ ### Technical Specifications
123
+ [High-level architecture overview - link to SAD]
124
+
125
+ ---
126
+
127
+ ### Go-to-Market Strategy
128
+
129
+ #### Launch Plan
130
+ - **Beta Testing:** [Timeline, criteria]
131
+ - **Launch Date:** [Target date]
132
+
133
+ #### Marketing & Positioning
134
+ - **Value Proposition:** [One sentence]
135
+
136
+ ---
137
+
138
+ ### Dependencies & Risks
139
+
140
+ #### Risks & Mitigation
141
+ | Risk | Impact | Probability | Mitigation |
142
+ |------|--------|-------------|------------|
143
+ | [Risk 1] | High | Medium | [Mitigation] |
144
+
145
+ #### Open Questions
146
+ - [Question 1]
147
+ - [Question 2]
148
+
149
+ ---
150
+
151
+ ### Timeline & Milestones
152
+ | Phase | Timeline | Deliverables | Owner |
153
+ |-------|----------|-------------|-------|
154
+ | Discovery | [Dates] | PRD, Design | PE |
155
+ | Development | [Dates] | Features | SE |
156
+ | QA & Testing | [Dates] | Test reports | PE |
157
+ | Launch | [Dates] | Production | DSE |
158
+
159
+ ---
160
+
161
+ ## Changelog
162
+ | Date | Version | Changes | Author |
163
+ |------|---------|---------|--------|
164
+ | [Date] | 1.0 | Initial draft | [Name] |
165
+
166
+ ---
167
+
168
+ ## AI Usage Log
169
+
170
+ | # | Date | Command | Input (est.) | Output (est.) |
171
+ |---|------|---------|-------------|---------------|
172
+ | 1 | [Date] | /tas-prd | ~{N}k | ~{N}k |
173
+ | **Total** | | | **~{N}k** | **~{N}k** |
@@ -0,0 +1,96 @@
1
+ # {PROJECT} - Test Checklist
2
+
3
+ **Feature:** {Feature Name}
4
+ **Feature Code:** {CODE}-Feature-{NNN}
5
+ **Created Date:** {YYYY-MM-DD}
6
+ **Tester:** {Tester Name}
7
+ **Reviewer:** {Reviewer Name}
8
+ **Status:** [ ] Draft [ ] In Review [ ] Approved
9
+
10
+ ---
11
+
12
+ ## 1. Feature Overview
13
+
14
+ **Feature Description:**
15
+ _{Brief description of the feature being tested}_
16
+
17
+ **Business Objective:**
18
+ _{What business value this feature delivers}_
19
+
20
+ **Scope:**
21
+ _{In scope: what will be tested}_
22
+ _{Out of scope: what will NOT be tested}_
23
+
24
+ ---
25
+
26
+ ## 2. Checklist Matrix
27
+
28
+ | Category | Point to Check | Priority | Requirement ID | Test Case ID | Notes |
29
+ |----------|----------------|----------|----------------|--------------|-------|
30
+ | **GUI & UX** | | | | | |
31
+ | | | | | | |
32
+ | | | | | | |
33
+ | **Validation** | | | | | |
34
+ | | | | | | |
35
+ | | | | | | |
36
+ | **Business Logic** | | | | | |
37
+ | | | | | | |
38
+ | | | | | | |
39
+ | **Exception Handling** | | | | | |
40
+ | | | | | | |
41
+ | | | | | | |
42
+ | **Security** | | | | | |
43
+ | | | | | | |
44
+ | | | | | | |
45
+ | **Performance** | | | | | |
46
+ | | | | | | |
47
+ | | | | | | |
48
+ | **Integration** | | | | | |
49
+ | | | | | | |
50
+ | | | | | | |
51
+
52
+ ---
53
+
54
+ ## 3. Coverage Summary
55
+
56
+ | Category | Total Points | Covered | Coverage % |
57
+ |----------|--------------|---------|------------|
58
+ | GUI & UX | | | |
59
+ | Validation | | | |
60
+ | Business Logic | | | |
61
+ | Exception Handling | | | |
62
+ | Security | | | |
63
+ | Performance | | | |
64
+ | Integration | | | |
65
+ | **TOTAL** | | | |
66
+
67
+ **Target Coverage:** ≥90%
68
+
69
+ ---
70
+
71
+ ## 4. Risk Assessment
72
+
73
+ | Risk | Impact | Mitigation |
74
+ |------|--------|------------|
75
+ | | | |
76
+ | | | |
77
+
78
+ ---
79
+
80
+ ## 5. Review & Approval
81
+
82
+ | Role | Name | Date | Status |
83
+ |------|------|------|--------|
84
+ | Author | | | [ ] Done |
85
+ | Reviewer | | | [ ] Approved [ ] Reject |
86
+ | | | | |
87
+
88
+ **Review Comments:**
89
+
90
+ ---
91
+
92
+ ## 6. Change Log
93
+
94
+ | Date | Version | Changed By | Changes |
95
+ |------|---------|------------|---------|
96
+ | | 1.0 | | Initial |
@@ -0,0 +1,223 @@
1
+ # Torus Bootstrap
2
+
3
+ CLI tool to bootstrap ASP.NET Core applications with Onion Architecture using the Torus Backend Framework.
4
+
5
+ > **Rule:** see [`.tas/rules/csharp/torus-core-framework.md`](../rules/csharp/torus-core-framework.md) for the guardrails `/tas-plan` and `/tas-dev` apply when scaffolding.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ dotnet tool install --global Torus.Bootstrap
11
+ ```
12
+
13
+ Or build from source:
14
+
15
+ ```bash
16
+ cd Torus.Bootstrap
17
+ dotnet pack
18
+ dotnet tool install --global --add-source ./bin/Debug Torus.Bootstrap
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ### Interactive Mode (Default)
24
+
25
+ ```bash
26
+ torus-bootstrap create --name Torus.Org
27
+ ```
28
+
29
+ This will prompt you for:
30
+ - Cache configuration (Memory/Redis/Both)
31
+ - Messaging (Kafka)
32
+ - Background Jobs (Quartz)
33
+ - Telemetry (OpenTelemetry)
34
+ - Captcha (Google/Turnstile)
35
+ - OPA Authorization
36
+ - Blob Storage (FileSystem/MinIO/S3)
37
+ - Email (MailKit/SES)
38
+ - Database type (SQL Server/PostgreSQL/MySQL/MongoDB)
39
+ - Multi-tenancy
40
+
41
+ ### Non-Interactive Mode
42
+
43
+ ```bash
44
+ torus-bootstrap create --name Torus.Org --interactive false
45
+ ```
46
+
47
+ Uses default configuration:
48
+ - Memory Cache
49
+ - OpenTelemetry
50
+ - SQL Server
51
+
52
+ ### Command-Line Options
53
+
54
+ You can specify configuration options via command-line flags:
55
+
56
+ ```bash
57
+ torus-bootstrap create --name Torus.Org \
58
+ --cache redis \
59
+ --distributed-lock \
60
+ --messaging \
61
+ --kafka \
62
+ --background-jobs \
63
+ --quartz \
64
+ --telemetry \
65
+ --otel \
66
+ --captcha google \
67
+ --opa \
68
+ --blob-storage s3 \
69
+ --email ses \
70
+ --database postgresql \
71
+ --multi-tenancy
72
+ ```
73
+
74
+ #### Available Options
75
+
76
+ **Cache:**
77
+ - `--cache <none|memory|redis|both>` - Cache type (default: memory)
78
+ - `--distributed-lock` - Enable distributed locks (requires Redis)
79
+
80
+ **Messaging:**
81
+ - `--messaging` - Enable messaging
82
+ - `--kafka` - Use Kafka (requires --messaging)
83
+
84
+ **Background Jobs:**
85
+ - `--background-jobs` - Enable background jobs
86
+ - `--quartz` - Use Quartz.NET (requires --background-jobs)
87
+
88
+ **Telemetry:**
89
+ - `--telemetry` - Enable telemetry
90
+ - `--otel` - Use OpenTelemetry (requires --telemetry)
91
+
92
+ **Captcha:**
93
+ - `--captcha <none|google|turnstile|both>` - Captcha type
94
+
95
+ **Authorization:**
96
+ - `--opa` - Use OPA (Open Policy Agent) for policy-based authorization
97
+
98
+ **Blob Storage:**
99
+ - `--blob-storage <none|filesystem|minio|s3|both>` - Blob storage type
100
+
101
+ **Email:**
102
+ - `--email <none|mailkit|ses|both>` - Email type
103
+
104
+ **Database:**
105
+ - `--database <sqlserver|postgresql|mysql|mongodb>` - Database type (default: sqlserver)
106
+
107
+ **Multi-Tenancy:**
108
+ - `--multi-tenancy` - Enable multi-tenancy
109
+
110
+ #### Combining Interactive and Command-Line Options
111
+
112
+ Command-line options override interactive prompts:
113
+
114
+ ```bash
115
+ torus-bootstrap create --name Torus.Org --cache redis --database postgresql
116
+ ```
117
+
118
+ This will use interactive mode but skip prompts for cache and database, using the provided values instead.
119
+
120
+ ### Output Directory
121
+
122
+ ```bash
123
+ torus-bootstrap create --name Torus.Org --output ./MyProjects
124
+ ```
125
+
126
+ ## Generated Project Structure
127
+
128
+ ```
129
+ Torus.Org/
130
+ ├── Torus.Org.Domain.Shared/ # Shared domain types
131
+ ├── Torus.Org.Domain/ # Domain layer
132
+ ├── Torus.Org.Application.Contracts/ # Application contracts
133
+ ├── Torus.Org.Application/ # Application layer
134
+ ├── Torus.Org.Persistence.EfCore/ # Data access layer
135
+ ├── Torus.Org.Infrastructure/ # Infrastructure layer
136
+ ├── Torus.Org.WebApi/ # Web API layer
137
+ └── Torus.Org.sln # Solution file
138
+ ```
139
+
140
+ ## Next Steps
141
+
142
+ After generating the project:
143
+
144
+ 1. Navigate to the project directory:
145
+ ```bash
146
+ cd Torus.Org
147
+ ```
148
+
149
+ 2. Restore packages:
150
+ ```bash
151
+ dotnet restore
152
+ ```
153
+
154
+ 3. Update `appsettings.json` with your configuration
155
+
156
+ 4. Add database provider package to `Persistence.EfCore` project:
157
+ - SQL Server: `Microsoft.EntityFrameworkCore.SqlServer`
158
+ - PostgreSQL: `Npgsql.EntityFrameworkCore.PostgreSQL`
159
+ - MySQL: `Pomelo.EntityFrameworkCore.MySql`
160
+
161
+ 5. Create initial migration:
162
+ ```bash
163
+ dotnet ef migrations add InitialCreate --project Torus.Org.Persistence.EfCore
164
+ ```
165
+
166
+ 6. Build and run:
167
+ ```bash
168
+ dotnet build
169
+ dotnet run --project Torus.Org.WebApi
170
+ ```
171
+
172
+ ## Features
173
+
174
+ The tool generates:
175
+
176
+ - Onion Architecture project structure
177
+ - DbContext and UnitOfWork setup
178
+ - Program.cs with configured services
179
+ - appsettings.json with configuration templates
180
+ - Solution file with all projects
181
+ - README.md with setup instructions
182
+
183
+ ## Configuration Options
184
+
185
+ ### Cache
186
+ - **Memory**: In-memory caching
187
+ - **Redis**: Distributed Redis cache
188
+ - **Both**: Memory + Redis with invalidation
189
+
190
+ ### Messaging
191
+ - **Kafka**: Kafka message broker integration
192
+
193
+ ### Background Jobs
194
+ - **Quartz.NET**: Scheduled and recurring jobs
195
+
196
+ ### Telemetry
197
+ - **OpenTelemetry**: Distributed tracing and metrics
198
+
199
+ ### Captcha
200
+ - **Google reCAPTCHA**: Bot detection
201
+ - **Cloudflare Turnstile**: Privacy-focused captcha
202
+
203
+ ### Authorization
204
+ - **OPA**: Open Policy Agent integration
205
+
206
+ ### Blob Storage
207
+ - **FileSystem**: Local file storage
208
+ - **MinIO**: S3-compatible object storage
209
+ - **AWS S3**: Amazon S3 storage
210
+
211
+ ### Email
212
+ - **MailKit**: SMTP email sending
213
+ - **AWS SES**: Amazon Simple Email Service
214
+
215
+ ### Database
216
+ - **SQL Server**: Microsoft SQL Server
217
+ - **PostgreSQL**: PostgreSQL database
218
+ - **MySQL**: MySQL database
219
+ - **MongoDB**: MongoDB (NoSQL)
220
+
221
+ ## License
222
+
223
+ Part of the Torus Backend Framework.