ntc-dev-kit 1.4.0__tar.gz → 1.4.1__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 (231) hide show
  1. {ntc_dev_kit-1.4.0/ntc_dev_kit.egg-info → ntc_dev_kit-1.4.1}/PKG-INFO +1 -1
  2. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/__init__.py +1 -1
  3. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/adopt.py +11 -1
  4. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/config.py +7 -2
  5. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1/ntc_dev_kit.egg-info}/PKG-INFO +1 -1
  6. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc_dev_kit.egg-info/SOURCES.txt +1 -0
  7. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/pyproject.toml +1 -1
  8. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/setup.py +1 -1
  9. ntc_dev_kit-1.4.1/tests/test_adopt_names.py +31 -0
  10. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/LICENSE +0 -0
  11. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/MANIFEST.in +0 -0
  12. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/README.md +0 -0
  13. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/app_creator.py +0 -0
  14. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/cli.py +0 -0
  15. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/cli_enhanced.py +0 -0
  16. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/composer/__init__.py +0 -0
  17. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/composer/main.py +0 -0
  18. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/deployment/__init__.py +0 -0
  19. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/main.py +0 -0
  20. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/__init__.py +0 -0
  21. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/__init__.py +0 -0
  22. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/admin.py +0 -0
  23. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/apps.py +0 -0
  24. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/migrations/0001_initial.py +0 -0
  25. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/models.py +0 -0
  26. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/serializers.py +0 -0
  27. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/tasks.py +0 -0
  28. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/templates/authentication/password_reset.html +0 -0
  29. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/templates/authentication/password_reset.txt +0 -0
  30. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/tests.py +0 -0
  31. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/urls.py +0 -0
  32. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/auth_app/views.py +0 -0
  33. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/__init__.py +0 -0
  34. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/drf_structure.md +0 -0
  35. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/main.py +0 -0
  36. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/structure.json +0 -0
  37. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/.entry/start_core_backend.sh +0 -0
  38. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/.entry/start_tasks_backend.sh +0 -0
  39. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/CLAUDE.md +0 -0
  40. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/README.md +0 -0
  41. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/app_admin.py +0 -0
  42. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/app_apps.py +0 -0
  43. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/app_models.py +0 -0
  44. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/app_urls.py +0 -0
  45. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/app_views.py +0 -0
  46. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/common_apps.py +0 -0
  47. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/common_checks.py +0 -0
  48. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/apps/common_models.py +0 -0
  49. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/ci/github_ci.yml +0 -0
  50. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/ci/pre_commit.yaml +0 -0
  51. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/config/gunicorn_config.py +0 -0
  52. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/config/http.conf +0 -0
  53. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/exceptions/handler.py +0 -0
  54. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/formatter.py +0 -0
  55. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/health.py +0 -0
  56. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/logger.py +0 -0
  57. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/pagination.py +0 -0
  58. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/renderers.py +0 -0
  59. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/response_wrapper.py +0 -0
  60. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/schema.py +0 -0
  61. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/services/azure/email/backend.py +0 -0
  62. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/services/azure/email/client.py +0 -0
  63. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/services/azure/email/notifier.py +0 -0
  64. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/services/object_storage.py +0 -0
  65. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/tests.py +0 -0
  66. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/core/utils/request.py +0 -0
  67. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/asgi.py +0 -0
  68. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/celery.py +0 -0
  69. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/dev_settings.py +0 -0
  70. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/django_settings.txt +0 -0
  71. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/prod_settings.py +0 -0
  72. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/project_init.py +0 -0
  73. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/schema.py +0 -0
  74. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/test_settings.py +0 -0
  75. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/urls.py +0 -0
  76. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/django_project/wsgi.py +0 -0
  77. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/docker/Dockerfile +0 -0
  78. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/docker/captain-definition +0 -0
  79. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/docker/docker-compose.yml +0 -0
  80. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/knowledge/knowledge_description.md +0 -0
  81. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/knowledge/knowledge_design_pattern.md +0 -0
  82. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/knowledge/knowledge_structure.md +0 -0
  83. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/README.md +0 -0
  84. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/django_env.txt +0 -0
  85. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/django_requirements.txt +0 -0
  86. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/django_requirements_dev.txt +0 -0
  87. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/dockerignore.txt +0 -0
  88. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/gitattributes.txt +0 -0
  89. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/gitignore.txt +0 -0
  90. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/manage.py +0 -0
  91. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/pytest_ini.txt +0 -0
  92. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/drf_structure/templates/root/ruff_toml.txt +0 -0
  93. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/.gitignore +0 -0
  94. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/.knowledge/knowledge_description.md +0 -0
  95. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/.knowledge/knowledge_design_pattern.md +0 -0
  96. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/.knowledge/knowledge_structure.md +0 -0
  97. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/CLAUDE.md +0 -0
  98. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/__init__.py +0 -0
  99. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/analysis_options.yaml +0 -0
  100. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/core/config/app_config.dart +0 -0
  101. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/core/config/environment.dart +0 -0
  102. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/core/constants/app_constants.dart +0 -0
  103. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/core/network/dio_client.dart +0 -0
  104. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/features/home/presentation/home_screen.dart +0 -0
  105. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/l10n/app_localizations.dart +0 -0
  106. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/main.dart +0 -0
  107. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/services/api_service.dart +0 -0
  108. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/shared/localization/locale_provider.dart +0 -0
  109. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/shared/theme/app_theme.dart +0 -0
  110. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/lib/shared/theme/theme_provider.dart +0 -0
  111. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/main.py +0 -0
  112. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/pubspec.yaml +0 -0
  113. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/flutter/structure.json +0 -0
  114. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/.env.example +0 -0
  115. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/.gitignore +0 -0
  116. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/CLAUDE.md +0 -0
  117. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/README.md +0 -0
  118. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/__init__.py +0 -0
  119. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/eslint.config.mjs +0 -0
  120. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/knowledge/knowledge_description.md +0 -0
  121. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/knowledge/knowledge_design_pattern.md +0 -0
  122. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/knowledge/knowledge_structure.md +0 -0
  123. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/main.py +0 -0
  124. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/next.config.js +0 -0
  125. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/package.json +0 -0
  126. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/public/logo.svg +0 -0
  127. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/about/page.tsx +0 -0
  128. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/contact/page.tsx +0 -0
  129. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/error.tsx +0 -0
  130. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/globals.css +0 -0
  131. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/icon.svg +0 -0
  132. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/layout.tsx +0 -0
  133. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/loading.tsx +0 -0
  134. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/manifest.ts +0 -0
  135. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/not-found.tsx +0 -0
  136. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/opengraph-image.tsx +0 -0
  137. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/page.tsx +0 -0
  138. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/robots.ts +0 -0
  139. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/app/sitemap.ts +0 -0
  140. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/components/Footer.tsx +0 -0
  141. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/components/Header.tsx +0 -0
  142. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/services/api.ts +0 -0
  143. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/services/server.ts +0 -0
  144. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/src/utils/constants.ts +0 -0
  145. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/structure.json +0 -0
  146. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/nextjs/tsconfig.json +0 -0
  147. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/.env.example +0 -0
  148. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/.gitignore +0 -0
  149. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/CLAUDE.md +0 -0
  150. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/README.md +0 -0
  151. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/__init__.py +0 -0
  152. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/eslint.config.js +0 -0
  153. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/index.html +0 -0
  154. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/knowledge/knowledge_description.md +0 -0
  155. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/knowledge/knowledge_design_pattern.md +0 -0
  156. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/knowledge/knowledge_structure.md +0 -0
  157. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/main.py +0 -0
  158. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/package.json +0 -0
  159. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/public/favicon.svg +0 -0
  160. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/App.tsx +0 -0
  161. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/components/ProtectedRoute.tsx +0 -0
  162. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/components/Sidebar.tsx +0 -0
  163. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/components/TopNav.tsx +0 -0
  164. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/context/AuthContext.tsx +0 -0
  165. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/context/ThemeContext.tsx +0 -0
  166. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/context/WorkspaceContext.tsx +0 -0
  167. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/hooks/useApi.ts +0 -0
  168. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/index.css +0 -0
  169. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/layouts/AuthLayout.tsx +0 -0
  170. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/layouts/DashboardLayout.tsx +0 -0
  171. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/main.tsx +0 -0
  172. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/pages/DashboardPage.tsx +0 -0
  173. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/pages/auth/LoginPage.tsx +0 -0
  174. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/services/api.service.ts +0 -0
  175. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/services/base.service.ts +0 -0
  176. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/services/token.ts +0 -0
  177. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/src/vite-env.d.ts +0 -0
  178. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/structure.json +0 -0
  179. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/tsconfig.app.json +0 -0
  180. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/tsconfig.json +0 -0
  181. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/tsconfig.node.json +0 -0
  182. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_admin/vite.config.ts +0 -0
  183. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/App.css +0 -0
  184. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/CLAUDE.md +0 -0
  185. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/__init__.py +0 -0
  186. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/index.css +0 -0
  187. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/index.html +0 -0
  188. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/knowledge/knowledge_description.md +0 -0
  189. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/knowledge/knowledge_design_pattern.md +0 -0
  190. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/knowledge/knowledge_structure.md +0 -0
  191. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/main.py +0 -0
  192. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/package.json +0 -0
  193. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/public/favicon.svg +0 -0
  194. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/App.tsx +0 -0
  195. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/components/Header.tsx +0 -0
  196. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/main.tsx +0 -0
  197. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/services/api.ts +0 -0
  198. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/utils/constants.ts +0 -0
  199. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/src/vite-env.d.ts +0 -0
  200. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/structure.json +0 -0
  201. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/tsconfig.app.json +0 -0
  202. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/tsconfig.json +0 -0
  203. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/tsconfig.node.json +0 -0
  204. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/templates/react_structure/vite.config.ts +0 -0
  205. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/ui/__init__.py +0 -0
  206. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/ui/app.py +0 -0
  207. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/__init__.py +0 -0
  208. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/environment.py +0 -0
  209. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/output.py +0 -0
  210. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/prompts.py +0 -0
  211. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/shell.py +0 -0
  212. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/utils/validation.py +0 -0
  213. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/wizard.py +0 -0
  214. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/__init__.py +0 -0
  215. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/clean.py +0 -0
  216. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/console_window.py +0 -0
  217. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/create.py +0 -0
  218. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/origins.py +0 -0
  219. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/processes.py +0 -0
  220. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/screen.py +0 -0
  221. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/setup.py +0 -0
  222. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc/workspace/start.py +0 -0
  223. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc_dev_kit.egg-info/dependency_links.txt +0 -0
  224. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc_dev_kit.egg-info/entry_points.txt +0 -0
  225. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc_dev_kit.egg-info/requires.txt +0 -0
  226. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/ntc_dev_kit.egg-info/top_level.txt +0 -0
  227. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/requirements.txt +0 -0
  228. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/setup.cfg +0 -0
  229. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/tests/test_adopt.py +0 -0
  230. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/tests/test_templates.py +0 -0
  231. {ntc_dev_kit-1.4.0 → ntc_dev_kit-1.4.1}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ntc-dev-kit
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Nexent Toolkit Console - A CLI tool for scaffolding Django REST Framework, React, Next.js, and Flutter projects
5
5
  Home-page: https://github.com/nexent/ntc
