diff --git a/.devcontainer/additions/install-dev-php-laravel.sh b/.devcontainer/additions/install-dev-php-laravel.sh index 4c14e8d..74a3503 100755 --- a/.devcontainer/additions/install-dev-php-laravel.sh +++ b/.devcontainer/additions/install-dev-php-laravel.sh @@ -47,7 +47,7 @@ PACKAGES_PYTHON=() PACKAGES_PWSH=() # VS Code extensions (PHP/Laravel-specific only) -# Note: For database management and API testing, install: install-tool-dev-utils.sh +# Note: For database management and API testing, install: install-tool-sql-rest.sh EXTENSIONS=( "PHP Intelephense (bmewburn.vscode-intelephense-client) - Advanced PHP language support with IntelliSense" "PHP Debug (xdebug.php-debug) - Debug PHP applications using Xdebug" @@ -315,7 +315,7 @@ post_installation_message() { echo " - Use port 8000 in browser (Vite runs in background)" echo echo "Optional: Install database and API testing tools:" - echo " .devcontainer/additions/install-tool-dev-utils.sh" + echo " .devcontainer/additions/install-tool-sql-rest.sh" echo " (Installs SQLTools for databases and REST Client for API testing)" echo echo "Docs: https://laravel.com/docs/12.x" diff --git a/.devcontainer/additions/install-tool-kubernetes.sh b/.devcontainer/additions/install-tool-kubernetes.sh index f0ccebc..31af328 100755 --- a/.devcontainer/additions/install-tool-kubernetes.sh +++ b/.devcontainer/additions/install-tool-kubernetes.sh @@ -22,7 +22,7 @@ SCRIPT_ABSTRACT="Kubernetes development tools with kubectl, k9s terminal UI, and SCRIPT_LOGO="tool-kubernetes-logo.webp" SCRIPT_WEBSITE="https://kubernetes.io" SCRIPT_SUMMARY="Kubernetes development toolkit including kubectl CLI for cluster management, k9s terminal UI for interactive cluster exploration, Helm for package management, and VS Code Kubernetes extension. Sets up .devcontainer.secrets for secure kubeconfig storage." -SCRIPT_RELATED="tool-iac tool-azure-dev tool-dev-utils" +SCRIPT_RELATED="tool-iac tool-azure-dev tool-sql-rest" # Commands for dev-setup.sh menu integration SCRIPT_COMMANDS=( diff --git a/.devcontainer/additions/install-tool-dev-utils.sh b/.devcontainer/additions/install-tool-sql-rest.sh similarity index 70% rename from .devcontainer/additions/install-tool-dev-utils.sh rename to .devcontainer/additions/install-tool-sql-rest.sh index e776268..c599266 100755 --- a/.devcontainer/additions/install-tool-dev-utils.sh +++ b/.devcontainer/additions/install-tool-sql-rest.sh @@ -1,46 +1,44 @@ #!/bin/bash -# file: .devcontainer/additions/install-tool-dev-utils.sh +# file: .devcontainer/additions/install-tool-sql-rest.sh # -# Installs general development utilities useful across multiple programming languages. -# These tools are language-agnostic and can be used with PHP, Python, Node.js, Java, C#, etc. -# For usage information, run: ./install-tool-dev-utils.sh --help +# Installs SQL database management (SQLTools) and REST API testing (REST Client) +# VS Code extensions. Language-agnostic tools useful for any backend project. +# For usage information, run: ./install-tool-sql-rest.sh --help # #------------------------------------------------------------------------------ # CONFIGURATION - Modify this section for each new script #------------------------------------------------------------------------------ # --- Script Metadata --- -SCRIPT_ID="tool-dev-utils" +SCRIPT_ID="tool-sql-rest" SCRIPT_VER="0.0.1" -SCRIPT_NAME="Development Utilities" -SCRIPT_DESCRIPTION="Database management (SQLTools), API testing (REST Client), and container management (Docker) for multi-language development" +SCRIPT_NAME="SQL & REST Tools" +SCRIPT_DESCRIPTION="Database management (Database Client) and REST API testing (REST Client) for multi-language development" SCRIPT_CATEGORY="INFRA_CONFIG" -# NOTE: We check only the primary extension (SQLTools) instead of all extensions +# NOTE: We check only the primary extension (Database Client) instead of all extensions # to avoid tight coupling between SCRIPT_CHECK_COMMAND and the EXTENSIONS array. # This makes the script more maintainable - if someone adds/removes extensions, # they don't need to update this check. The extension installer is idempotent anyway. -SCRIPT_CHECK_COMMAND="code --list-extensions 2>/dev/null | grep -q 'mtxr.sqltools'" +SCRIPT_CHECK_COMMAND="code --list-extensions 2>/dev/null | grep -q 'cweijan.vscode-database-client2'" # --- Extended Metadata (for website documentation) --- -SCRIPT_TAGS="database sql docker containers rest http utilities" -SCRIPT_ABSTRACT="Development utilities for database management, API testing, and Docker container management." -SCRIPT_LOGO="tool-dev-utils-logo.webp" -SCRIPT_WEBSITE="https://vscode-sqltools.mteixeira.dev" -SCRIPT_SUMMARY="Language-agnostic development utilities including SQLTools for database management (MySQL, PostgreSQL, SQLite, MSSQL, MongoDB), REST Client for HTTP API testing, and Docker extension for container, image, and volume management." +SCRIPT_TAGS="database sql rest http api mongodb redis" +SCRIPT_ABSTRACT="SQL/NoSQL database management and REST API testing tools for VS Code." +SCRIPT_LOGO="tool-sql-rest-logo.webp" +SCRIPT_WEBSITE="https://database-client.com" +SCRIPT_SUMMARY="Language-agnostic VS Code extensions: Database Client by cweijan for database management (MySQL, PostgreSQL, SQLite, MSSQL, MongoDB, Redis, ClickHouse, ElasticSearch — all drivers bundled, no separate driver install) and REST Client for HTTP API testing. Docker CLI is provided by the devcontainer feature — no separate install needed." SCRIPT_RELATED="tool-api-dev tool-kubernetes" # Commands for dev-setup.sh menu integration SCRIPT_COMMANDS=( - "Action||Install development utilities||false|" - "Action|--uninstall|Uninstall development utilities||false|" + "Action||Install SQL & REST tools||false|" + "Action|--uninstall|Uninstall SQL & REST tools||false|" "Info|--help|Show help and usage information||false|" ) -# System packages -PACKAGES_SYSTEM=( - "docker.io" # Docker CLI for container management -) +# System packages (none — Docker CLI is provided by devcontainer feature) +PACKAGES_SYSTEM=() # Node.js packages PACKAGES_NODE=() @@ -50,9 +48,8 @@ PACKAGES_PYTHON=() # VS Code extensions EXTENSIONS=( - "SQLTools (mtxr.sqltools) - Database management and SQL query tool for MySQL, PostgreSQL, SQLite, MSSQL, MongoDB" + "Database Client (cweijan.vscode-database-client2) - Database management for MySQL, PostgreSQL, SQLite, MSSQL, MongoDB, Redis, ClickHouse, ElasticSearch — all drivers bundled" "REST Client (humao.rest-client) - Send HTTP requests and view responses directly in VS Code" - "Docker (ms-azuretools.vscode-docker) - Manage containers, images, volumes, networks, and Dockerfiles" ) #------------------------------------------------------------------------------ @@ -83,16 +80,14 @@ post_installation_message() { echo "🎉 Installation complete!" echo echo "Quick start:" - echo " - Test Docker: docker ps" - echo " - Docker UI: Click Docker icon in VS Code sidebar" - echo " - SQLTools: Click database icon in VS Code sidebar" - echo " - REST Client: Create .http file and write HTTP requests" + echo " - Database Client: Click database icon in VS Code sidebar, then 'Create Connection'" + echo " (Drivers for MySQL, PostgreSQL, SQLite, MSSQL, MongoDB, Redis are bundled)" + echo " - REST Client: Create .http file and write HTTP requests" echo echo "Example .http file:" echo " GET https://api.github.com/users/octocat" echo - echo "Docs: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker" - echo " https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools" + echo "Docs: https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-database-client2" echo " https://marketplace.visualstudio.com/items?itemName=humao.rest-client" echo } diff --git a/.devcontainer/manage/tools.json b/.devcontainer/manage/tools.json index f5b79f5..9335388 100644 --- a/.devcontainer/manage/tools.json +++ b/.devcontainer/manage/tools.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "generated": "2026-03-20T17:55:40+01:00", + "generated": "2026-04-08T13:07:55+02:00", "tools": [ { "id": "dev-ai-claudecode", @@ -325,6 +325,33 @@ }, "extensions": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"] } +, + { + "id": "fwk-docusaurus", + "version": "0.1.0", + "type": "install", + "file": "install-fwk-docusaurus.sh", + "name": "Docusaurus", + "description": "Installs a Docusaurus documentation site with GitHub Pages deployment.", + "category": "FRAMEWORKS", + "tags": ["docusaurus static-site-generator ssg framework web documentation react"], + "abstract": "Docusaurus documentation site with TypeScript, Mermaid, local search, and GitHub Pages CI/CD.", + "logo": "fwk-docusaurus-logo.webp", + "website": "https://docusaurus.io", + "summary": "Installs a complete Docusaurus 3.x documentation site in website/ with TypeScript configuration, Mermaid diagram support, local search, image zoom, auto-generated sidebars, and a GitHub Actions workflow for deploying to GitHub Pages.", + "related": ["fwk-hugo"], + "checkCommand": "[ -d /workspace/website ]", + "packages": { + "system": [], + "node": [], + "python": [], + "cargo": [], + "go": [], + "powershell": [], + "dotnet": [] + }, + "extensions": ["unifiedjs.vscode-mdx", "eliostruyf.vscode-front-matter"] + } , { "id": "fwk-hugo", @@ -568,33 +595,6 @@ }, "extensions": ["databricks.databricks", "ms-toolsai.jupyter", "ms-python.python", "ms-python.vscode-pylance", "redhat.vscode-yaml", "humao.rest-client"] } -, - { - "id": "tool-dev-utils", - "version": "0.0.1", - "type": "install", - "file": "install-tool-dev-utils.sh", - "name": "Development Utilities", - "description": "Database management (SQLTools), API testing (REST Client), and container management (Docker) for multi-language development", - "category": "INFRA_CONFIG", - "tags": ["database sql docker containers rest http utilities"], - "abstract": "Development utilities for database management, API testing, and Docker container management.", - "logo": "tool-dev-utils-logo.webp", - "website": "https://vscode-sqltools.mteixeira.dev", - "summary": "Language-agnostic development utilities including SQLTools for database management (MySQL, PostgreSQL, SQLite, MSSQL, MongoDB), REST Client for HTTP API testing, and Docker extension for container, image, and volume management.", - "related": ["tool-api-dev tool-kubernetes"], - "checkCommand": "code --list-extensions 2>/dev/null | grep -q mtxr.sqltools", - "packages": { - "system": ["docker.io"], - "node": [], - "python": [], - "cargo": [], - "go": [], - "powershell": [], - "dotnet": [] - }, - "extensions": ["mtxr.sqltools", "humao.rest-client", "ms-azuretools.vscode-docker"] - } , { "id": "tool-iac", @@ -636,7 +636,7 @@ "logo": "tool-kubernetes-logo.webp", "website": "https://kubernetes.io", "summary": "Kubernetes development toolkit including kubectl CLI for cluster management, k9s terminal UI for interactive cluster exploration, Helm for package management, and VS Code Kubernetes extension. Sets up .devcontainer.secrets for secure kubeconfig storage.", - "related": ["tool-iac tool-azure-dev tool-dev-utils"], + "related": ["tool-iac tool-azure-dev tool-sql-rest"], "checkCommand": "command -v kubectl >/dev/null 2>&1 || command -v k9s >/dev/null 2>&1 || command -v helm >/dev/null 2>&1", "packages": { "system": [], @@ -730,6 +730,33 @@ }, "extensions": ["ms-vscode.powershell"] } +, + { + "id": "tool-sql-rest", + "version": "0.0.1", + "type": "install", + "file": "install-tool-sql-rest.sh", + "name": "SQL & REST Tools", + "description": "Database management (Database Client) and REST API testing (REST Client) for multi-language development", + "category": "INFRA_CONFIG", + "tags": ["database sql rest http api mongodb redis"], + "abstract": "SQL/NoSQL database management and REST API testing tools for VS Code.", + "logo": "tool-sql-rest-logo.webp", + "website": "https://database-client.com", + "summary": "Language-agnostic VS Code extensions: Database Client by cweijan for database management (MySQL, PostgreSQL, SQLite, MSSQL, MongoDB, Redis, ClickHouse, ElasticSearch — all drivers bundled, no separate driver install) and REST Client for HTTP API testing. Docker CLI is provided by the devcontainer feature — no separate install needed.", + "related": ["tool-api-dev tool-kubernetes"], + "checkCommand": "code --list-extensions 2>/dev/null | grep -q cweijan.vscode-database-client2", + "packages": { + "system": [], + "node": [], + "python": [], + "cargo": [], + "go": [], + "powershell": [], + "dotnet": [] + }, + "extensions": ["cweijan.vscode-database-client2", "humao.rest-client"] + } , { "id": "config-ai-claudecode", diff --git a/README.md b/README.md index bf286f0..d21e819 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Done! The container starts in seconds. Run `dev-setup` to install tools. | **Cloud & Infrastructure Tools** | API, Azure Dev, Azure DevOps CLI, Azure Ops, Okta, Power Platform | | **Data & Analytics Tools** | Data Analytics, Databricks | | **Background Services & Daemons** | Nginx Reverse Proxy, OpenTelemetry Monitoring | -| **Infrastructure & Configuration** | Dev Utilities, Terraform, Ansible, Kubernetes | +| **Infrastructure & Configuration** | Terraform, Ansible, Kubernetes, SQL & REST | | **Contributor Tools** | Image Processing | | **Frameworks & Standalone Binaries** | Docusaurus, Hugo Extended | diff --git a/version.txt b/version.txt index 4f56fd6..0e98cde 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.7.32 +1.7.33 diff --git a/website/docs/ai-developer/plans/active/PLAN-rename-dev-utils-to-sql-rest.md b/website/docs/ai-developer/plans/active/PLAN-rename-dev-utils-to-sql-rest.md new file mode 100644 index 0000000..141a42a --- /dev/null +++ b/website/docs/ai-developer/plans/active/PLAN-rename-dev-utils-to-sql-rest.md @@ -0,0 +1,163 @@ +# Plan: Rename dev-utils to sql-rest, Remove Docker + +> **IMPLEMENTATION RULES:** Before implementing this plan, read and follow: +> - [WORKFLOW.md](../../WORKFLOW.md) - The implementation process +> - [PLANS.md](../../PLANS.md) - Plan structure and best practices + +## Status: Active + +**Goal**: Rename `install-tool-dev-utils.sh` to `install-tool-sql-rest.sh`, remove Docker bits (redundant with docker-outside-of-docker feature), and focus the script on SQLTools + REST Client. + +**Priority**: Medium — cleanup after docker feature integration + +**Last Updated**: 2026-04-08 + +--- + +## Overview + +`install-tool-dev-utils.sh` bundles three things: SQLTools VS Code extension, REST Client VS Code extension, and Docker (both the `docker.io` apt package AND the Docker VS Code extension). + +Since DCT v1.7.14, the `docker-outside-of-docker` feature provides the Docker CLI for all users. The `docker.io` apt install is redundant and wasteful. The Docker VS Code extension provides a UI, but most DCT developers use the CLI; Dockerfile syntax highlighting is a minor benefit that doesn't justify keeping a whole extension. + +Also, the script name `dev-utils` is too generic. Renaming to `sql-rest` makes the purpose clear. + +**Research confirmed (2026-04-08):** SQLTools (6.4M installs) and REST Client (7M installs, 5.0/5) are both still the most popular choices in their categories. No extension changes needed — just rename and remove Docker. + +--- + +## Phase 1: Rename script and update metadata — ✅ DONE + +### Tasks + +- [x] 1.1 Renamed `install-tool-dev-utils.sh` → `install-tool-sql-rest.sh` (git mv) +- [x] 1.2 Updated all metadata fields +- [x] 1.3 Removed `docker.io` from `PACKAGES_SYSTEM` (now empty) +- [x] 1.4 Removed Docker VS Code extension from `EXTENSIONS` +- [x] 1.5 Updated `post_installation_message()` — removed Docker lines + +### Validation + +`bash .devcontainer/additions/install-tool-sql-rest.sh --help` works, metadata is clean, no Docker references. + +--- + +## Phase 2: Update related files — ✅ DONE + +### Tasks + +- [x] 2.1 Updated `install-tool-kubernetes.sh` SCRIPT_RELATED +- [x] 2.2 Updated `install-dev-php-laravel.sh` (2 references) +- [x] 2.3 Updated `LOGO-SOURCES.md` logo entry + name +- [x] 2.4 Updated `cubeConfig.ts` logo filename + display name +- [x] 2.5 Verified: remaining references are only in active plan, completed plan, and auto-generated files + +### Validation + +`grep -r "tool-dev-utils\|install-tool-dev-utils"` returns only historical plan files (completed/), no live code references. + +--- + +## Phase 3: Rename logo file — ✅ DONE + +### Tasks + +- [x] 3.1 Found: `tool-dev-utils-logo.svg` (src) and `tool-dev-utils-logo.webp` (generated) +- [x] 3.2 Renamed both: `tool-dev-utils-logo` → `tool-sql-rest-logo` +- [x] 3.3 SVG is git-tracked (git mv), WebP is gitignored (plain mv) +- [ ] 3.4 Run `dev-logos` in Phase 4 if webp needs regeneration + +### Validation + +Logo renders correctly on the website (after `dev-docs` regenerates tool pages). + +--- + +## Phase 4: Regenerate auto-generated files — ✅ DONE + +### Tasks + +- [x] 4.1 Deleted `dev-utils.mdx` +- [x] 4.2 Ran `dev-docs` — regenerated tools.json (4 hits for tool-sql-rest, 0 for tool-dev-utils), created sql-rest.mdx +- [x] 4.3 `dev-logos` not needed — webp already existed and was renamed manually + +Verified: only historical references (active plan, completed plan) contain dev-utils strings. + +### Validation + +`dev-docs` completes without errors. New tool page exists, old one is gone. + +--- + +## Phase 5: Test + +### Tasks + +- [ ] 5.1 Run static tests: `.devcontainer/additions/tests/run-all-tests.sh static install-tool-sql-rest.sh` +- [ ] 5.2 Run unit tests: `.devcontainer/additions/tests/run-all-tests.sh unit install-tool-sql-rest.sh` +- [ ] 5.3 Run install cycle test: `.devcontainer/additions/tests/run-all-tests.sh install install-tool-sql-rest.sh` +- [ ] 5.4 Verify SQLTools + REST Client extensions get installed (check via `code --list-extensions`) +- [ ] 5.5 Verify `docker.io` is NOT installed by this script (it's provided by the feature, but the script shouldn't try to reinstall) +- [ ] 5.6 Run Docusaurus build locally: `cd website && npm run build` — catches broken links +- [ ] 5.7 Verify enabled-tools.conf migration: if a user had `tool-dev-utils` in their `enabled-tools.conf`, they should either (a) still work somehow, or (b) get a clear message that the name changed + +### Validation + +All tests pass. Docusaurus build succeeds. No broken links. + +--- + +## Phase 6: Migration note for existing users + +### Tasks + +- [ ] 6.1 Decide: should `tool-dev-utils` in existing `enabled-tools.conf` files still work (as alias), or fail cleanly? +- [ ] 6.2 If alias: add a symlink or alias in the tool discovery logic +- [ ] 6.3 If fail: no action — users who have it will see "tool not found" on next rebuild and can fix manually +- [ ] 6.4 Document the rename in the next version's release notes + +### Validation + +Existing users with `tool-dev-utils` in their config get a clear path forward (either it still works, or a clear error message). + +--- + +## Acceptance Criteria + +- [ ] File renamed to `install-tool-sql-rest.sh` +- [ ] `SCRIPT_ID` updated to `tool-sql-rest` +- [ ] `docker.io` package removed from `PACKAGES_SYSTEM` +- [ ] Docker VS Code extension removed from `EXTENSIONS` +- [ ] Only SQLTools + REST Client remain as extensions +- [ ] `post_installation_message()` updated +- [ ] All references in other scripts updated (`kubernetes`, `php-laravel`) +- [ ] Logo file renamed +- [ ] Auto-generated files regenerated via `dev-docs` +- [ ] Old tool page removed +- [ ] All tests pass (static, unit, install cycle) +- [ ] Docusaurus build succeeds locally +- [ ] Migration path documented for existing users with `tool-dev-utils` in config + +--- + +## Files to Modify + +**Renamed:** +- `.devcontainer/additions/install-tool-dev-utils.sh` → `install-tool-sql-rest.sh` +- `website/static/img/tools/src/tool-dev-utils-logo.*` → `tool-sql-rest-logo.*` + +**Modified:** +- `.devcontainer/additions/install-tool-kubernetes.sh` (SCRIPT_RELATED) +- `.devcontainer/additions/install-dev-php-laravel.sh` (2 references) +- `website/static/img/LOGO-SOURCES.md` (logo entry) +- `website/src/components/FloatingCubes/cubeConfig.ts` (logo filename) + +**Auto-regenerated (via dev-docs):** +- `.devcontainer/manage/tools.json` +- `website/src/data/tools.json` +- `website/docs/tools/infrastructure-configuration/sql-rest.mdx` (new) +- `README.md` +- `website/docs/commands.md` + +**Deleted:** +- `website/docs/tools/infrastructure-configuration/dev-utils.mdx` (old tool page) diff --git a/website/docs/tools/development-tools/golang.mdx b/website/docs/tools/development-tools/golang.mdx index e53b571..5d00d0c 100644 --- a/website/docs/tools/development-tools/golang.mdx +++ b/website/docs/tools/development-tools/golang.mdx @@ -99,7 +99,7 @@ Name: Go Runtime & Development Tools Script version: 0.0.1 Category: LANGUAGE_DEV, Development Tools Description: Installs Go runtime, common tools, and VS Code extensions for Go development. -Default: Version 1.21.0 +Default: Version 1.26.1 Usage: diff --git a/website/docs/tools/frameworks/docusaurus.mdx b/website/docs/tools/frameworks/docusaurus.mdx new file mode 100644 index 0000000..ce55f6a --- /dev/null +++ b/website/docs/tools/frameworks/docusaurus.mdx @@ -0,0 +1,114 @@ +--- +title: Docusaurus +hide_title: true +--- + +import RelatedTools from '@site/src/components/RelatedTools'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +
+ Docusaurus documentation site with TypeScript, Mermaid, local search, and GitHub Pages CI/CD.
+fwk-docusaurus
+ 0.1.0
+ install-fwk-docusaurus.sh
+
Development utilities for database management, API testing, and Docker container management.
+SQL/NoSQL database management and REST API testing tools for VS Code.
tool-dev-utils
+ Script ID: tool-sql-rest
0.0.1
install-tool-dev-utils.sh
+ Script: install-tool-sql-rest.sh