@contractspec/example.saas-boilerplate 1.44.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 (142) hide show
  1. package/.turbo/turbo-build$colon$bundle.log +113 -0
  2. package/.turbo/turbo-build.log +114 -0
  3. package/CHANGELOG.md +246 -0
  4. package/LICENSE +21 -0
  5. package/README.md +156 -0
  6. package/dist/billing/billing.entity.d.ts +61 -0
  7. package/dist/billing/billing.entity.d.ts.map +1 -0
  8. package/dist/billing/billing.entity.js +122 -0
  9. package/dist/billing/billing.entity.js.map +1 -0
  10. package/dist/billing/billing.enum.d.ts +16 -0
  11. package/dist/billing/billing.enum.d.ts.map +1 -0
  12. package/dist/billing/billing.enum.js +27 -0
  13. package/dist/billing/billing.enum.js.map +1 -0
  14. package/dist/billing/billing.event.d.ts +86 -0
  15. package/dist/billing/billing.event.d.ts.map +1 -0
  16. package/dist/billing/billing.event.js +153 -0
  17. package/dist/billing/billing.event.js.map +1 -0
  18. package/dist/billing/billing.handler.d.ts +82 -0
  19. package/dist/billing/billing.handler.d.ts.map +1 -0
  20. package/dist/billing/billing.handler.js +58 -0
  21. package/dist/billing/billing.handler.js.map +1 -0
  22. package/dist/billing/billing.operations.d.ts +166 -0
  23. package/dist/billing/billing.operations.d.ts.map +1 -0
  24. package/dist/billing/billing.operations.js +181 -0
  25. package/dist/billing/billing.operations.js.map +1 -0
  26. package/dist/billing/billing.presentation.d.ts +15 -0
  27. package/dist/billing/billing.presentation.d.ts.map +1 -0
  28. package/dist/billing/billing.presentation.js +59 -0
  29. package/dist/billing/billing.presentation.js.map +1 -0
  30. package/dist/billing/billing.schema.d.ts +201 -0
  31. package/dist/billing/billing.schema.d.ts.map +1 -0
  32. package/dist/billing/billing.schema.js +214 -0
  33. package/dist/billing/billing.schema.js.map +1 -0
  34. package/dist/billing/index.d.ts +8 -0
  35. package/dist/billing/index.js +9 -0
  36. package/dist/dashboard/dashboard.presentation.d.ts +15 -0
  37. package/dist/dashboard/dashboard.presentation.d.ts.map +1 -0
  38. package/dist/dashboard/dashboard.presentation.js +55 -0
  39. package/dist/dashboard/dashboard.presentation.js.map +1 -0
  40. package/dist/dashboard/index.d.ts +2 -0
  41. package/dist/dashboard/index.js +3 -0
  42. package/dist/docs/index.d.ts +1 -0
  43. package/dist/docs/index.js +1 -0
  44. package/dist/docs/saas-boilerplate.docblock.d.ts +1 -0
  45. package/dist/docs/saas-boilerplate.docblock.js +100 -0
  46. package/dist/docs/saas-boilerplate.docblock.js.map +1 -0
  47. package/dist/example.d.ts +37 -0
  48. package/dist/example.d.ts.map +1 -0
  49. package/dist/example.js +46 -0
  50. package/dist/example.js.map +1 -0
  51. package/dist/handlers/index.d.ts +3 -0
  52. package/dist/handlers/index.js +4 -0
  53. package/dist/index.d.ts +42 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +69 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/presentations/index.d.ts +17 -0
  58. package/dist/presentations/index.d.ts.map +1 -0
  59. package/dist/presentations/index.js +17 -0
  60. package/dist/presentations/index.js.map +1 -0
  61. package/dist/project/index.d.ts +8 -0
  62. package/dist/project/index.js +9 -0
  63. package/dist/project/project.entity.d.ts +40 -0
  64. package/dist/project/project.entity.d.ts.map +1 -0
  65. package/dist/project/project.entity.js +85 -0
  66. package/dist/project/project.entity.js.map +1 -0
  67. package/dist/project/project.enum.d.ts +16 -0
  68. package/dist/project/project.enum.d.ts.map +1 -0
  69. package/dist/project/project.enum.js +26 -0
  70. package/dist/project/project.enum.js.map +1 -0
  71. package/dist/project/project.event.d.ts +92 -0
  72. package/dist/project/project.event.d.ts.map +1 -0
  73. package/dist/project/project.event.js +165 -0
  74. package/dist/project/project.event.js.map +1 -0
  75. package/dist/project/project.handler.d.ts +72 -0
  76. package/dist/project/project.handler.d.ts.map +1 -0
  77. package/dist/project/project.handler.js +82 -0
  78. package/dist/project/project.handler.js.map +1 -0
  79. package/dist/project/project.operations.d.ts +419 -0
  80. package/dist/project/project.operations.d.ts.map +1 -0
  81. package/dist/project/project.operations.js +260 -0
  82. package/dist/project/project.operations.js.map +1 -0
  83. package/dist/project/project.presentation.d.ts +15 -0
  84. package/dist/project/project.presentation.d.ts.map +1 -0
  85. package/dist/project/project.presentation.js +65 -0
  86. package/dist/project/project.presentation.js.map +1 -0
  87. package/dist/project/project.schema.d.ts +235 -0
  88. package/dist/project/project.schema.d.ts.map +1 -0
  89. package/dist/project/project.schema.js +215 -0
  90. package/dist/project/project.schema.js.map +1 -0
  91. package/dist/saas-boilerplate.feature.d.ts +12 -0
  92. package/dist/saas-boilerplate.feature.d.ts.map +1 -0
  93. package/dist/saas-boilerplate.feature.js +201 -0
  94. package/dist/saas-boilerplate.feature.js.map +1 -0
  95. package/dist/settings/index.d.ts +3 -0
  96. package/dist/settings/index.js +4 -0
  97. package/dist/settings/settings.entity.d.ts +37 -0
  98. package/dist/settings/settings.entity.d.ts.map +1 -0
  99. package/dist/settings/settings.entity.js +78 -0
  100. package/dist/settings/settings.entity.js.map +1 -0
  101. package/dist/settings/settings.enum.d.ts +10 -0
  102. package/dist/settings/settings.enum.d.ts.map +1 -0
  103. package/dist/settings/settings.enum.js +21 -0
  104. package/dist/settings/settings.enum.js.map +1 -0
  105. package/dist/shared/mock-data.d.ts +86 -0
  106. package/dist/shared/mock-data.d.ts.map +1 -0
  107. package/dist/shared/mock-data.js +138 -0
  108. package/dist/shared/mock-data.js.map +1 -0
  109. package/example.ts +1 -0
  110. package/package.json +113 -0
  111. package/src/billing/billing.entity.ts +158 -0
  112. package/src/billing/billing.enum.ts +23 -0
  113. package/src/billing/billing.event.ts +108 -0
  114. package/src/billing/billing.handler.ts +137 -0
  115. package/src/billing/billing.operations.ts +187 -0
  116. package/src/billing/billing.presentation.ts +57 -0
  117. package/src/billing/billing.schema.ts +133 -0
  118. package/src/billing/index.ts +64 -0
  119. package/src/dashboard/dashboard.presentation.ts +57 -0
  120. package/src/dashboard/index.ts +8 -0
  121. package/src/docs/index.ts +1 -0
  122. package/src/docs/saas-boilerplate.docblock.ts +98 -0
  123. package/src/example.ts +31 -0
  124. package/src/handlers/index.ts +20 -0
  125. package/src/index.ts +71 -0
  126. package/src/presentations/index.ts +36 -0
  127. package/src/project/index.ts +66 -0
  128. package/src/project/project.entity.ts +93 -0
  129. package/src/project/project.enum.ts +22 -0
  130. package/src/project/project.event.ts +128 -0
  131. package/src/project/project.handler.ts +168 -0
  132. package/src/project/project.operations.ts +272 -0
  133. package/src/project/project.presentation.ts +59 -0
  134. package/src/project/project.schema.ts +147 -0
  135. package/src/saas-boilerplate.feature.ts +109 -0
  136. package/src/settings/index.ts +9 -0
  137. package/src/settings/settings.entity.ts +89 -0
  138. package/src/settings/settings.enum.ts +11 -0
  139. package/src/shared/mock-data.ts +110 -0
  140. package/tsconfig.json +10 -0
  141. package/tsconfig.tsbuildinfo +1 -0
  142. package/tsdown.config.js +7 -0
