skeleton-framework 0.1.3__tar.gz → 1.0.0__tar.gz

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 (252) hide show
  1. skeleton_framework-1.0.0/PKG-INFO +497 -0
  2. skeleton_framework-1.0.0/README.md +471 -0
  3. skeleton_framework-1.0.0/pyproject.toml +60 -0
  4. skeleton_framework-1.0.0/skeleton/__init__.py +3 -0
  5. skeleton_framework-1.0.0/skeleton/boilerplate/app/.gitignore +31 -0
  6. skeleton_framework-1.0.0/skeleton/boilerplate/app/LICENSE.md +5 -0
  7. skeleton_framework-1.0.0/skeleton/boilerplate/app/README.md +108 -0
  8. skeleton_framework-1.0.0/skeleton/boilerplate/app/TODO.md +5 -0
  9. skeleton_framework-1.0.0/skeleton/boilerplate/app/backend/pyproject.toml +27 -0
  10. skeleton_framework-1.0.0/skeleton/boilerplate/app/backend/routes.json +22 -0
  11. skeleton_framework-1.0.0/skeleton/boilerplate/app/backend/src/main.py +54 -0
  12. skeleton_framework-1.0.0/skeleton/boilerplate/app/frontend/package.json +39 -0
  13. skeleton_framework-1.0.0/skeleton/boilerplate/app/frontend/src/assets.d.ts +69 -0
  14. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates → skeleton_framework-1.0.0/skeleton/boilerplate}/app/frontend/src/index.html +1 -1
  15. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates → skeleton_framework-1.0.0/skeleton/boilerplate}/app/frontend/src/static/css/styles.css +0 -8
  16. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-fastapi.json +12 -0
  17. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-metadata.json +10 -0
  18. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-portal.json +28 -0
  19. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-project.json +70 -0
  20. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/settings/proxy.json → skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-proxy.json +10 -1
  21. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-runtime.json +11 -0
  22. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-schemas.json +18 -0
  23. skeleton_framework-1.0.0/skeleton/boilerplate/config/skeleton-servers.json +14 -0
  24. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/react/config/skeleton-dependencies.json +20 -0
  25. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/react → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/react/frontend/src}/main.tsx +2 -0
  26. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/react → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/react/frontend}/tsconfig.json +5 -3
  27. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/react/frontend/webpack.config.js +218 -0
  28. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/solid/config/skeleton-dependencies.json +21 -0
  29. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/solid → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/solid/frontend/src}/main.tsx +3 -4
  30. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/solid → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/solid/frontend}/tsconfig.json +5 -3
  31. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/solid/frontend/webpack.config.js +229 -0
  32. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/config/skeleton-dependencies.json +20 -0
  33. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/frontend/src/App.svelte +22 -0
  34. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/vue → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/frontend/src}/main.ts +9 -10
  35. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/frontend/src/svelte.d.ts +8 -0
  36. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/vue → skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/frontend}/tsconfig.json +3 -5
  37. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/svelte/frontend/webpack.config.js +267 -0
  38. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vanilla/config/skeleton-dependencies.json +14 -0
  39. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vanilla/frontend/src/main.ts +17 -0
  40. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vanilla/frontend/tsconfig.json +89 -0
  41. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vanilla/frontend/webpack.config.js +220 -0
  42. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/config/skeleton-dependencies.json +21 -0
  43. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/frontend/src/App.vue +3 -0
  44. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/frontend/src/main.ts +19 -0
  45. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/frontend/src/vue.d.ts +11 -0
  46. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/frontend/tsconfig.json +89 -0
  47. skeleton_framework-1.0.0/skeleton/boilerplate/profiles/vue/frontend/webpack.config.js +240 -0
  48. skeleton_framework-1.0.0/skeleton/cli/__init__.py +32 -0
  49. skeleton_framework-1.0.0/skeleton/cli/bump.py +240 -0
  50. skeleton_framework-1.0.0/skeleton/cli/config.py +279 -0
  51. skeleton_framework-1.0.0/skeleton/cli/demo.py +176 -0
  52. skeleton_framework-1.0.0/skeleton/cli/dist.py +157 -0
  53. skeleton_framework-1.0.0/skeleton/cli/help.py +67 -0
  54. skeleton_framework-1.0.0/skeleton/cli/init.py +400 -0
  55. skeleton_framework-1.0.0/skeleton/cli/install.py +124 -0
  56. skeleton_framework-1.0.0/skeleton/cli/preview.py +55 -0
  57. skeleton_framework-1.0.0/skeleton/cli/purge.py +116 -0
  58. skeleton_framework-1.0.0/skeleton/cli/quickstart.py +57 -0
  59. skeleton_framework-1.0.0/skeleton/cli/readme.py +50 -0
  60. skeleton_framework-1.0.0/skeleton/cli/start.py +95 -0
  61. skeleton_framework-1.0.0/skeleton/cli/tree.py +285 -0
  62. skeleton_framework-1.0.0/skeleton/cli/vscode.py +133 -0
  63. skeleton_framework-1.0.0/skeleton/cmd/command.py +100 -0
  64. skeleton_framework-1.0.0/skeleton/cmd/confirm.py +16 -0
  65. skeleton_framework-1.0.0/skeleton/cmd/parser.py +100 -0
  66. skeleton_framework-1.0.0/skeleton/cmd/prompt.py +26 -0
  67. skeleton_framework-1.0.0/skeleton/cmd/registry.py +75 -0
  68. skeleton_framework-1.0.0/skeleton/cmd/types.py +27 -0
  69. skeleton_framework-1.0.0/skeleton/context/auth.py +37 -0
  70. skeleton_framework-1.0.0/skeleton/context/context.py +32 -0
  71. skeleton_framework-1.0.0/skeleton/context/mode.py +5 -0
  72. skeleton_framework-1.0.0/skeleton/context/predicates.py +20 -0
  73. skeleton_framework-1.0.0/skeleton/context/roles.py +5 -0
  74. skeleton_framework-1.0.0/skeleton/decorators/roles.py +26 -0
  75. skeleton_framework-1.0.0/skeleton/docs/documentation.py +78 -0
  76. skeleton_framework-1.0.0/skeleton/engine/info.py +34 -0
  77. skeleton_framework-1.0.0/skeleton/engine/launch.py +58 -0
  78. skeleton_framework-1.0.0/skeleton/engine/portal.py +52 -0
  79. skeleton_framework-1.0.0/skeleton/engine/readiness.py +100 -0
  80. skeleton_framework-1.0.0/skeleton/engine/run.py +41 -0
  81. skeleton_framework-1.0.0/skeleton/engine/start.py +125 -0
  82. skeleton_framework-1.0.0/skeleton/engine/stop.py +94 -0
  83. skeleton_framework-1.0.0/skeleton/engine/watch.py +86 -0
  84. skeleton_framework-1.0.0/skeleton/environment/dependencies.py +53 -0
  85. skeleton_framework-1.0.0/skeleton/environment/notice.py +53 -0
  86. skeleton_framework-1.0.0/skeleton/environment/resolver.py +35 -0
  87. skeleton_framework-1.0.0/skeleton/environment/runner.py +61 -0
  88. skeleton_framework-1.0.0/skeleton/environment/upgrade.py +26 -0
  89. skeleton_framework-1.0.0/skeleton/environment/venv.py +14 -0
  90. skeleton_framework-1.0.0/skeleton/layout/app.py +48 -0
  91. skeleton_framework-1.0.0/skeleton/layout/backend.py +108 -0
  92. skeleton_framework-1.0.0/skeleton/layout/boilerplate.py +81 -0
  93. skeleton_framework-1.0.0/skeleton/layout/client.py +155 -0
  94. skeleton_framework-1.0.0/skeleton/layout/config.py +42 -0
  95. skeleton_framework-1.0.0/skeleton/layout/engine.py +61 -0
  96. skeleton_framework-1.0.0/skeleton/layout/framework.py +112 -0
  97. skeleton_framework-1.0.0/skeleton/layout/frontend.py +105 -0
  98. skeleton_framework-1.0.0/skeleton/layout/profile.py +52 -0
  99. skeleton_framework-1.0.0/skeleton/layout/python.py +34 -0
  100. skeleton_framework-1.0.0/skeleton/layout/server.py +69 -0
  101. skeleton_framework-1.0.0/skeleton/main.py +67 -0
  102. skeleton_framework-1.0.0/skeleton/parsers/bump.py +67 -0
  103. skeleton_framework-1.0.0/skeleton/parsers/help.py +13 -0
  104. skeleton_framework-1.0.0/skeleton/register.py +481 -0
  105. skeleton_framework-1.0.0/skeleton/repository/config.py +134 -0
  106. skeleton_framework-1.0.0/skeleton/repository/gitignore.py +46 -0
  107. skeleton_framework-1.0.0/skeleton/runtime/config.py +60 -0
  108. skeleton_framework-1.0.0/skeleton/runtime/mode.py +8 -0
  109. skeleton_framework-1.0.0/skeleton/runtime/portal.py +60 -0
  110. skeleton_framework-1.0.0/skeleton/runtime/proxy.py +53 -0
  111. skeleton_framework-1.0.0/skeleton/runtime/reload.py +9 -0
  112. skeleton_framework-1.0.0/skeleton/runtime/schemas.py +48 -0
  113. skeleton_framework-1.0.0/skeleton/runtime/server.py +16 -0
  114. skeleton_framework-1.0.0/skeleton/server/app.py +185 -0
  115. skeleton_framework-1.0.0/skeleton/server/client.py +101 -0
  116. {skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src → skeleton_framework-1.0.0/skeleton/server}/headers.py +1 -1
  117. skeleton_framework-1.0.0/skeleton/server/lifespan.py +19 -0
  118. skeleton_framework-1.0.0/skeleton/server/main.py +75 -0
  119. {skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src → skeleton_framework-1.0.0/skeleton/server}/reverseproxy.py +19 -17
  120. skeleton_framework-1.0.0/skeleton/server/router.py +68 -0
  121. skeleton_framework-1.0.0/skeleton/server/websocket.py +1 -0
  122. skeleton_framework-1.0.0/skeleton/template/__init__.py +0 -0
  123. skeleton_framework-1.0.0/skeleton/template/asset.py +27 -0
  124. skeleton_framework-1.0.0/skeleton/template/generate.py +165 -0
  125. skeleton_framework-1.0.0/skeleton/template/merge.py +89 -0
  126. skeleton_framework-1.0.0/skeleton/template/normalize.py +13 -0
  127. skeleton_framework-1.0.0/skeleton/template/plan.py +26 -0
  128. skeleton_framework-1.0.0/skeleton/template/render.py +21 -0
  129. skeleton_framework-1.0.0/skeleton/utils/__init__.py +0 -0
  130. skeleton_framework-1.0.0/skeleton/utils/display.py +33 -0
  131. skeleton_framework-1.0.0/skeleton/validation/__init__.py +0 -0
  132. skeleton_framework-1.0.0/skeleton/validation/catalog.py +17 -0
  133. skeleton_framework-1.0.0/skeleton/validation/licenses.py +57 -0
  134. skeleton_framework-1.0.0/skeleton/validation/metadata.py +68 -0
  135. skeleton_framework-1.0.0/skeleton/validation/rules/__init__.py +0 -0
  136. skeleton_framework-1.0.0/skeleton/validation/rules/choice.py +18 -0
  137. skeleton_framework-1.0.0/skeleton/validation/rules/date.py +18 -0
  138. skeleton_framework-1.0.0/skeleton/validation/rules/dependencies.py +119 -0
  139. skeleton_framework-1.0.0/skeleton/validation/rules/identifier.py +16 -0
  140. skeleton_framework-1.0.0/skeleton/validation/rules/license.py +13 -0
  141. skeleton_framework-1.0.0/skeleton/validation/rules/package.py +29 -0
  142. skeleton_framework-1.0.0/skeleton/validation/rules/required.py +8 -0
  143. skeleton_framework-1.0.0/skeleton/validation/rules/url.py +29 -0
  144. skeleton_framework-1.0.0/skeleton/validation/rules/version.py +17 -0
  145. skeleton_framework-1.0.0/skeleton/validation/validate.py +30 -0
  146. skeleton_framework-1.0.0/skeleton/versioning/__init__.py +0 -0
  147. skeleton_framework-1.0.0/skeleton/versioning/bump.py +68 -0
  148. skeleton_framework-1.0.0/skeleton/versioning/parse.py +18 -0
  149. skeleton_framework-1.0.0/skeleton/versioning/read.py +81 -0
  150. skeleton_framework-1.0.0/skeleton/versioning/resolve.py +47 -0
  151. skeleton_framework-1.0.0/skeleton/versioning/write.py +98 -0
  152. skeleton_framework-1.0.0/skeleton_framework.egg-info/PKG-INFO +497 -0
  153. skeleton_framework-1.0.0/skeleton_framework.egg-info/SOURCES.txt +172 -0
  154. skeleton_framework-1.0.0/skeleton_framework.egg-info/entry_points.txt +2 -0
  155. skeleton_framework-1.0.0/skeleton_framework.egg-info/requires.txt +13 -0
  156. skeleton_framework-0.1.3/PKG-INFO +0 -511
  157. skeleton_framework-0.1.3/README.md +0 -493
  158. skeleton_framework-0.1.3/pyproject.toml +0 -44
  159. skeleton_framework-0.1.3/skeleton/cli.py +0 -156
  160. skeleton_framework-0.1.3/skeleton/client.py +0 -271
  161. skeleton_framework-0.1.3/skeleton/infrastructure/__init__.py +0 -1
  162. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/client/init.py +0 -487
  163. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/client/install.py +0 -113
  164. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/dev/build.py +0 -80
  165. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/dev/init.py +0 -80
  166. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/dev/install.py +0 -168
  167. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/dev/pack.py +0 -55
  168. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/config.py +0 -153
  169. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/copy.py +0 -279
  170. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/load.py +0 -221
  171. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/app/backend/requirements.txt +0 -1
  172. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/app/backend/routes.json +0 -10
  173. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/app/backend/src/main.py +0 -35
  174. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/app/frontend/package.json +0 -21
  175. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/config/.gitignore +0 -21
  176. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/config/skeleton-dependencies.json +0 -21
  177. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/config/skeleton-layout.json +0 -11
  178. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/config/skeleton-schemas.json +0 -20
  179. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/config/skeleton-servers.json +0 -16
  180. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/react/skeleton-config.json +0 -30
  181. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/react/skeleton-dependencies.json +0 -21
  182. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/skeleton-config.json +0 -29
  183. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/solid/skeleton-config.json +0 -30
  184. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/solid/skeleton-dependencies.json +0 -22
  185. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/vue/skeleton-config.json +0 -30
  186. skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/profiles/vue/skeleton-dependencies.json +0 -21
  187. skeleton_framework-0.1.3/skeleton/infrastructure/common/__init__.py +0 -1
  188. skeleton_framework-0.1.3/skeleton/infrastructure/common/config.json +0 -8
  189. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/config.py +0 -37
  190. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/constants.py +0 -4
  191. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/context.py +0 -15
  192. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/env.py +0 -12
  193. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/layout.py +0 -68
  194. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/loader.py +0 -8
  195. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/repository.py +0 -12
  196. skeleton_framework-0.1.3/skeleton/infrastructure/common/src/utils.py +0 -26
  197. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/settings/services.json +0 -10
  198. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/app.py +0 -98
  199. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/client.py +0 -68
  200. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/config.py +0 -29
  201. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/context.py +0 -31
  202. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/lifespan.py +0 -17
  203. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/loader.py +0 -113
  204. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/logging.py +0 -37
  205. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/main.py +0 -139
  206. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/parser.py +0 -59
  207. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/registry.py +0 -30
  208. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/router.py +0 -74
  209. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/service.py +0 -123
  210. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/utils.py +0 -48
  211. skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src/validation.py +0 -89
  212. skeleton_framework-0.1.3/skeleton/infrastructure/layout.json +0 -12
  213. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/actions.py +0 -4
  214. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/browser.py +0 -18
  215. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/cmd.py +0 -7
  216. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/command.py +0 -7
  217. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/frontend.py +0 -35
  218. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/gateway.py +0 -104
  219. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/hook.py +0 -53
  220. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/main.py +0 -78
  221. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/packages.py +0 -35
  222. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/parser.py +0 -84
  223. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/process.py +0 -99
  224. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/services.py +0 -16
  225. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/utils.py +0 -6
  226. skeleton_framework-0.1.3/skeleton/infrastructure/runners/src/validation.py +0 -28
  227. skeleton_framework-0.1.3/skeleton/packages/.skeleton/skeleton-cli-1.0.0.tgz +0 -0
  228. skeleton_framework-0.1.3/skeleton/packages/.skeleton/skeleton-webpack-1.0.0.tgz +0 -0
  229. skeleton_framework-0.1.3/skeleton/root.py +0 -234
  230. skeleton_framework-0.1.3/skeleton_framework.egg-info/PKG-INFO +0 -511
  231. skeleton_framework-0.1.3/skeleton_framework.egg-info/SOURCES.txt +0 -106
  232. skeleton_framework-0.1.3/skeleton_framework.egg-info/entry_points.txt +0 -2
  233. skeleton_framework-0.1.3/skeleton_framework.egg-info/requires.txt +0 -4
  234. {skeleton_framework-0.1.3 → skeleton_framework-1.0.0}/LICENSE +0 -0
  235. {skeleton_framework-0.1.3 → skeleton_framework-1.0.0}/setup.cfg +0 -0
  236. {skeleton_framework-0.1.3/skeleton → skeleton_framework-1.0.0/skeleton/boilerplate/app/backend/src}/__init__.py +0 -0
  237. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates → skeleton_framework-1.0.0/skeleton/boilerplate}/app/frontend/src/static/img/skeleton.png +0 -0
  238. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates → skeleton_framework-1.0.0/skeleton/boilerplate}/app/frontend/src/static/js/script.js +0 -0
  239. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap → skeleton_framework-1.0.0/skeleton/cmd}/__init__.py +0 -0
  240. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src → skeleton_framework-1.0.0/skeleton/context}/__init__.py +0 -0
  241. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands → skeleton_framework-1.0.0/skeleton/decorators}/__init__.py +0 -0
  242. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/client → skeleton_framework-1.0.0/skeleton/docs}/__init__.py +0 -0
  243. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/commands/dev → skeleton_framework-1.0.0/skeleton/engine}/__init__.py +0 -0
  244. {skeleton_framework-0.1.3/skeleton/infrastructure/bootstrap/src/templates/app/backend/src → skeleton_framework-1.0.0/skeleton/environment}/__init__.py +0 -0
  245. {skeleton_framework-0.1.3/skeleton/infrastructure/common/src → skeleton_framework-1.0.0/skeleton/layout}/__init__.py +0 -0
  246. {skeleton_framework-0.1.3/skeleton/infrastructure/gateway → skeleton_framework-1.0.0/skeleton/parsers}/__init__.py +0 -0
  247. {skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src → skeleton_framework-1.0.0/skeleton/repository}/__init__.py +0 -0
  248. {skeleton_framework-0.1.3/skeleton/infrastructure/runners → skeleton_framework-1.0.0/skeleton/runtime}/__init__.py +0 -0
  249. {skeleton_framework-0.1.3/skeleton/infrastructure/runners/src → skeleton_framework-1.0.0/skeleton/server}/__init__.py +0 -0
  250. {skeleton_framework-0.1.3/skeleton/infrastructure/gateway/src → skeleton_framework-1.0.0/skeleton/server}/schemas.py +0 -0
  251. {skeleton_framework-0.1.3 → skeleton_framework-1.0.0}/skeleton_framework.egg-info/dependency_links.txt +0 -0
  252. {skeleton_framework-0.1.3 → skeleton_framework-1.0.0}/skeleton_framework.egg-info/top_level.txt +0 -0
