ntc-dev-kit 1.0.2__tar.gz → 1.0.3__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.
- {ntc_dev_kit-1.0.2/ntc_dev_kit.egg-info → ntc_dev_kit-1.0.3}/PKG-INFO +1 -1
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/cli_enhanced.py +126 -1
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3/ntc_dev_kit.egg-info}/PKG-INFO +1 -1
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/pyproject.toml +1 -1
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/setup.py +1 -1
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/LICENSE +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/MANIFEST.in +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/README.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/app_creator.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/cli.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/composer/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/composer/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/deployment/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/admin.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/apps.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/models.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/serializers.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/urls.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/auth_app/views.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/drf_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/structure.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/.entry/start_core_backend.sh +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/.entry/start_tasks_backend.sh +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/CLAUDE.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/README.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_admin.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_apps.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_models.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_urls.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_views.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/common_apps.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/common_models.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/config/gunicorn_config.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/config/http.conf +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/base_model.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/formatter.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/logger.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/pagination.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/response_wrapper.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/services/azure/email/backend.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/services/azure/email/client.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/services/azure/email/notifier.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/services/object_storage.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/asgi.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/celery.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/dev_settings.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/django_settings.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/management_command.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/prod_settings.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/schema.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/urls.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/wsgi.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/docker/docker-compose.yml +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/knowledge/knowledge_description.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/knowledge/knowledge_design_pattern.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/knowledge/knowledge_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/README.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/django_env.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/django_requirements.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/gitignore.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/manage.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.gitignore +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_description.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_design_pattern.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/CLAUDE.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/analysis_options.yaml +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/pubspec.yaml +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/structure.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/.env.example +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/.gitignore +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/CLAUDE.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/README.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_description.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_design_pattern.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/package.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/app/globals.css +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/app/layout.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/app/page.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/components/Header.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/services/api.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/src/utils/constants.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/structure.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/tsconfig.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/.env.example +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/.gitignore +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/CLAUDE.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/README.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/index.html +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/knowledge/knowledge_description.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/knowledge/knowledge_design_pattern.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/knowledge/knowledge_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/package.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/App.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/components/ProtectedRoute.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/components/Sidebar.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/components/TopNav.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/AuthContext.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/ThemeContext.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/WorkspaceContext.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/hooks/useApi.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/index.css +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/layouts/AuthLayout.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/layouts/DashboardLayout.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/main.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/DashboardPage.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/auth/LoginPage.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/auth/RegisterPage.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/services/api.service.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/services/base.service.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/structure.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/tsconfig.app.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/tsconfig.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/tsconfig.node.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/vite.config.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/CLAUDE.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/index.css +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/index.html +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/knowledge/knowledge_description.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/knowledge/knowledge_design_pattern.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/knowledge/knowledge_structure.md +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/main.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/package.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/App.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/components/Header.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/main.tsx +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/services/api.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/utils/constants.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/structure.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/tsconfig.app.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/tsconfig.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/tsconfig.node.json +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/vite.config.ts +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/utils/__init__.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/utils/environment.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/utils/output.py +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc_dev_kit.egg-info/SOURCES.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc_dev_kit.egg-info/dependency_links.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc_dev_kit.egg-info/entry_points.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc_dev_kit.egg-info/requires.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc_dev_kit.egg-info/top_level.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/requirements.txt +0 -0
- {ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/setup.cfg +0 -0
|
@@ -699,6 +699,126 @@ def show_success_screen(project_name, project_type, technology, project_path):
|
|
|
699
699
|
print(f"\n{Fore.CYAN}Press any key to exit...{Style.RESET_ALL}")
|
|
700
700
|
get_key()
|
|
701
701
|
|
|
702
|
+
def run_doctor():
|
|
703
|
+
"""Check setup and fix common issues like PATH configuration."""
|
|
704
|
+
import shutil
|
|
705
|
+
import site
|
|
706
|
+
import subprocess
|
|
707
|
+
|
|
708
|
+
clear_screen()
|
|
709
|
+
print_banner()
|
|
710
|
+
print_menu_header("NTC DOCTOR", "Setup Diagnostics & Repair")
|
|
711
|
+
|
|
712
|
+
issues_found = 0
|
|
713
|
+
issues_fixed = 0
|
|
714
|
+
|
|
715
|
+
# 1. Check Python version
|
|
716
|
+
print(f"\n{Fore.CYAN}🔍 Checking Python...{Style.RESET_ALL}")
|
|
717
|
+
py_version = sys.version_info
|
|
718
|
+
if py_version >= (3, 10):
|
|
719
|
+
print_success(f"Python {py_version.major}.{py_version.minor}.{py_version.micro} (>= 3.10 required)")
|
|
720
|
+
else:
|
|
721
|
+
print_error(f"Python {py_version.major}.{py_version.minor} found. Python >= 3.10 required.")
|
|
722
|
+
issues_found += 1
|
|
723
|
+
|
|
724
|
+
# 2. Check dependencies
|
|
725
|
+
print(f"\n{Fore.CYAN}🔍 Checking dependencies...{Style.RESET_ALL}")
|
|
726
|
+
deps_ok = True
|
|
727
|
+
try:
|
|
728
|
+
import colorama
|
|
729
|
+
print_success("colorama installed")
|
|
730
|
+
except ImportError:
|
|
731
|
+
print_error("colorama not found")
|
|
732
|
+
deps_ok = False
|
|
733
|
+
|
|
734
|
+
try:
|
|
735
|
+
import yaml
|
|
736
|
+
print_success("pyyaml installed")
|
|
737
|
+
except ImportError:
|
|
738
|
+
print_error("pyyaml not found")
|
|
739
|
+
deps_ok = False
|
|
740
|
+
|
|
741
|
+
if not deps_ok:
|
|
742
|
+
issues_found += 1
|
|
743
|
+
print_info("Install missing dependencies: pip install colorama pyyaml")
|
|
744
|
+
|
|
745
|
+
# 3. Check if ntc command is accessible
|
|
746
|
+
print(f"\n{Fore.CYAN}🔍 Checking ntc command accessibility...{Style.RESET_ALL}")
|
|
747
|
+
ntc_in_path = shutil.which("ntc") is not None
|
|
748
|
+
if ntc_in_path:
|
|
749
|
+
print_success("'ntc' command found in PATH")
|
|
750
|
+
print_info(f" Location: {shutil.which('ntc')}")
|
|
751
|
+
else:
|
|
752
|
+
print_error("'ntc' command NOT found in PATH")
|
|
753
|
+
issues_found += 1
|
|
754
|
+
|
|
755
|
+
# 4. Check user Scripts directory
|
|
756
|
+
print(f"\n{Fore.CYAN}🔍 Checking user Scripts directory...{Style.RESET_ALL}")
|
|
757
|
+
scripts_dir = os.path.join(site.USER_BASE, "Scripts")
|
|
758
|
+
if os.path.exists(scripts_dir):
|
|
759
|
+
print_success(f"Scripts directory exists: {scripts_dir}")
|
|
760
|
+
else:
|
|
761
|
+
print_warning(f"Scripts directory missing: {scripts_dir}")
|
|
762
|
+
print_info("Creating Scripts directory...")
|
|
763
|
+
os.makedirs(scripts_dir, exist_ok=True)
|
|
764
|
+
print_success("Scripts directory created")
|
|
765
|
+
issues_fixed += 1
|
|
766
|
+
|
|
767
|
+
# 5. Check PATH on Windows
|
|
768
|
+
if os.name == "nt":
|
|
769
|
+
print(f"\n{Fore.CYAN}🔍 Checking Windows PATH...{Style.RESET_ALL}")
|
|
770
|
+
current_path = os.environ.get("PATH", "")
|
|
771
|
+
if scripts_dir.lower() in current_path.lower():
|
|
772
|
+
print_success("User Scripts directory is in current PATH")
|
|
773
|
+
else:
|
|
774
|
+
print_warning("User Scripts directory is NOT in current PATH")
|
|
775
|
+
print_info("Attempting to add to user PATH registry...")
|
|
776
|
+
try:
|
|
777
|
+
import winreg
|
|
778
|
+
with winreg.OpenKey(
|
|
779
|
+
winreg.HKEY_CURRENT_USER,
|
|
780
|
+
"Environment",
|
|
781
|
+
0,
|
|
782
|
+
winreg.KEY_READ | winreg.KEY_WRITE,
|
|
783
|
+
) as key:
|
|
784
|
+
existing, _ = winreg.QueryValueEx(key, "PATH")
|
|
785
|
+
if scripts_dir.lower() not in existing.lower():
|
|
786
|
+
new_path = f"{existing};{scripts_dir}"
|
|
787
|
+
winreg.SetValueEx(key, "PATH", 0, winreg.REG_EXPAND_SZ, new_path)
|
|
788
|
+
os.environ["PATH"] = new_path
|
|
789
|
+
print_success(f"Added {scripts_dir} to user PATH")
|
|
790
|
+
issues_fixed += 1
|
|
791
|
+
else:
|
|
792
|
+
print_success("Already in registry PATH (restart terminal needed)")
|
|
793
|
+
except Exception as e:
|
|
794
|
+
print_error(f"Failed to modify PATH: {e}")
|
|
795
|
+
print_info(f"Manually add this to your PATH: {scripts_dir}")
|
|
796
|
+
issues_found += 1
|
|
797
|
+
|
|
798
|
+
# 6. Check ntc package installation
|
|
799
|
+
print(f"\n{Fore.CYAN}🔍 Checking ntc-dev-kit installation...{Style.RESET_ALL}")
|
|
800
|
+
try:
|
|
801
|
+
import ntc
|
|
802
|
+
print_success(f"ntc-dev-kit version {ntc.__version__} installed")
|
|
803
|
+
except (ImportError, AttributeError):
|
|
804
|
+
print_error("ntc-dev-kit not properly installed")
|
|
805
|
+
issues_found += 1
|
|
806
|
+
|
|
807
|
+
# Summary
|
|
808
|
+
print(f"\n{Fore.CYAN}{'═' * 70}{Style.RESET_ALL}")
|
|
809
|
+
if issues_found == 0 and issues_fixed == 0:
|
|
810
|
+
print(f"{Fore.GREEN}🎉 All checks passed! NTC is ready to use.{Style.RESET_ALL}")
|
|
811
|
+
elif issues_fixed > 0:
|
|
812
|
+
print(f"{Fore.GREEN}✅ Fixed {issues_fixed} issue(s).{Style.RESET_ALL}")
|
|
813
|
+
if issues_found > 0:
|
|
814
|
+
print(f"{Fore.YELLOW}⚠️ {issues_found} issue(s) still require manual attention.{Style.RESET_ALL}")
|
|
815
|
+
print(f"{Fore.CYAN}🔄 Please restart your terminal for PATH changes to take effect.{Style.RESET_ALL}")
|
|
816
|
+
else:
|
|
817
|
+
print(f"{Fore.RED}❌ {issues_found} issue(s) found.{Style.RESET_ALL}")
|
|
818
|
+
print(f"{Fore.YELLOW}💡 Run 'ntc doctor' again after fixing the issues above.{Style.RESET_ALL}")
|
|
819
|
+
print(f"{Fore.CYAN}{'═' * 70}{Style.RESET_ALL}\n")
|
|
820
|
+
|
|
821
|
+
|
|
702
822
|
def main():
|
|
703
823
|
parser = argparse.ArgumentParser(
|
|
704
824
|
description="NTC - Nexent Toolkit Console",
|
|
@@ -755,7 +875,10 @@ Examples:
|
|
|
755
875
|
# Start services command
|
|
756
876
|
start_parser = subparsers.add_parser("start", help="Start all services defined in ntc.yml")
|
|
757
877
|
start_parser.add_argument("--path", help="Path to project root directory (default: current directory)")
|
|
758
|
-
|
|
878
|
+
|
|
879
|
+
# Doctor command for setup diagnostics
|
|
880
|
+
doctor_parser = subparsers.add_parser("doctor", help="Check setup and fix common issues")
|
|
881
|
+
|
|
759
882
|
args = parser.parse_args()
|
|
760
883
|
|
|
761
884
|
if args.command == "init":
|
|
@@ -803,6 +926,8 @@ Examples:
|
|
|
803
926
|
start_services(args.path)
|
|
804
927
|
else:
|
|
805
928
|
start_services()
|
|
929
|
+
elif args.command == "doctor":
|
|
930
|
+
run_doctor()
|
|
806
931
|
else:
|
|
807
932
|
# Show help if no command provided
|
|
808
933
|
print_banner()
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ntc-dev-kit"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.3"
|
|
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.0.
|
|
53
|
+
version="1.0.3",
|
|
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",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_admin.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_apps.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_models.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_urls.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/app_views.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/common_apps.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/apps/common_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/config/http.conf
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/base_model.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/formatter.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/logger.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/core/pagination.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/asgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/urls.py
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/django_project/wsgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/README.md
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/django_env.txt
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/gitignore.txt
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/drf_structure/templates/root/manage.py
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_description.md
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_design_pattern.md
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/flutter/.knowledge/knowledge_structure.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_description.md
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_design_pattern.md
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/nextjs/knowledge/knowledge_structure.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/knowledge/knowledge_description.md
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/knowledge/knowledge_structure.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/components/ProtectedRoute.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/components/Sidebar.tsx
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/AuthContext.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/ThemeContext.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/context/WorkspaceContext.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/layouts/AuthLayout.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/layouts/DashboardLayout.tsx
RENAMED
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/DashboardPage.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/auth/LoginPage.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/pages/auth/RegisterPage.tsx
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/services/api.service.ts
RENAMED
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_admin/src/services/base.service.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/components/Header.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ntc_dev_kit-1.0.2 → ntc_dev_kit-1.0.3}/ntc/templates/react_structure/src/utils/constants.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|