@@ -0,0 +1,113 @@
1
+ $ tsdown
2
+ ℹ tsdown v0.18.3 powered by rolldown v1.0.0-beta.57
3
+ ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/saas-boilerplate/tsdown.config.js
4
+ ℹ entry: src/example.ts, src/index.ts, src/saas-boilerplate.feature.ts, src/billing/billing.entity.ts, src/billing/billing.enum.ts, src/billing/billing.event.ts, src/billing/billing.handler.ts, src/billing/billing.operations.ts, src/billing/billing.presentation.ts, src/billing/billing.schema.ts, src/billing/index.ts, src/dashboard/dashboard.presentation.ts, src/dashboard/index.ts, src/docs/index.ts, src/docs/saas-boilerplate.docblock.ts, src/handlers/index.ts, src/presentations/index.ts, src/project/index.ts, src/project/project.entity.ts, src/project/project.enum.ts, src/project/project.event.ts, src/project/project.handler.ts, src/project/project.operations.ts, src/project/project.presentation.ts, src/project/project.schema.ts, src/settings/index.ts, src/settings/settings.entity.ts, src/settings/settings.enum.ts, src/shared/mock-data.ts
5
+ ℹ target: esnext
6
+ ℹ tsconfig: tsconfig.json
7
+ ℹ Build start
8
+ ℹ Cleaning 111 files
9
+ ℹ dist/project/project.operations.js  5.80 kB │ gzip: 1.46 kB
10
+ ℹ dist/index.js  5.37 kB │ gzip: 1.17 kB
11
+ ℹ dist/billing/billing.schema.js  4.79 kB │ gzip: 0.86 kB
12
+ ℹ dist/project/project.schema.js  4.60 kB │ gzip: 0.77 kB
13
+ ℹ dist/billing/billing.operations.js  4.25 kB │ gzip: 1.27 kB
14
+ ℹ dist/docs/saas-boilerplate.docblock.js  3.77 kB │ gzip: 1.47 kB
15
+ ℹ dist/project/project.event.js  3.67 kB │ gzip: 0.66 kB
16
+ ℹ dist/billing/billing.entity.js  3.65 kB │ gzip: 1.12 kB
17
+ ℹ dist/billing/billing.event.js  3.34 kB │ gzip: 0.70 kB
18
+ ℹ dist/saas-boilerplate.feature.js  3.03 kB │ gzip: 0.68 kB
19
+ ℹ dist/shared/mock-data.js  2.89 kB │ gzip: 0.98 kB
20
+ ℹ dist/project/project.handler.js  2.61 kB │ gzip: 0.89 kB
21
+ ℹ dist/project/project.entity.js  2.37 kB │ gzip: 0.84 kB
22
+ ℹ dist/settings/settings.entity.js  2.14 kB │ gzip: 0.80 kB
23
+ ℹ dist/billing/index.js  1.68 kB │ gzip: 0.39 kB
24
+ ℹ dist/project/index.js  1.67 kB │ gzip: 0.37 kB
25
+ ℹ dist/project/project.presentation.js  1.59 kB │ gzip: 0.61 kB
26
+ ℹ dist/billing/billing.presentation.js  1.49 kB │ gzip: 0.56 kB
27
+ ℹ dist/billing/billing.handler.js  1.45 kB │ gzip: 0.58 kB
28
+ ℹ dist/dashboard/dashboard.presentation.js  1.44 kB │ gzip: 0.56 kB
29
+ ℹ dist/example.js  0.93 kB │ gzip: 0.49 kB
30
+ ℹ dist/presentations/index.js  0.86 kB │ gzip: 0.28 kB
31
+ ℹ dist/billing/billing.enum.js  0.64 kB │ gzip: 0.36 kB
32
+ ℹ dist/project/project.enum.js  0.61 kB │ gzip: 0.32 kB
33
+ ℹ dist/handlers/index.js  0.58 kB │ gzip: 0.20 kB
34
+ ℹ dist/settings/settings.enum.js  0.40 kB │ gzip: 0.27 kB
35
+ ℹ dist/settings/index.js  0.20 kB │ gzip: 0.11 kB
36
+ ℹ dist/dashboard/index.js  0.17 kB │ gzip: 0.10 kB
37
+ ℹ dist/docs/index.js  0.04 kB │ gzip: 0.06 kB
38
+ ℹ dist/project/project.operations.js.map  9.54 kB │ gzip: 1.99 kB
39
+ ℹ dist/billing/billing.schema.js.map  6.87 kB │ gzip: 1.26 kB
40
+ ℹ dist/project/project.schema.js.map  6.85 kB │ gzip: 1.13 kB
41
+ ℹ dist/billing/billing.operations.js.map  6.79 kB │ gzip: 1.75 kB
42
+ ℹ dist/billing/billing.entity.js.map  6.25 kB │ gzip: 1.77 kB
43
+ ℹ dist/project/project.handler.js.map  5.62 kB │ gzip: 1.68 kB
44
+ ℹ dist/project/project.event.js.map  5.51 kB │ gzip: 0.95 kB
45
+ ℹ dist/saas-boilerplate.feature.js.map  5.26 kB │ gzip: 1.33 kB
46
+ ℹ dist/billing/billing.event.js.map  4.91 kB │ gzip: 1.04 kB
47
+ ℹ dist/docs/saas-boilerplate.docblock.js.map  4.63 kB │ gzip: 1.68 kB
48
+ ℹ dist/shared/mock-data.js.map  4.50 kB │ gzip: 1.31 kB
49
+ ℹ dist/project/project.entity.js.map  3.94 kB │ gzip: 1.30 kB
50
+ ℹ dist/billing/billing.handler.js.map  3.76 kB │ gzip: 1.29 kB
51
+ ℹ dist/settings/settings.entity.js.map  3.62 kB │ gzip: 1.22 kB
52
+ ℹ dist/index.js.map  2.53 kB │ gzip: 0.86 kB
53
+ ℹ dist/project/project.presentation.js.map  2.50 kB │ gzip: 0.85 kB
54
+ ℹ dist/billing/billing.presentation.js.map  2.39 kB │ gzip: 0.78 kB
55
+ ℹ dist/dashboard/dashboard.presentation.js.map  2.33 kB │ gzip: 0.79 kB
56
+ ℹ dist/project/project.operations.d.ts.map  1.37 kB │ gzip: 0.39 kB
57
+ ℹ dist/example.js.map  1.35 kB │ gzip: 0.68 kB
58
+ ℹ dist/presentations/index.js.map  1.14 kB │ gzip: 0.45 kB
59
+ ℹ dist/billing/billing.schema.d.ts.map  1.07 kB │ gzip: 0.41 kB
60
+ ℹ dist/project/project.schema.d.ts.map  1.03 kB │ gzip: 0.38 kB
61
+ ℹ dist/billing/billing.operations.d.ts.map  0.90 kB │ gzip: 0.35 kB
62
+ ℹ dist/project/project.handler.d.ts.map  0.83 kB │ gzip: 0.36 kB
63
+ ℹ dist/billing/billing.enum.js.map  0.81 kB │ gzip: 0.44 kB
64
+ ℹ dist/project/project.enum.js.map  0.77 kB │ gzip: 0.39 kB
65
+ ℹ dist/project/project.event.d.ts.map  0.75 kB │ gzip: 0.29 kB
66
+ ℹ dist/billing/billing.handler.d.ts.map  0.66 kB │ gzip: 0.32 kB
67
+ ℹ dist/billing/billing.event.d.ts.map  0.59 kB │ gzip: 0.27 kB
68
+ ℹ dist/settings/settings.enum.js.map  0.54 kB │ gzip: 0.35 kB
69
+ ℹ dist/billing/billing.entity.d.ts.map  0.44 kB │ gzip: 0.25 kB
70
+ ℹ dist/project/project.entity.d.ts.map  0.34 kB │ gzip: 0.23 kB
71
+ ℹ dist/settings/settings.entity.d.ts.map  0.29 kB │ gzip: 0.20 kB
72
+ ℹ dist/billing/billing.enum.d.ts.map  0.28 kB │ gzip: 0.18 kB
73
+ ℹ dist/project/project.enum.d.ts.map  0.26 kB │ gzip: 0.18 kB
74
+ ℹ dist/shared/mock-data.d.ts.map  0.26 kB │ gzip: 0.17 kB
75
+ ℹ dist/dashboard/dashboard.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
76
+ ℹ dist/billing/billing.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
77
+ ℹ dist/project/project.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
78
+ ℹ dist/settings/settings.enum.d.ts.map  0.18 kB │ gzip: 0.15 kB
79
+ ℹ dist/index.d.ts.map  0.17 kB │ gzip: 0.13 kB
80
+ ℹ dist/saas-boilerplate.feature.d.ts.map  0.17 kB │ gzip: 0.13 kB
81
+ ℹ dist/example.d.ts.map  0.14 kB │ gzip: 0.13 kB
82
+ ℹ dist/presentations/index.d.ts.map  0.14 kB │ gzip: 0.13 kB
83
+ ℹ dist/project/project.operations.d.ts 11.81 kB │ gzip: 0.87 kB
84
+ ℹ dist/project/project.schema.d.ts  6.56 kB │ gzip: 0.76 kB
85
+ ℹ dist/billing/billing.schema.d.ts  5.72 kB │ gzip: 0.79 kB
86
+ ℹ dist/index.d.ts  5.02 kB │ gzip: 1.06 kB
87
+ ℹ dist/billing/billing.operations.d.ts  4.93 kB │ gzip: 0.77 kB
88
+ ℹ dist/billing/billing.entity.d.ts  2.91 kB │ gzip: 0.52 kB
89
+ ℹ dist/project/project.event.d.ts  2.77 kB │ gzip: 0.43 kB
90
+ ℹ dist/billing/billing.event.d.ts  2.58 kB │ gzip: 0.48 kB
91
+ ℹ dist/billing/billing.handler.d.ts  2.12 kB │ gzip: 0.71 kB
92
+ ℹ dist/project/project.handler.d.ts  1.93 kB │ gzip: 0.53 kB
93
+ ℹ dist/billing/index.d.ts  1.90 kB │ gzip: 0.42 kB
94
+ ℹ dist/project/index.d.ts  1.87 kB │ gzip: 0.40 kB
95
+ ℹ dist/project/project.entity.d.ts  1.79 kB │ gzip: 0.42 kB
96
+ ℹ dist/settings/settings.entity.d.ts  1.71 kB │ gzip: 0.37 kB
97
+ ℹ dist/shared/mock-data.d.ts  1.68 kB │ gzip: 0.50 kB
98
+ ℹ dist/example.d.ts  1.18 kB │ gzip: 0.48 kB
99
+ ℹ dist/presentations/index.d.ts  0.90 kB │ gzip: 0.28 kB
100
+ ℹ dist/project/project.enum.d.ts  0.63 kB │ gzip: 0.30 kB
101
+ ℹ dist/billing/billing.enum.d.ts  0.63 kB │ gzip: 0.30 kB
102
+ ℹ dist/handlers/index.d.ts  0.58 kB │ gzip: 0.20 kB
103
+ ℹ dist/dashboard/dashboard.presentation.d.ts  0.47 kB │ gzip: 0.23 kB
104
+ ℹ dist/project/project.presentation.d.ts  0.46 kB │ gzip: 0.22 kB
105
+ ℹ dist/billing/billing.presentation.d.ts  0.46 kB │ gzip: 0.22 kB
106
+ ℹ dist/saas-boilerplate.feature.d.ts  0.41 kB │ gzip: 0.25 kB
107
+ ℹ dist/settings/settings.enum.d.ts  0.31 kB │ gzip: 0.20 kB
108
+ ℹ dist/settings/index.d.ts  0.19 kB │ gzip: 0.11 kB
109
+ ℹ dist/dashboard/index.d.ts  0.16 kB │ gzip: 0.10 kB
110
+ ℹ dist/docs/index.d.ts  0.01 kB │ gzip: 0.03 kB
111
+ ℹ dist/docs/saas-boilerplate.docblock.d.ts  0.01 kB │ gzip: 0.03 kB
112
+ ℹ 103 files, total: 230.63 kB
113
+ ✔ Build complete in 20454ms
@@ -0,0 +1,114 @@
1
+ $ bun build:types && bun build:bundle
2
+ $ tsc --noEmit
3
+ $ tsdown
4
+ ℹ tsdown v0.18.3 powered by rolldown v1.0.0-beta.57
5
+ ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/saas-boilerplate/tsdown.config.js
6
+ ℹ entry: src/example.ts, src/index.ts, src/saas-boilerplate.feature.ts, src/billing/billing.entity.ts, src/billing/billing.enum.ts, src/billing/billing.event.ts, src/billing/billing.handler.ts, src/billing/billing.operations.ts, src/billing/billing.presentation.ts, src/billing/billing.schema.ts, src/billing/index.ts, src/dashboard/dashboard.presentation.ts, src/dashboard/index.ts, src/docs/index.ts, src/docs/saas-boilerplate.docblock.ts, src/handlers/index.ts, src/presentations/index.ts, src/project/index.ts, src/project/project.entity.ts, src/project/project.enum.ts, src/project/project.event.ts, src/project/project.handler.ts, src/project/project.operations.ts, src/project/project.presentation.ts, src/project/project.schema.ts, src/settings/index.ts, src/settings/settings.entity.ts, src/settings/settings.enum.ts, src/shared/mock-data.ts
7
+ ℹ target: esnext
8
+ ℹ tsconfig: tsconfig.json
9
+ ℹ Build start
10
+ ℹ dist/project/project.operations.js  5.80 kB │ gzip: 1.46 kB
11
+ ℹ dist/index.js  5.37 kB │ gzip: 1.17 kB
12
+ ℹ dist/billing/billing.schema.js  4.79 kB │ gzip: 0.86 kB
13
+ ℹ dist/project/project.schema.js  4.60 kB │ gzip: 0.77 kB
14
+ ℹ dist/billing/billing.operations.js  4.25 kB │ gzip: 1.27 kB
15
+ ℹ dist/docs/saas-boilerplate.docblock.js  3.77 kB │ gzip: 1.47 kB
16
+ ℹ dist/project/project.event.js  3.67 kB │ gzip: 0.66 kB
17
+ ℹ dist/billing/billing.entity.js  3.65 kB │ gzip: 1.12 kB
18
+ ℹ dist/billing/billing.event.js  3.34 kB │ gzip: 0.70 kB
19
+ ℹ dist/saas-boilerplate.feature.js  3.03 kB │ gzip: 0.68 kB
20
+ ℹ dist/shared/mock-data.js  2.89 kB │ gzip: 0.98 kB
21
+ ℹ dist/project/project.handler.js  2.61 kB │ gzip: 0.89 kB
22
+ ℹ dist/project/project.entity.js  2.37 kB │ gzip: 0.84 kB
23
+ ℹ dist/settings/settings.entity.js  2.14 kB │ gzip: 0.80 kB
24
+ ℹ dist/billing/index.js  1.68 kB │ gzip: 0.39 kB
25
+ ℹ dist/project/index.js  1.67 kB │ gzip: 0.37 kB
26
+ ℹ dist/project/project.presentation.js  1.59 kB │ gzip: 0.61 kB
27
+ ℹ dist/billing/billing.presentation.js  1.49 kB │ gzip: 0.56 kB
28
+ ℹ dist/billing/billing.handler.js  1.45 kB │ gzip: 0.58 kB
29
+ ℹ dist/dashboard/dashboard.presentation.js  1.44 kB │ gzip: 0.56 kB
30
+ ℹ dist/example.js  0.93 kB │ gzip: 0.49 kB
31
+ ℹ dist/presentations/index.js  0.86 kB │ gzip: 0.28 kB
32
+ ℹ dist/billing/billing.enum.js  0.64 kB │ gzip: 0.36 kB
33
+ ℹ dist/project/project.enum.js  0.61 kB │ gzip: 0.32 kB
34
+ ℹ dist/handlers/index.js  0.58 kB │ gzip: 0.20 kB
35
+ ℹ dist/settings/settings.enum.js  0.40 kB │ gzip: 0.27 kB
36
+ ℹ dist/settings/index.js  0.20 kB │ gzip: 0.11 kB
37
+ ℹ dist/dashboard/index.js  0.17 kB │ gzip: 0.10 kB
38
+ ℹ dist/docs/index.js  0.04 kB │ gzip: 0.06 kB
39
+ ℹ dist/project/project.operations.js.map  9.54 kB │ gzip: 1.99 kB
40
+ ℹ dist/billing/billing.schema.js.map  6.87 kB │ gzip: 1.26 kB
41
+ ℹ dist/project/project.schema.js.map  6.85 kB │ gzip: 1.13 kB
42
+ ℹ dist/billing/billing.operations.js.map  6.79 kB │ gzip: 1.75 kB
43
+ ℹ dist/billing/billing.entity.js.map  6.25 kB │ gzip: 1.77 kB
44
+ ℹ dist/project/project.handler.js.map  5.62 kB │ gzip: 1.68 kB
45
+ ℹ dist/project/project.event.js.map  5.51 kB │ gzip: 0.95 kB
46
+ ℹ dist/saas-boilerplate.feature.js.map  5.26 kB │ gzip: 1.33 kB
47
+ ℹ dist/billing/billing.event.js.map  4.91 kB │ gzip: 1.04 kB
48
+ ℹ dist/docs/saas-boilerplate.docblock.js.map  4.63 kB │ gzip: 1.68 kB
49
+ ℹ dist/shared/mock-data.js.map  4.50 kB │ gzip: 1.31 kB
50
+ ℹ dist/project/project.entity.js.map  3.94 kB │ gzip: 1.30 kB
51
+ ℹ dist/billing/billing.handler.js.map  3.76 kB │ gzip: 1.29 kB
52
+ ℹ dist/settings/settings.entity.js.map  3.62 kB │ gzip: 1.22 kB
53
+ ℹ dist/index.js.map  2.53 kB │ gzip: 0.86 kB
54
+ ℹ dist/project/project.presentation.js.map  2.50 kB │ gzip: 0.85 kB
55
+ ℹ dist/billing/billing.presentation.js.map  2.39 kB │ gzip: 0.78 kB
56
+ ℹ dist/dashboard/dashboard.presentation.js.map  2.33 kB │ gzip: 0.79 kB
57
+ ℹ dist/project/project.operations.d.ts.map  1.37 kB │ gzip: 0.39 kB
58
+ ℹ dist/example.js.map  1.35 kB │ gzip: 0.68 kB
59
+ ℹ dist/presentations/index.js.map  1.14 kB │ gzip: 0.45 kB
60
+ ℹ dist/billing/billing.schema.d.ts.map  1.07 kB │ gzip: 0.41 kB
61
+ ℹ dist/project/project.schema.d.ts.map  1.03 kB │ gzip: 0.38 kB
62
+ ℹ dist/billing/billing.operations.d.ts.map  0.90 kB │ gzip: 0.35 kB
63
+ ℹ dist/project/project.handler.d.ts.map  0.83 kB │ gzip: 0.36 kB
64
+ ℹ dist/billing/billing.enum.js.map  0.81 kB │ gzip: 0.44 kB
65
+ ℹ dist/project/project.enum.js.map  0.77 kB │ gzip: 0.39 kB
66
+ ℹ dist/project/project.event.d.ts.map  0.75 kB │ gzip: 0.29 kB
67
+ ℹ dist/billing/billing.handler.d.ts.map  0.66 kB │ gzip: 0.32 kB
68
+ ℹ dist/billing/billing.event.d.ts.map  0.59 kB │ gzip: 0.27 kB
69
+ ℹ dist/settings/settings.enum.js.map  0.54 kB │ gzip: 0.35 kB
70
+ ℹ dist/billing/billing.entity.d.ts.map  0.44 kB │ gzip: 0.26 kB
71
+ ℹ dist/project/project.entity.d.ts.map  0.34 kB │ gzip: 0.23 kB
72
+ ℹ dist/settings/settings.entity.d.ts.map  0.29 kB │ gzip: 0.20 kB
73
+ ℹ dist/billing/billing.enum.d.ts.map  0.28 kB │ gzip: 0.18 kB
74
+ ℹ dist/project/project.enum.d.ts.map  0.26 kB │ gzip: 0.18 kB
75
+ ℹ dist/shared/mock-data.d.ts.map  0.26 kB │ gzip: 0.17 kB
76
+ ℹ dist/dashboard/dashboard.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
77
+ ℹ dist/billing/billing.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
78
+ ℹ dist/project/project.presentation.d.ts.map  0.21 kB │ gzip: 0.17 kB
79
+ ℹ dist/settings/settings.enum.d.ts.map  0.18 kB │ gzip: 0.15 kB
80
+ ℹ dist/index.d.ts.map  0.17 kB │ gzip: 0.13 kB
81
+ ℹ dist/saas-boilerplate.feature.d.ts.map  0.17 kB │ gzip: 0.13 kB
82
+ ℹ dist/example.d.ts.map  0.14 kB │ gzip: 0.13 kB
83
+ ℹ dist/presentations/index.d.ts.map  0.14 kB │ gzip: 0.13 kB
84
+ ℹ dist/project/project.operations.d.ts 11.81 kB │ gzip: 0.87 kB
85
+ ℹ dist/project/project.schema.d.ts  6.56 kB │ gzip: 0.76 kB
86
+ ℹ dist/billing/billing.schema.d.ts  5.68 kB │ gzip: 0.79 kB
87
+ ℹ dist/index.d.ts  5.02 kB │ gzip: 1.06 kB
88
+ ℹ dist/billing/billing.operations.d.ts  4.89 kB │ gzip: 0.77 kB
89
+ ℹ dist/billing/billing.entity.d.ts  2.95 kB │ gzip: 0.52 kB
90
+ ℹ dist/project/project.event.d.ts  2.77 kB │ gzip: 0.43 kB
91
+ ℹ dist/billing/billing.event.d.ts  2.60 kB │ gzip: 0.48 kB
92
+ ℹ dist/billing/billing.handler.d.ts  2.12 kB │ gzip: 0.71 kB
93
+ ℹ dist/project/project.handler.d.ts  1.93 kB │ gzip: 0.53 kB
94
+ ℹ dist/billing/index.d.ts  1.90 kB │ gzip: 0.42 kB
95
+ ℹ dist/project/index.d.ts  1.87 kB │ gzip: 0.40 kB
96
+ ℹ dist/project/project.entity.d.ts  1.79 kB │ gzip: 0.42 kB
97
+ ℹ dist/settings/settings.entity.d.ts  1.71 kB │ gzip: 0.37 kB
98
+ ℹ dist/shared/mock-data.d.ts  1.68 kB │ gzip: 0.50 kB
99
+ ℹ dist/example.d.ts  1.18 kB │ gzip: 0.48 kB
100
+ ℹ dist/presentations/index.d.ts  0.90 kB │ gzip: 0.28 kB
101
+ ℹ dist/project/project.enum.d.ts  0.63 kB │ gzip: 0.30 kB
102
+ ℹ dist/billing/billing.enum.d.ts  0.63 kB │ gzip: 0.30 kB
103
+ ℹ dist/handlers/index.d.ts  0.58 kB │ gzip: 0.20 kB
104
+ ℹ dist/dashboard/dashboard.presentation.d.ts  0.47 kB │ gzip: 0.23 kB
105
+ ℹ dist/project/project.presentation.d.ts  0.46 kB │ gzip: 0.22 kB
106
+ ℹ dist/billing/billing.presentation.d.ts  0.46 kB │ gzip: 0.22 kB
107
+ ℹ dist/saas-boilerplate.feature.d.ts  0.41 kB │ gzip: 0.25 kB
108
+ ℹ dist/settings/settings.enum.d.ts  0.31 kB │ gzip: 0.20 kB
109
+ ℹ dist/settings/index.d.ts  0.19 kB │ gzip: 0.11 kB
110
+ ℹ dist/dashboard/index.d.ts  0.16 kB │ gzip: 0.10 kB
111
+ ℹ dist/docs/index.d.ts  0.01 kB │ gzip: 0.03 kB
112
+ ℹ dist/docs/saas-boilerplate.docblock.d.ts  0.01 kB │ gzip: 0.03 kB
113
+ ℹ 103 files, total: 230.61 kB
114
+ ✔ Build complete in 24672ms
package/CHANGELOG.md ADDED
@@ -0,0 +1,246 @@
1
+ # @contractspec/example.saas-boilerplate
2
+
3
+ ## 1.44.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5f3a868: chore: isolate branding to contractspec.io
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [5f3a868]
12
+ - @contractspec/module.notifications@1.44.0
13
+ - @contractspec/module.audit-trail@1.44.0
14
+ - @contractspec/lib.identity-rbac@1.44.0
15
+ - @contractspec/lib.contracts@1.44.0
16
+ - @contractspec/lib.schema@1.44.0
17
+ - @contractspec/lib.jobs@1.44.0
18
+ - @contractspec/lib.bus@1.44.0
19
+
20
+ ## 1.43.4
21
+
22
+ ### Patch Changes
23
+
24
+ - 9216062: fix: cross-platform compatibility
25
+ - Updated dependencies [9216062]
26
+ - @contractspec/module.notifications@1.43.4
27
+ - @contractspec/module.audit-trail@1.43.4
28
+ - @contractspec/lib.identity-rbac@1.43.4
29
+ - @contractspec/lib.contracts@1.43.4
30
+ - @contractspec/lib.schema@1.43.3
31
+ - @contractspec/lib.jobs@1.43.4
32
+ - @contractspec/lib.bus@1.43.4
33
+
34
+ ## 1.43.3
35
+
36
+ ### Patch Changes
37
+
38
+ - 24d9759: improve documentation
39
+ - Updated dependencies [24d9759]
40
+ - @contractspec/module.notifications@1.43.3
41
+ - @contractspec/module.audit-trail@1.43.3
42
+ - @contractspec/lib.identity-rbac@1.43.3
43
+ - @contractspec/lib.contracts@1.43.3
44
+ - @contractspec/lib.schema@1.43.2
45
+ - @contractspec/lib.jobs@1.43.3
46
+ - @contractspec/lib.bus@1.43.3
47
+
48
+ ## 1.43.2
49
+
50
+ ### Patch Changes
51
+
52
+ - e147271: fix: improve stability
53
+ - Updated dependencies [e147271]
54
+ - @contractspec/module.notifications@1.43.2
55
+ - @contractspec/module.audit-trail@1.43.2
56
+ - @contractspec/lib.identity-rbac@1.43.2
57
+ - @contractspec/lib.contracts@1.43.2
58
+ - @contractspec/lib.jobs@1.43.2
59
+ - @contractspec/lib.bus@1.43.2
60
+ - @contractspec/lib.schema@1.43.1
61
+
62
+ ## 1.43.1
63
+
64
+ ### Patch Changes
65
+
66
+ - Updated dependencies [f28fdad]
67
+ - @contractspec/lib.contracts@1.43.1
68
+ - @contractspec/lib.bus@1.43.1
69
+ - @contractspec/lib.identity-rbac@1.43.1
70
+ - @contractspec/lib.jobs@1.43.1
71
+ - @contractspec/module.audit-trail@1.43.1
72
+ - @contractspec/module.notifications@1.43.1
73
+
74
+ ## 1.43.0
75
+
76
+ ### Minor Changes
77
+
78
+ - 042d072: feat: schema declaration using json schema, including zod
79
+
80
+ ### Patch Changes
81
+
82
+ - Updated dependencies [042d072]
83
+ - @contractspec/module.notifications@1.43.0
84
+ - @contractspec/module.audit-trail@1.43.0
85
+ - @contractspec/lib.identity-rbac@1.43.0
86
+ - @contractspec/lib.contracts@1.43.0
87
+ - @contractspec/lib.schema@1.43.0
88
+ - @contractspec/lib.jobs@1.43.0
89
+ - @contractspec/lib.bus@1.43.0
90
+
91
+ ## 1.42.10
92
+
93
+ ### Patch Changes
94
+
95
+ - 1e6a0f1: fix: mcp server
96
+ - Updated dependencies [1e6a0f1]
97
+ - @contractspec/module.notifications@1.42.10
98
+ - @contractspec/module.audit-trail@1.42.10
99
+ - @contractspec/lib.identity-rbac@1.42.10
100
+ - @contractspec/lib.contracts@1.42.10
101
+ - @contractspec/lib.schema@1.42.10
102
+ - @contractspec/lib.jobs@1.42.10
103
+ - @contractspec/lib.bus@1.42.10
104
+
105
+ ## 1.42.9
106
+
107
+ ### Patch Changes
108
+
109
+ - 9281db7: fix ModelRegistry
110
+ - Updated dependencies [9281db7]
111
+ - @contractspec/module.notifications@1.42.9
112
+ - @contractspec/module.audit-trail@1.42.9
113
+ - @contractspec/lib.identity-rbac@1.42.9
114
+ - @contractspec/lib.contracts@1.42.9
115
+ - @contractspec/lib.schema@1.42.9
116
+ - @contractspec/lib.jobs@1.42.9
117
+ - @contractspec/lib.bus@1.42.9
118
+
119
+ ## 1.42.8
120
+
121
+ ### Patch Changes
122
+
123
+ - e07b5ac: fix
124
+ - Updated dependencies [e07b5ac]
125
+ - @contractspec/module.notifications@1.42.8
126
+ - @contractspec/module.audit-trail@1.42.8
127
+ - @contractspec/lib.identity-rbac@1.42.8
128
+ - @contractspec/lib.contracts@1.42.8
129
+ - @contractspec/lib.schema@1.42.8
130
+ - @contractspec/lib.jobs@1.42.8
131
+ - @contractspec/lib.bus@1.42.8
132
+
133
+ ## 1.42.7
134
+
135
+ ### Patch Changes
136
+
137
+ - e9b575d: fix release
138
+ - Updated dependencies [e9b575d]
139
+ - @contractspec/module.notifications@1.42.7
140
+ - @contractspec/module.audit-trail@1.42.7
141
+ - @contractspec/lib.identity-rbac@1.42.7
142
+ - @contractspec/lib.contracts@1.42.7
143
+ - @contractspec/lib.schema@1.42.7
144
+ - @contractspec/lib.jobs@1.42.7
145
+ - @contractspec/lib.bus@1.42.7
146
+
147
+ ## 1.42.6
148
+
149
+ ### Patch Changes
150
+
151
+ - 1500242: fix tooling
152
+ - Updated dependencies [1500242]
153
+ - @contractspec/module.notifications@1.42.6
154
+ - @contractspec/module.audit-trail@1.42.6
155
+ - @contractspec/lib.identity-rbac@1.42.6
156
+ - @contractspec/lib.contracts@1.42.6
157
+ - @contractspec/lib.schema@1.42.6
158
+ - @contractspec/lib.jobs@1.42.6
159
+ - @contractspec/lib.bus@1.42.6
160
+
161
+ ## 1.42.5
162
+
163
+ ### Patch Changes
164
+
165
+ - 1299719: fix vscode
166
+ - Updated dependencies [1299719]
167
+ - @contractspec/module.notifications@1.42.5
168
+ - @contractspec/module.audit-trail@1.42.5
169
+ - @contractspec/lib.identity-rbac@1.42.5
170
+ - @contractspec/lib.contracts@1.42.5
171
+ - @contractspec/lib.schema@1.42.5
172
+ - @contractspec/lib.jobs@1.42.5
173
+ - @contractspec/lib.bus@1.42.5
174
+
175
+ ## 1.42.4
176
+
177
+ ### Patch Changes
178
+
179
+ - ac28b99: fix: generate from openapi
180
+ - Updated dependencies [ac28b99]
181
+ - @contractspec/module.notifications@1.42.4
182
+ - @contractspec/module.audit-trail@1.42.4
183
+ - @contractspec/lib.identity-rbac@1.42.4
184
+ - @contractspec/lib.contracts@1.42.4
185
+ - @contractspec/lib.schema@1.42.4
186
+ - @contractspec/lib.jobs@1.42.4
187
+ - @contractspec/lib.bus@1.42.4
188
+
189
+ ## 1.42.3
190
+
191
+ ### Patch Changes
192
+
193
+ - 3f5d015: fix(tooling): cicd
194
+ - Updated dependencies [3f5d015]
195
+ - @contractspec/lib.bus@1.42.3
196
+ - @contractspec/lib.contracts@1.42.3
197
+ - @contractspec/lib.identity-rbac@1.42.3
198
+ - @contractspec/lib.jobs@1.42.3
199
+ - @contractspec/lib.schema@1.42.3
200
+ - @contractspec/module.audit-trail@1.42.3
201
+ - @contractspec/module.notifications@1.42.3
202
+
203
+ ## 1.42.2
204
+
205
+ ### Patch Changes
206
+
207
+ - 1f9ac4c: fix
208
+ - Updated dependencies [1f9ac4c]
209
+ - @contractspec/lib.bus@1.42.2
210
+ - @contractspec/lib.contracts@1.42.2
211
+ - @contractspec/lib.identity-rbac@1.42.2
212
+ - @contractspec/lib.jobs@1.42.2
213
+ - @contractspec/lib.schema@1.42.2
214
+ - @contractspec/module.audit-trail@1.42.2
215
+ - @contractspec/module.notifications@1.42.2
216
+
217
+ ## 1.42.1
218
+
219
+ ### Patch Changes
220
+
221
+ - f043995: Fix release
222
+ - Updated dependencies [f043995]
223
+ - @contractspec/module.notifications@1.42.1
224
+ - @contractspec/module.audit-trail@1.42.1
225
+ - @contractspec/lib.identity-rbac@1.42.1
226
+ - @contractspec/lib.contracts@1.42.1
227
+ - @contractspec/lib.schema@1.42.1
228
+ - @contractspec/lib.jobs@1.42.1
229
+ - @contractspec/lib.bus@1.42.1
230
+
231
+ ## 1.42.0
232
+
233
+ ### Minor Changes
234
+
235
+ - 8eefd9c: initial release
236
+
237
+ ### Patch Changes
238
+
239
+ - Updated dependencies [8eefd9c]
240
+ - @contractspec/lib.bus@1.42.0
241
+ - @contractspec/lib.contracts@1.42.0
242
+ - @contractspec/lib.identity-rbac@1.42.0
243
+ - @contractspec/lib.jobs@1.42.0
244
+ - @contractspec/lib.schema@1.42.0
245
+ - @contractspec/module.audit-trail@1.42.0
246
+ - @contractspec/module.notifications@1.42.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Chaman Ventures, SASU
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,156 @@
1
+ # SaaS Boilerplate
2
+
3
+ Website: https://contractspec.io/
4
+
5
+
6
+ A complete SaaS starter application demonstrating ContractSpec principles.
7
+
8
+ ## What's Included
9
+
10
+ This example showcases a full SaaS application with:
11
+
12
+ - **User Management**: User profiles, authentication, preferences
13
+ - **Organizations**: Multi-tenant workspaces with members and roles
14
+ - **Projects**: Team-scoped projects with CRUD operations
15
+ - **Billing**: Usage tracking and subscription management
16
+ - **Settings**: Application and user settings
17
+
18
+ ## Architecture
19
+
20
+ ```
21
+ saas-boilerplate/
22
+ ├── entities/ # Entity specs (generates Prisma schema)
23
+ │ ├── project.ts
24
+ │ ├── settings.ts
25
+ │ └── billing.ts
26
+ ├── contracts/ # API contracts (generates GraphQL/REST)
27
+ │ ├── project.ts
28
+ │ └── billing.ts
29
+ ├── events/ # Domain events
30
+ │ └── index.ts
31
+ ├── schema.config.ts # Schema composition config
32
+ └── README.md
33
+ ```
34
+
35
+ ## Cross-Cutting Modules Used
36
+
37
+ | Module | Purpose |
38
+ |--------|---------|
39
+ | @contractspec/lib.identity-rbac | User, Org, Member, Role entities |
40
+ | @contractspec/module.audit-trail | Activity logging |
41
+ | @contractspec/module.notifications | User notifications |
42
+ | @contractspec/lib.jobs | Background tasks |
43
+
44
+ ## Entities
45
+
46
+ ### Project
47
+
48
+ Projects belong to organizations and track team work.
49
+
50
+ ```typescript
51
+ const ProjectEntity = defineEntity({
52
+ name: 'Project',
53
+ fields: {
54
+ id: field.id(),
55
+ name: field.string(),
56
+ description: field.string({ isOptional: true }),
57
+ organizationId: field.foreignKey(),
58
+ createdBy: field.foreignKey(),
59
+ status: field.enum('ProjectStatus'),
60
+ // ...
61
+ },
62
+ });
63
+ ```
64
+
65
+ ### Settings
66
+
67
+ Application and organization settings.
68
+
69
+ ```typescript
70
+ const SettingsEntity = defineEntity({
71
+ name: 'Settings',
72
+ fields: {
73
+ id: field.id(),
74
+ key: field.string(),
75
+ value: field.json(),
76
+ scope: field.enum('SettingsScope'), // 'app', 'org', 'user'
77
+ // ...
78
+ },
79
+ });
80
+ ```
81
+
82
+ ### BillingUsage
83
+
84
+ Track feature usage for billing.
85
+
86
+ ```typescript
87
+ const BillingUsageEntity = defineEntity({
88
+ name: 'BillingUsage',
89
+ fields: {
90
+ id: field.id(),
91
+ organizationId: field.foreignKey(),
92
+ feature: field.string(),
93
+ quantity: field.int(),
94
+ billingPeriod: field.string(),
95
+ // ...
96
+ },
97
+ });
98
+ ```
99
+
100
+ ## Contracts
101
+
102
+ ### Project CRUD
103
+
104
+ - `project.create` - Create a new project
105
+ - `project.get` - Get project by ID
106
+ - `project.update` - Update project
107
+ - `project.delete` - Delete project
108
+ - `project.list` - List org projects
109
+
110
+ ### Billing
111
+
112
+ - `billing.usage.record` - Record feature usage
113
+ - `billing.usage.get` - Get usage summary
114
+ - `billing.subscription.get` - Get subscription status
115
+
116
+ ## Events
117
+
118
+ | Event | Description |
119
+ |-------|-------------|
120
+ | project.created | New project created |
121
+ | project.updated | Project modified |
122
+ | project.deleted | Project removed |
123
+ | billing.usage.recorded | Usage tracked |
124
+ | billing.limit.reached | Usage limit hit |
125
+
126
+ ## Usage
127
+
128
+ ### Generate Schema
129
+
130
+ ```bash
131
+ cd packages/examples/saas-boilerplate
132
+ bun run db:generate
133
+ ```
134
+
135
+ ### Load as Studio Template
136
+
137
+ This example is registered in the ContractSpec Studio template registry as `saas-boilerplate`.
138
+
139
+ From the Studio UI:
140
+ 1. Click "New Project"
141
+ 2. Select "SaaS Boilerplate" template
142
+ 3. Customize entities and contracts as needed
143
+
144
+ ### Clone via Git
145
+
146
+ ```bash
147
+ npx degit lssm/contractspec/packages/examples/saas-boilerplate my-saas-app
148
+ ```
149
+
150
+ ## Customization Points
151
+
152
+ 1. **Add Custom Entities**: Extend with your domain models
153
+ 2. **Modify Billing**: Adapt to your pricing model
154
+ 3. **Extend Settings**: Add app-specific configuration
155
+ 4. **Add Workflows**: Integrate with @contractspec/lib.jobs for background tasks
156
+