@@ -0,0 +1,497 @@
1
+ Metadata-Version: 2.4
2
+ Name: skeleton-framework
3
+ Version: 1.0.0
4
+ Summary: A full-stack orchestration framework: Python orchestration + FastAPI + WebPack.
5
+ Author-email: lambdadotjoburg <lambdadotjoburg@gmail.com>
6
+ License-Expression: LicenseRef-Proprietary
7
+ Project-URL: Homepage, https://github.com/lambdadotjoburg/skeleton
8
+ Project-URL: Repository, https://github.com/lambdadotjoburg/skeleton
9
+ Project-URL: Issues, https://github.com/lambdadotjoburg/skeleton/issues
10
+ Requires-Python: >=3.11
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: twine>=7.0.0
14
+ Requires-Dist: build>=1.6.1
15
+ Requires-Dist: packaging<27,>=24
16
+ Requires-Dist: anyver<2.0,>=1.2
17
+ Requires-Dist: tomlkit>=0.15.2
18
+ Requires-Dist: pathspec<2.0,>=0.12
19
+ Requires-Dist: psutil<8.0,>=6.0
20
+ Requires-Dist: uvicorn<1.0,>=0.34
21
+ Requires-Dist: fastapi<1.0,>=0.115
22
+ Requires-Dist: httpx<1.0,>=0.28
23
+ Requires-Dist: watchfiles<2.0,>=1.0
24
+ Provides-Extra: dev
25
+ Dynamic: license-file
26
+
27
+ # Skeleton Framework
28
+
29
+ ![Skeleton Logo](https://raw.githubusercontent.com/lambdadotjoburg/skeleton/main/skeleton.png)
30
+
31
+ Skeleton is a full-stack application orchestration framework
32
+ that combines Python orchestration, a FastAPI reverse-proxy gateway,
33
+ a Python backend, and a TypeScript frontend.
34
+
35
+ It provides a structured development workflow for configuring,
36
+ initializing, installing, running, and building full-stack applications.
37
+
38
+ Skeleton supports multiple frontend profiles and manages the development
39
+ environments and tooling required by each application component.
40
+
41
+ ## Features
42
+
43
+ - **Python orchestration** for project configuration, initialization, dependency installation and service execution.
44
+ - **FastAPI gateway** for centralizing request routing and communication with backend services.
45
+ - **Python backend** for application APIs.
46
+ - **Multiple frontend profiles** supports Vanilla TypeScript, React, SolidJS, Vue, and Svelte.
47
+ - **Webpack tooling** for frontend development and production builds.
48
+ - **JSON-based configuration** for project metadata, structure, dependencies, schemas, servers, etc.
49
+ - **Command-line interface** for project management, development, versioning, distribution, and cleanup.
50
+
51
+ ## Architecture
52
+
53
+ Skeleton separates the application into cooperating layers:
54
+
55
+ | Layer | Technology |
56
+ |---------------------------|-------------|
57
+ | Orchestration and CLI | Python |
58
+ | Gateway | FastAPI |
59
+ | Backend APIs | FastAPI |
60
+ | HTTP server | Uvicorn |
61
+ | HTTP communication | HTTPX |
62
+ | Frontend | TypeScript |
63
+ | Frontend bundling | Webpack |
64
+ | Development file watching | watchfiles |
65
+ | Dependency management | pip and npm |
66
+
67
+ The gateway provides a central entry point for browser requests
68
+ and coordinates communication between the frontend and backend.
69
+
70
+ ## Default Development Ports
71
+
72
+ The default development configuration uses the following ports:
73
+
74
+ | Service | Address |
75
+ |-----------------------------|-----------------------|
76
+ | Gateway / reverse proxy | http://127.0.0.1:8000 |
77
+ | Backend API | http://127.0.0.1:8080 |
78
+ | Frontend development server | http://127.0.0.1:3000 |
79
+
80
+ The gateway is the normal entry point for browser access.
81
+
82
+ For example, the index API endpoint can be accessed through:
83
+
84
+ ```text
85
+ http://127.0.0.1:8000/api/
86
+ ```
87
+
88
+ The corresponding backend endpoint may be available directly at:
89
+
90
+ ```text
91
+ http://127.0.0.1:8080/
92
+ ```
93
+
94
+ Actual routes depend on the application's server and gateway configuration.
95
+
96
+ ## Installation
97
+
98
+ ### 1. Requirements
99
+
100
+ Before getting started, install:
101
+
102
+ - Python 3.11 or later & pip.
103
+ - Node.js & npm.
104
+
105
+ ### 2. .venv
106
+
107
+ It is recommended to create and activate a Python virtual environment before installing Skeleton.
108
+
109
+ From your project directory, run:
110
+
111
+ ```bash
112
+ python -m venv .my-venv
113
+ ```
114
+
115
+ Activate the environment using the command for your shell:
116
+
117
+ **Windows CMD**
118
+
119
+ ```bat
120
+ .my-venv\Scripts\activate.bat
121
+ ```
122
+
123
+ **Windows PowerShell**
124
+
125
+ ```powershell
126
+ .\.my-venv\Scripts\Activate.ps1
127
+ ```
128
+
129
+ **Git Bash**
130
+
131
+ ```bash
132
+ source .my-venv/Scripts/activate
133
+ ```
134
+
135
+ On **macOS / Linux** do:
136
+
137
+ ```bash
138
+ source .my-venv/bin/activate
139
+ ```
140
+
141
+ ### 3. pip installation
142
+
143
+ Install Skeleton from PyPI:
144
+
145
+ ```bash
146
+ python -m pip install skeleton-framework
147
+ ```
148
+
149
+ The installed Python distribution provides the `skeleton` command.
150
+
151
+ ## Quickstart
152
+
153
+ Create or enter an empty directory for your application:
154
+
155
+ ```bash
156
+ mkdir my-app
157
+ cd my-app
158
+ ```
159
+
160
+ Use the `quickstart` operation to configure & initialize
161
+ a client project & install its dependencies, for example:
162
+
163
+ ```bash
164
+ skeleton --quickstart --profile solid
165
+ ```
166
+
167
+ The frontend profile is optional.
168
+
169
+ If omitted, Skeleton uses the default Vanilla TypeScript profile:
170
+
171
+ ```bash
172
+ skeleton --quickstart
173
+ ```
174
+
175
+ To run the application:
176
+
177
+ ```bash
178
+ skeleton --start
179
+ ```
180
+
181
+ Follow the terminal output for service startup information
182
+ and open the application at the configured local address.
183
+
184
+ ## Workflow
185
+
186
+ The [`--quickstart`](#quickstart) command combines `--config`, `--init` & `--install`.
187
+
188
+ For more control, skeleton exposes each command separately for better workflow.
189
+
190
+ ### 1. Configure
191
+
192
+ ```bash
193
+ skeleton --config --profile <profile>
194
+ ```
195
+
196
+ Generates the project configuration files using the selected frontend profile.
197
+
198
+ Review and customize the configuration before continuing, if necessary.
199
+
200
+ ### 2. Initialize
201
+
202
+ ```bash
203
+ skeleton --init
204
+ ```
205
+
206
+ Creates the application structure
207
+ from the framework's boilerplate
208
+ & prepares the frontend & backend components.
209
+
210
+ ### 3. Install
211
+
212
+ ```bash
213
+ skeleton --install
214
+ ```
215
+
216
+ Installs frontend dependencies using npm
217
+ & backend Python dependencies into
218
+ the backend virtual environment.
219
+
220
+ ### 4. Start
221
+
222
+ ```bash
223
+ skeleton --start
224
+ ```
225
+
226
+ Starts the configured application services.
227
+
228
+ ## Command-Line Interface
229
+
230
+ ### Help
231
+
232
+ Display available commands:
233
+
234
+ ```bash
235
+ skeleton --help
236
+ ```
237
+
238
+ Display help for a specific command:
239
+
240
+ ```bash
241
+ skeleton --help --<command>
242
+ ```
243
+
244
+ ### Project inspection
245
+
246
+ Inspect the project directory structure:
247
+
248
+ ```bash
249
+ skeleton --tree
250
+ ```
251
+
252
+ Control the displayed depth:
253
+
254
+ ```bash
255
+ skeleton --tree --depth 5
256
+ ```
257
+
258
+ Inspect Skeleton documentation:
259
+
260
+ ```bash
261
+ skeleton --readme
262
+ ```
263
+
264
+ Display a specific documentation section:
265
+
266
+ ```bash
267
+ skeleton --readme --section architecture
268
+ ```
269
+
270
+ Write documentation to a file/output:
271
+
272
+ ```bash
273
+ skeleton --readme --write README.md
274
+ ```
275
+
276
+ Or write a documentation section to a file/output:
277
+ ```bash
278
+ skeleton --readme --section architecture --write ARCHITECTURE.md
279
+ ```
280
+
281
+ ### Common Flags
282
+
283
+ Most commands support additional execution flags:
284
+
285
+ | Flag | Purpose |
286
+ |-------------|-------------------------------------------------|
287
+ | `--dry` | Previews an operation without applying changes. |
288
+ | `--verbose` | Displays additional execution information. |
289
+
290
+ Flags are command-specific. Use `--help` to inspect their availability.
291
+
292
+ ### Lifecycle Commands
293
+
294
+ Manage generated project distributions and build artifacts:
295
+
296
+ | Command | Purpose |
297
+ |--------------------|---------------------------------------------|
298
+ | `skeleton --dist` | Builds the client distribution. |
299
+ | `skeleton --purge` | Removes generated build artifacts. |
300
+
301
+ `--purge` is destructive & will remove all build artifacts
302
+ as listed in `config/skeleton-project.json`, including `node_modules`.
303
+
304
+ ## Project Structure
305
+
306
+ A client project consists of three main directories:
307
+
308
+ - `config/` - project and service configuration files.
309
+ - `backend/` - Python application and API.
310
+ - `frontend/` - TypeScript application and static assets.
311
+
312
+ The project root also contains its `README.md` and `.gitignore` files.
313
+
314
+ Dependency installation creates a backend `.venv/` and frontend `node_modules/` directory.
315
+
316
+ The exact structure depends on the selected frontend profile and project configuration.
317
+
318
+ Optional VS Code settings are generated in `.vscode/`.
319
+
320
+ To generate the optional `.vscode` settings for mypy support, run:
321
+
322
+ ```bash
323
+ skeleton --vscode --feature mypy
324
+ ```
325
+
326
+ To generate the optional `.vscode` settings for markdown support, run:
327
+
328
+ ```bash
329
+ skeleton --vscode --feature markdown
330
+ ```
331
+
332
+ ## Framework Development
333
+
334
+ ### Installation & Setup
335
+
336
+ Clone the repository and enter its directory:
337
+
338
+ ```bash
339
+ git clone https://github.com/lambdadotjoburg/skeleton.git
340
+ cd skeleton
341
+ ```
342
+
343
+ Follow the [Installation](#installation) instructions
344
+ to create and activate a virtual environment.
345
+
346
+ Install the framework in editable mode with development dependencies:
347
+
348
+ ```bash
349
+ python -m pip install --upgrade pip
350
+ python -m pip install -e ".[dev]"
351
+ ```
352
+
353
+ Editable installation allows framework source
354
+ changes to take effect without reinstalling the package.
355
+
356
+ ### Development Commands
357
+
358
+ Framework development commands are run from the repository root using `python run.py`.
359
+
360
+ | Command | Purpose |
361
+ |-------------------------|-----------------------------------------|
362
+ | `python run.py --dist` | Builds the framework distribution. |
363
+ | `python run.py --demo` | Creates a demo project & installs dist. |
364
+ | `python run.py --purge` | Removes framework build artifacts. |
365
+
366
+ To specify a demo project location:
367
+
368
+ ```bash
369
+ python run.py --demo --target path/to/demo/project
370
+ ```
371
+
372
+ The demo operation creates the project directory,
373
+ including its `.venv` environment, and installs
374
+ the framework dist into that environment.
375
+
376
+ ## Versioning
377
+
378
+ Use `--bump` to update the project version using semantic versioning.
379
+
380
+ The `--major`, `--minor`, and `--patch` options accept an optional integer.
381
+
382
+ If omitted, the selected component increments by one.
383
+
384
+ ```bash
385
+ skeleton --bump --major
386
+ skeleton --bump --minor 4
387
+ skeleton --bump --patch 2
388
+ ```
389
+
390
+ Version components follow these rules:
391
+
392
+ - **Major:** Updates the major component, resets minor & patch to zero.
393
+ - **Minor:** Updates the minor component, resets patch to zero.
394
+ - **Patch:** Updates only the patch component.
395
+
396
+ Negative values decrement the selected component,
397
+ provided the result remains positive.
398
+
399
+ Otherwise, that component is set to zero.
400
+ Version components never become negative.
401
+
402
+ For example:
403
+
404
+ ```bash
405
+ skeleton --bump --patch -2
406
+ ```
407
+
408
+ Decrements the patch component by two,
409
+ or sets it to zero if the result would be zero or negative.
410
+
411
+ Use `--dry` to preview the proposed version without modifying `pyproject.toml`:
412
+
413
+ ```bash
414
+ skeleton --bump --patch --dry
415
+ ```
416
+
417
+ Add `--verbose` for additional execution information:
418
+
419
+ ```bash
420
+ skeleton --bump --patch --dry --verbose
421
+ ```
422
+
423
+ The operation updates the relevant files:
424
+ - the framework's `pyproject.toml` in framework development mode
425
+ - the backend's `pyproject.toml` + `package.json` in a client project.
426
+
427
+ ## Publish
428
+
429
+ Install or update Twine & validate the generated artifacts:
430
+
431
+ ```bash
432
+ python -m pip install --upgrade twine
433
+ python -m twine check dist/*
434
+ ```
435
+
436
+ Upload the distribution to TestPyPI first:
437
+
438
+ ```bash
439
+ python -m twine upload --repository testpypi dist/*
440
+ ```
441
+
442
+ After verifying the TestPyPI installation, upload the **same artifacts** to PyPI:
443
+
444
+ ```bash
445
+ python -m twine upload dist/*
446
+ ```
447
+
448
+ Use the appropriate API token when prompted. TestPyPI and PyPI require separate credentials.
449
+
450
+ Never commit API tokens or other publishing credentials to the repository.
451
+
452
+ Do not rebuild or modify the distribution between the TestPyPI and PyPI uploads.
453
+
454
+ ## Project Status
455
+
456
+ Skeleton is an experimental framework under active development.
457
+
458
+ Its goal is to provide a clear, reproducible foundation for full-stack
459
+ application development while keeping configuration, orchestration,
460
+ frontend tooling, and backend services independently manageable.
461
+
462
+ ## TODO
463
+
464
+ ### 1. Operational Improvements
465
+
466
+ - [ ] Explore combining `--dist` and `--preview` into a single operation.
467
+
468
+ ### 2. Gateway Server updates
469
+
470
+ - [ ] Implement WebSocket support in the reverse-proxy gateway.
471
+
472
+ ### 3. Release Validation
473
+
474
+ - [ ] Build and install the framework distribution in a demo project.
475
+ - [ ] Test the installed distribution using the standard client workflow.
476
+ - [ ] Perform integration testing before publishing releases through Hatch/Twine.
477
+
478
+ ## Licence
479
+
480
+ Skeleton Framework is proprietary software. Copyright © 2026 lambdadotjoburg.
481
+ All rights reserved.
482
+
483
+ The source code is publicly available for inspection, but public availability
484
+ does not grant unrestricted rights to use, modify, or redistribute the framework.
485
+
486
+ Personal learning, educational activities, and non-commercial experimentation
487
+ are permitted under the terms of the root [LICENSE](./LICENSE) file.
488
+
489
+ Commercial use requires a separate paid licence from the copyright holder.
490
+ Redistribution requires prior written permission.
491
+
492
+ Third-party dependencies remain subject to their respective licences.
493
+
494
+ For commercial licensing, redistribution requests, or other permissions,
495
+ contact [lambdadotjoburg@gmail.com](mailto:lambdadotjoburg@gmail.com).
496
+
497
+ See the [LICENSE](./LICENSE) file for the complete terms.