@jttc/projen-project-types 1.0.0-beta.0 → 1.0.0-beta.10

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 (113) hide show
  1. package/.cz-config.js +83 -43
  2. package/.czrc +1 -1
  3. package/.jsii +4637 -14
  4. package/AGENTS.md +132 -0
  5. package/API.md +31146 -7
  6. package/README.md +197 -29
  7. package/docs/components/cdk8s.md +724 -0
  8. package/docs/components/commitzent.md +261 -0
  9. package/docs/components/k3d.md +456 -0
  10. package/docs/default-configurations.md +267 -0
  11. package/docs/index.md +86 -1
  12. package/docs/project-types/cdk-app.md +481 -0
  13. package/docs/project-types/cdk-library.md +321 -0
  14. package/docs/project-types/cdk8s-app.md +353 -0
  15. package/docs/project-types/cdk8s-library.md +442 -0
  16. package/docs/project-types/nx-monorepo.md +382 -0
  17. package/lib/cdk/cdk-app-project.d.ts +12 -0
  18. package/lib/cdk/cdk-app-project.js +28 -0
  19. package/lib/cdk/cdk-library-project.d.ts +12 -0
  20. package/lib/cdk/cdk-library-project.js +28 -0
  21. package/lib/cdk/cdk8s-app-project.d.ts +14 -0
  22. package/lib/cdk/cdk8s-app-project.js +54 -0
  23. package/lib/cdk/cdk8s-library-project.d.ts +14 -0
  24. package/lib/cdk/cdk8s-library-project.js +50 -0
  25. package/lib/cdk/index.d.ts +5 -0
  26. package/lib/cdk/index.js +22 -0
  27. package/lib/cdk/interfaces/cdk-app-options.d.ts +7 -0
  28. package/lib/cdk/interfaces/cdk-app-options.js +3 -0
  29. package/lib/cdk/interfaces/cdk-library-options.d.ts +7 -0
  30. package/lib/cdk/interfaces/cdk-library-options.js +3 -0
  31. package/lib/cdk/interfaces/cdk8s-app-options.d.ts +18 -0
  32. package/lib/cdk/interfaces/cdk8s-app-options.js +3 -0
  33. package/lib/cdk/interfaces/cdk8s-library-options.d.ts +8 -0
  34. package/lib/cdk/interfaces/cdk8s-library-options.js +3 -0
  35. package/lib/cdk/interfaces/index.d.ts +5 -0
  36. package/lib/cdk/interfaces/index.js +22 -0
  37. package/lib/cdk/interfaces/jsii-options.d.ts +7 -0
  38. package/lib/cdk/interfaces/jsii-options.js +3 -0
  39. package/lib/cdk/interfaces/project-global-options.d.ts +15 -0
  40. package/lib/cdk/interfaces/project-global-options.js +3 -0
  41. package/lib/cdk/jsii-project.d.ts +12 -0
  42. package/lib/cdk/jsii-project.js +24 -0
  43. package/lib/common/common-options.d.ts +40 -0
  44. package/lib/common/common-options.js +110 -0
  45. package/lib/components/agents/agents.d.ts +21 -0
  46. package/lib/components/agents/agents.js +476 -0
  47. package/lib/components/agents/index.d.ts +1 -0
  48. package/lib/components/agents/index.js +18 -0
  49. package/lib/components/cdk8s/cdk8s.d.ts +11 -0
  50. package/lib/components/cdk8s/cdk8s.js +124 -0
  51. package/lib/components/cdk8s/index.d.ts +2 -0
  52. package/lib/components/cdk8s/index.js +19 -0
  53. package/lib/components/cdk8s/interfaces/Cdk8s.d.ts +34 -0
  54. package/lib/components/cdk8s/interfaces/Cdk8s.js +12 -0
  55. package/lib/components/cdk8s/main-library.ts.template +35 -0
  56. package/lib/components/cdk8s/main.test.ts.template +3 -0
  57. package/lib/components/cdk8s/main.ts.template +38 -0
  58. package/lib/components/commitzent/commitzent.d.ts +8 -0
  59. package/lib/components/commitzent/commitzent.js +100 -0
  60. package/lib/components/commitzent/index.d.ts +2 -0
  61. package/lib/components/commitzent/index.js +19 -0
  62. package/lib/components/commitzent/interfaces/Icommitzent.d.ts +34 -0
  63. package/lib/components/commitzent/interfaces/Icommitzent.js +3 -0
  64. package/lib/components/index.d.ts +4 -0
  65. package/lib/components/index.js +21 -0
  66. package/lib/components/k3d/index.d.ts +3 -0
  67. package/lib/components/k3d/index.js +20 -0
  68. package/lib/components/k3d/k3d.d.ts +33 -0
  69. package/lib/components/k3d/k3d.js +109 -0
  70. package/lib/components/k3d/k3dBase.d.ts +4 -0
  71. package/lib/components/k3d/k3dBase.js +23 -0
  72. package/lib/components/k3d/types.d.ts +64 -0
  73. package/lib/components/k3d/types.js +8 -0
  74. package/lib/index.d.ts +5 -3
  75. package/lib/index.js +20 -12
  76. package/lib/monorepo/components/NxConfiguration.d.ts +17 -0
  77. package/lib/monorepo/components/NxConfiguration.js +105 -0
  78. package/lib/monorepo/components/index.d.ts +2 -0
  79. package/lib/monorepo/components/index.js +19 -0
  80. package/lib/monorepo/components/publish-release.d.ts +5 -0
  81. package/lib/monorepo/components/publish-release.js +80 -0
  82. package/lib/monorepo/index.d.ts +3 -0
  83. package/lib/monorepo/index.js +20 -0
  84. package/lib/monorepo/interfaces/Nx.d.ts +130 -0
  85. package/lib/monorepo/interfaces/Nx.js +3 -0
  86. package/lib/monorepo/interfaces/NxMonorepo.d.ts +3 -0
  87. package/lib/monorepo/interfaces/NxMonorepo.js +3 -0
  88. package/lib/monorepo/interfaces/index.d.ts +2 -0
  89. package/lib/monorepo/interfaces/index.js +19 -0
  90. package/lib/monorepo/monorepo.d.ts +16 -0
  91. package/lib/monorepo/monorepo.js +131 -0
  92. package/lib/terraform/components/index.d.ts +2 -0
  93. package/lib/terraform/components/index.js +19 -0
  94. package/lib/terraform/components/terraform-deploy-github-workflow.d.ts +26 -0
  95. package/lib/terraform/components/terraform-deploy-github-workflow.js +92 -0
  96. package/lib/terraform/components/terraform-plan-github-workflow.d.ts +31 -0
  97. package/lib/terraform/components/terraform-plan-github-workflow.js +155 -0
  98. package/lib/terraform/index.d.ts +5 -0
  99. package/lib/terraform/index.js +22 -0
  100. package/lib/terraform/providers/hetzner-provider.d.ts +105 -0
  101. package/lib/terraform/providers/hetzner-provider.js +83 -0
  102. package/lib/terraform/providers/index.d.ts +2 -0
  103. package/lib/terraform/providers/index.js +19 -0
  104. package/lib/terraform/providers/provider-strategy.d.ts +44 -0
  105. package/lib/terraform/providers/provider-strategy.js +38 -0
  106. package/lib/terraform/terraform-base-project.d.ts +38 -0
  107. package/lib/terraform/terraform-base-project.js +97 -0
  108. package/lib/terraform/terraform-module-project.d.ts +24 -0
  109. package/lib/terraform/terraform-module-project.js +77 -0
  110. package/lib/terraform/terraform-stack-project.d.ts +28 -0
  111. package/lib/terraform/terraform-stack-project.js +83 -0
  112. package/mkdocs.yml +12 -0
  113. package/package.json +14 -7
