chore(dev): add module development workflow and configurations#50
chore(dev): add module development workflow and configurations#50
Conversation
- Add prompts for module cloning and setup - Add VS Code tasks for module linking and development - Add launch configurations for debugging - Add LOCAL_MODULE_DEVELOPMENT documentation - Install @ciscode/database-kit dependency
There was a problem hiding this comment.
Pull request overview
This PR enhances the developer experience by introducing a comprehensive local module development workflow. It provides automated tooling and clear documentation for working with @ciscode/* modules locally without publishing to npm for every change.
Changes:
- Added comprehensive documentation for local module development workflow
- Added VS Code tasks for module management, watching, and combined development workflows
- Added VS Code launch configurations for debugging backend and frontend
- Added interactive setup prompts for AI-assisted module cloning and setup
- Added
@ciscode/database-kitdependency to backend
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/LOCAL_MODULE_DEVELOPMENT.md | Complete guide for local module development with CLI commands, VS Code integration, and troubleshooting |
| .vscode/tasks.json | VS Code tasks for module linking, unlinking, watching, and combined development workflows |
| .vscode/launch.json | Debug configurations for backend, frontend, and full-stack debugging |
| .github/prompts/setup-dev-modules.md | Interactive AI assistant prompt for guiding developers through module setup |
| .github/prompts/clone-module.md | AI assistant prompt for cloning modules with validation and error handling |
| backend/package.json | Added database-kit dependency |
| frontend/tsconfig.app.tsbuildinfo | Updated TypeScript build info (auto-generated, lowercase file paths) |
| "command": "npm", | ||
| "args": ["run", "build:watch"], | ||
| "options": { | ||
| "cwd": "${workspaceFolder:🗄️ Database Kit}" |
There was a problem hiding this comment.
The workspace folder reference '🗄️ Database Kit' does not match any workspace defined in the project. This will cause the task to fail when executed. Verify the correct workspace folder name or ensure the workspace is properly configured in a .code-workspace file.
| "cwd": "${workspaceFolder:🗄️ Database Kit}" | |
| "cwd": "${workspaceFolder}" |
| "command": "npm", | ||
| "args": ["run", "build:watch"], | ||
| "options": { | ||
| "cwd": "${workspaceFolder:🔐 Auth Kit}" |
There was a problem hiding this comment.
The workspace folder reference '🔐 Auth Kit' does not match any workspace defined in the project. This will cause the task to fail when executed. Verify the correct workspace folder name or ensure the workspace is properly configured in a .code-workspace file.
| "cwd": "${workspaceFolder:🔐 Auth Kit}" | |
| "cwd": "${workspaceFolder}/auth-kit" |
| "command": "npm", | ||
| "args": ["run", "build:watch"], | ||
| "options": { | ||
| "cwd": "${workspaceFolder:🔐 Auth Kit UI 🎨}" |
There was a problem hiding this comment.
The workspace folder reference '🔐 Auth Kit UI 🎨' does not match any workspace defined in the project. This will cause the task to fail when executed. Verify the correct workspace folder name or ensure the workspace is properly configured in a .code-workspace file.
| "cwd": "${workspaceFolder:🔐 Auth Kit UI 🎨}" | |
| "cwd": "${workspaceFolder:🔐 Auth Kit UI}" |
| "request": "launch", | ||
| "runtimeExecutable": "npm", | ||
| "runtimeArgs": ["run", "dev:backend"], | ||
| "cwd": "${workspaceFolder:ComptaLeyes (Main App)}", |
There was a problem hiding this comment.
The workspace folder reference 'ComptaLeyes (Main App)' does not match any workspace defined in the project. This will cause the launch configuration to fail. Either use ${workspaceFolder} for single-folder workspaces, or ensure the workspace is properly configured in a .code-workspace file with matching folder names.
| "type": "chrome", | ||
| "request": "launch", | ||
| "url": "http://localhost:5173", | ||
| "webRoot": "${workspaceFolder:ComptaLeyes (Main App)}/frontend", |
There was a problem hiding this comment.
The workspace folder reference 'ComptaLeyes (Main App)' does not match any workspace defined in the project. This will cause the launch configuration to fail. Either use ${workspaceFolder} for single-folder workspaces, or ensure the workspace is properly configured in a .code-workspace file with matching folder names.
* ops: update frontend-cd * ops: update workflow permissions * Auth (#24) * chore: install CiscodeAuthPackage, Mongoose, and env Depps * Auth: Inject AuthKit into main app module, and init the db seeder for default roles and permissions * docs: update Readme * fix: build(backend)- use root workspace lockfile in Docker build * fix: docker image build * Frontend (#30) * login, dashboard and profile done * refactored * auth package comes from public npm * changed frontend formatting * fixed an npm bug * Update package.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * template fe and translate packages come from public npm * ran npm i * updated files to use public packages * fixed imports * fix: fixed dependencies calls across the entire source code -frontend-, and updated config files * ops: created dockerignore for root context and updated worfklow cd for backend stack --------- Co-authored-by: a-elkhiraooui-ciscode <a.elkhiraoui@ciscod.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * ops: update CI workflows names for status checks * Frontend (#34) * login, dashboard and profile done * refactored * auth package comes from public npm * changed frontend formatting * fixed an npm bug * Update package.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * template fe and translate packages come from public npm * ran npm i * updated files to use public packages * fixed imports * fix: fixed dependencies calls across the entire source code -frontend-, and updated config files * ops: created dockerignore for root context and updated worfklow cd for backend stack * ops: update CI workflows names for status checks * ops: updated ci workflows names --------- Co-authored-by: a-elkhiraooui-ciscode <a.elkhiraoui@ciscod.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * ui: updated index html and added logo & favicon * ui: added frontend scripts to the global workspace and updated logo placeholders * ops: update deployment pipelines * fix: fix syntax error in frontend-cd * chore: added MONGO_URI to environment schema * ops: Add automatic SSM parameter loading * frontend: removed BrowserRouter Duplication * ops: updated frontend deployment to write env before build, remved placeholders from all workflows * chore(license): adopt MIT license for open-source project - Add MIT LICENSE file for open-source distribution - Update backend/package.json license field from UNLICENSED to MIT - Add frontend/.env.example with VITE_BACKEND_URL configuration - Remove sensitive infrastructure details from all documentation: - Hide backend IP addresses and EC2 instance IDs - Hide CloudFront distribution IDs - Hide AWS account numbers - Replace with generic deployment descriptions - Update all README files with MIT license references - Prepare project for public contributions and commercial clients * chore: upgraded authKit-UI version, and added .env.example * updated packages and ignored filetree * Docs/git flow and version bump (#43) * docs: add copilot instructions and helper prompts - Add comprehensive copilot-instructions.md with architecture guidelines - Add commit-message.md prompt for conventional commits - Add update-translations.md prompt for i18n synchronization - Add create-task-doc.md prompt for task documentation - Add prompts README with usage instructions * chore: add project infrastructure and documentation structure - Add docs/ with task tracking and context documentation structure - Add backend .env.example template with all required variables - Add VSCode workspace settings for team consistency - Add recommended extensions list for development * docs: add authentication module integration context - Add authentication.md with module usage and configuration - Document backend and frontend integration - Include role-based access control examples - Add troubleshooting guide * docs: create task documentation structure - Add active tasks folder with README and template - Add archive folder structure for completed tasks - Establish workflow for task documentation lifecycle - Tasks organized by release version * docs: add comprehensive developer workflow guide - Complete workflow from task start to completion - Naming conventions for files and code - Architecture guidelines and best practices - Testing strategy and quality checklist - Security, performance, and i18n guidelines - Git commit conventions and useful commands * chore: add npm verification scripts to backend and frontend - Add 'verify' script: lint + format:check + typecheck + test - Add 'verify:fix' script: automatic fixes for all checks - Enables quick quality verification before commits * feat(prompts): add start-new-task workflow prompt - Guides complete task setup with branch creation - Creates task documentation from template - Verifies development environment - Ensures project conventions are followed * feat(prompts): add complete-task workflow prompt - Runs all quality checks before merge - Verifies comprehensive completion checklist - Updates task documentation - Generates conventional commit messages - Prepares merge and archive instructions * feat(prompts): add deep-search task history prompt - Search task documentation for context and decisions - Find similar problems and solutions from history - Extract relevant implementation details - Identify patterns and recurring issues - Provide recommendations based on past work * feat(prompts): add check-module-compliance audit tool - Comprehensive compliance verification for modules - Checks architecture, naming, exports, paths, cross-module - Validates testing setup and documentation - Generates detailed compliance report - Update prompts README with all 7 prompts * docs(architecture): update copilot instructions with key decisions - Add Core vs Shared distinction (NestJS-specific vs framework-agnostic) - Define Guards, Middleware, Decorators placement rules - Establish Cross-Module Communication patterns (Services + DTOs only) - Document Path Aliases configuration - Forbid direct entity imports between modules * docs(workflow): add Git Flow branching strategy - Add develop/master branch structure documentation - Define workflow: feature branches from develop - PR always to develop, merge to master only for release - Add warnings about forbidden practices (direct commits, PR to master) - Update conventional commit examples --------- Co-authored-by: Reda Channa <r.channa@ciscod.com> * ops: updated CI workflows + added CodeQL check workflow and added new scripts for the root workspace * Frontend (#42) * forgot and reset password done * updated package.json * frontend-ops: fix typecheck and lint build issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * ops: remove CodeQl Analysis * Frontend (#45) * forgot and reset password done * updated package.json * frontend-ops: fix typecheck and lint build issues --------- Co-authored-by: Zaiidmo <zaiidmoumnii@gmail.com> * Frontend (#47) * forgot and reset password done * updated package.json * removed unused declarations * chore: ignore VS Code workspace files in .gitignore (#49) * chore(dev): add module development workflow and configurations (#50) - Add prompts for module cloning and setup - Add VS Code tasks for module linking and development - Add launch configurations for debugging - Add LOCAL_MODULE_DEVELOPMENT documentation - Install @ciscode/database-kit dependency * chore: configure dev environment and module linking - Add module management scripts (list, status, link, unlink) - Configure NestJS watch mode with preserveWatchOutput - Add entryFile and watchAssets to nest-cli.json - Add ARCHITECTURE_STRATEGY documentation --------- Co-authored-by: a-elkhiraooui-ciscode <a.elkhiraoui@ciscod.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ciscode-Admin <info@ciscod.com> Co-authored-by: Reda Channa <r.channa@ciscod.com>
Changes
Purpose
Improve developer experience when working with local module development by providing:
Testing