6
6
  Author: Nexent
@@ -1,5 +1,5 @@
1
1
  """NTC - Nexent Toolkit Console."""
2
2
 
3
- __version__ = "1.4.0"
3
+ __version__ = "1.4.1"
4
4
  __author__ = "Nexent"
5
5
  __license__ = "MIT"
@@ -181,7 +181,17 @@ def detect(root):
181
181
 
182
182
 
183
183
  def _short_names(apps):
184
- """longuo-backend, longuo-crm ... -> backend, crm: the shared prefix says nothing."""
184
+ """longuo-backend, longuo-crm ... -> backend, crm: the shared prefix says nothing. Folders named
185
+ like domains (backend.fabstech.co.tz, fabstech.co.tz) go by their first label: backend, fabstech."""
186
+ folders = [a for a in apps if a.folder != "."]
187
+ if any("." in a.folder for a in folders):
188
+ labels = [a.folder.split(".")[0] or a.folder for a in folders]
189
+ if all(labels) and len(set(labels)) == len(labels):
190
+ for app, label in zip(folders, labels):
191
+ app.name = label
192
+ for app in folders: # a name stays a plain TOML key, and {<app>.port} stays readable
193
+ app.name = re.sub(r"[^A-Za-z0-9_-]+", "-", app.name).strip("-") or "app"
194
+ return
185
195
  names = [a.folder for a in apps if a.folder != "."]