package/AGENTS.md ADDED
@@ -0,0 +1,132 @@
1
+ # Coding Agents Guide
2
+
3
+ This file contains essential information about how this repository works for coding agents like GitHub Copilot.
4
+
5
+ ## Repository Overview
6
+
7
+ This is the **projen-project-types** project, which uses [Projen](https://projen.io/) for project configuration management.
8
+
9
+ ## What is Projen?
10
+
11
+ Projen is a tool that allows managing project configuration through TypeScript code instead of static configuration files.
12
+
13
+ ### Key Features:
14
+ - **Configuration as Code**: Everything is defined in `.projenrc.ts`
15
+ - **Automatic Management**: Automatically regenerates configuration files
16
+ - **Extensible**: Allows creating reusable components
17
+ - **Consistency**: Keeps configuration synchronized
18
+
19
+ ## TypeScript Project
20
+
21
+ This is a TypeScript project managed by Projen.
22
+
23
+ ### TypeScript Features:
24
+ - **Type Safety**: Compile-time type checking
25
+ - **Modern JavaScript**: Latest ECMAScript features
26
+ - **Build Tools**: Automated compilation and bundling
27
+ - **Testing**: Comprehensive test framework integration
28
+
29
+ ## Important Commands
30
+
31
+ ```bash
32
+ # Regenerate configuration files from .projenrc.ts
33
+ npx projen
34
+
35
+ # Build the project
36
+ npx projen build
37
+
38
+ # Run tests
39
+ npx projen test
40
+
41
+ # Run tests in watch mode
42
+ npx projen test:watch
43
+
44
+ # Lint the code
45
+ npx projen eslint
46
+
47
+ # Package the project
48
+ npx projen package
49
+
50
+ # Clean generated files
51
+ npx projen clobber
52
+
53
+ # Upgrade dependencies
54
+ npx projen upgrade
55
+ ```
56
+
57
+
58
+ ## Dependency Management
59
+
60
+ ### Adding Dependencies:
61
+ ```typescript
62
+ // In the project or component constructor
63
+ project.deps.addDependency("package-name", DependencyType.BUILD);
64
+ project.deps.addDependency("package-name", DependencyType.RUNTIME);
65
+ project.deps.addDependency("package-name", DependencyType.PEER);
66
+ ```
67
+
68
+ ### Dependency Types:
69
+ - `RUNTIME`: Runtime dependencies (dependencies)
70
+ - `BUILD`: Build dependencies (devDependencies)
71
+ - `PEER`: Peer dependencies (peerDependencies)
72
+
73
+ ## Project Structure
74
+
75
+ ```
76
+ src/ # Source code
77
+ ├── index.ts # Main entry point
78
+ └── lib/ # Library code
79
+
80
+ test/ # Unit tests
81
+ lib/ # Compiled TypeScript (generated)
82
+ dist/ # Distribution files (generated)
83
+ ```
84
+
85
+
86
+ ## Common Configuration
87
+
88
+ - **CommonOptionsConfig**: Manages default configurations
89
+ - **Prettier**: Automatic code formatting
90
+ - **ESLint**: Automatic linting
91
+ - **VSCode**: Configuration and recommended extensions
92
+ - **Commitzent**: Conventional commits
93
+ - **Agents**: This documentation for coding agents
94
+
95
+ ## Important Files
96
+
97
+ - `.projenrc.ts`: Main project configuration
98
+ - `package.json`: Generated automatically by Projen
99
+ - `tsconfig.json`: TypeScript configuration
100
+ - `.gitignore`: Files ignored by Git
101
+
102
+ ## Best Practices
103
+
104
+ 1. **Never edit generated files**: Always modify the source in `.projenrc.ts`
105
+ 2. **Run `npx projen`** after configuration changes
106
+ 3. **Use components** for reusable functionality
107
+ 4. **Follow naming conventions** established in the project
108
+ 5. **Document changes** in tests and README
109
+
110
+ ## Troubleshooting
111
+
112
+ ### Error: "File is read-only"
113
+ - Files generated by Projen are read-only
114
+ - Modify the configuration in `.projenrc.ts` instead
115
+
116
+ ### Dependencies not found
117
+ - Run `npx projen` to install dependencies
118
+ - Verify dependencies are in `.projenrc.ts`
119
+
120
+ ### Tests fail
121
+ - Run `npx projen build` to compile changes
122
+ - Verify snapshots are updated
123
+
124
+ ## Useful Resources
125
+
126
+ - [Projen Documentation](https://projen.io/)
127
+ - [Projen API Reference](https://github.com/projen/projen/blob/main/API.md)
128
+
129
+ ---
130
+
131
+ > This file is automatically generated by the `Agents` component.
132
+ > To modify it, edit the component in `src/components/agents/agents.ts`.