186
196
  if len(names) < 2:
187
197
  return
@@ -325,9 +325,14 @@ def _value(value):
325
325
  return json.dumps(str(value), ensure_ascii=False)
326
326
 
327
327
 
328
+ def _key(name):
329
+ """A TOML key: bare when it can be, quoted otherwise ([apps.a.b] would nest a table b in a)."""
330
+ return name if re.fullmatch(r"[A-Za-z0-9_-]+", name) else json.dumps(name, ensure_ascii=False)
331
+
332
+
328
333
  def app_section(name, app, comments=True):
329
334
  """The [apps.<name>] section text for an app dict (kind, path, port, ... env)."""
330
- lines = [f"[apps.{name}]"]
335
+ lines = [f"[apps.{_key(name)}]"]
331
336
  notes = {
332
337
  "python": " # its Python environment (created by `ntc setup` when missing)",
333
338
  "needs": " # started first; this app waits until they answer",
@@ -346,7 +351,7 @@ def app_section(name, app, comments=True):
346
351
  lines.append('# repo = "git@github.com:you/' + name + '.git" # `ntc setup` clones it when the folder is missing')
347
352
  if app.get("env"):
348
353
  lines.append("")
349
- lines.append(f"[apps.{name}.env]" + (" # for this app's processes in `ntc start`" if comments else ""))
354
+ lines.append(f"[apps.{_key(name)}.env]" + (" # for this app's processes in `ntc start`" if comments else ""))
350
355
  for key, value in app["env"].items():
351
356
  lines.append(f"{key} = {_value(value)}")
352
357
  return "\n".join(lines) + "\n"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ntc-dev-kit
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Nexent Toolkit Console - A CLI tool for scaffolding Django REST Framework, React, Next.js, and Flutter projects
5
5
  Home-page: https://github.com/nexent/ntc
6
6
  Author: Nexent
@@ -224,5 +224,6 @@ ntc_dev_kit.egg-info/entry_points.txt
224
224
  ntc_dev_kit.egg-info/requires.txt
225
225
  ntc_dev_kit.egg-info/top_level.txt
226
226
  tests/test_adopt.py
227
+ tests/test_adopt_names.py
227
228
  tests/test_templates.py
228
229
  tests/test_workspace.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ntc-dev-kit"
7
- version = "1.4.0"
7
+ version = "1.4.1"
8
8
  description = "Nexent Toolkit Console - A CLI tool for scaffolding Django REST Framework, React, Next.js, and Flutter projects"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -50,7 +50,7 @@ class PostInstallCommand(install):
50
50
 
51
51
  setup(
52
52
  name="ntc-dev-kit",
53
- version="1.4.0",
53
+ version="1.4.1",
54
54
  description="Nexent Toolkit Console - CLI scaffolding tool for Django, React, Next.js, and Flutter",
55
55
  long_description=long_description,
56
56
  long_description_content_type="text/markdown",
@@ -0,0 +1,31 @@
1
+ """Folders named like domains: adopt's names and the ntc.toml it writes must round-trip."""
2
+ import os
3
+ import tomllib
4
+
5
+ from ntc.workspace import adopt, config
6
+
7
+
8
+ def _workspace(tmp_path):
9
+ (tmp_path / "backend.fabstech.co.tz").mkdir()
10
+ (tmp_path / "backend.fabstech.co.tz" / "manage.py").write_text("os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'fab.settings')\n")
11
+ for folder, deps in (("fabstech.co.tz", '"next": "16.0.0"'), ("office.fabstech.co.tz", '"vite": "8.0.0"')):
12
+ (tmp_path / folder).mkdir()
13
+ (tmp_path / folder / "package.json").write_text('{"scripts": {"dev": "x"}, "dependencies": {' + deps + '}}')
14
+ return tmp_path
15
+
16
+
17
+ def test_domain_folders_get_short_names_that_load_back(tmp_path):
18
+ root = _workspace(tmp_path)
19
+ apps, _ = adopt.detect(str(root))
20
+ assert sorted(a.name for a in apps) == ["backend", "fabstech", "office"]
21
+ adopt.run(str(root), assume_yes=True)
22
+ workspace = config.load(str(root))
23
+ assert sorted(workspace.apps) == ["backend", "fabstech", "office"]
24
+ assert os.path.basename(workspace.apps["backend"].path) == "backend.fabstech.co.tz"
25
+ assert workspace.apps["fabstech"].needs == ["backend"]
26
+
27
+
28
+ def test_names_that_are_not_bare_keys_are_quoted():
29
+ text = config.app_section("a.b", {"kind": "vite", "path": "a.b", "env": {"X": "1"}})
30
+ data = tomllib.loads(text)
31
+ assert data["apps"]["a.b"]["path"] == "a.b" and data["apps"]["a.b"]["env"] == {"X": "1"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes