Skip to main content
Glama
PROJECT-STRUCTURE.md7.59 kB
# Project Structure Reference **Note** : Pour les détails techniques complets de l'architecture, consultez [.claude/docs/architecture.md](../.claude/docs/architecture.md) Ce fichier fournit une vue d'ensemble high-level de la structure du projet. --- ## Arborescence complète (Post-implémentation) ``` mcp-workflow-tracker/ ├── documentations/ │ ├── README.md # Vue d'ensemble + Cas d'usage │ ├── IMPLEMENTATION-CHECKLIST.md # Checklist étape par étape │ ├── PROJECT-STRUCTURE.md # Ce fichier │ └── INDEX.md # Index de navigation │ ├── packages/ │ ├── shared/ # Types partagés + Prisma │ │ ├── prisma/ │ │ │ ├── schema.prisma # Schéma DB (voir /.claude/docs/database.md) │ │ │ └── migrations/ # Migrations SQL auto-générées │ │ ├── src/ │ │ │ └── index.ts # Exports types Prisma │ │ ├── package.json │ │ └── .env # DATABASE_PROVIDER + DATABASE_URL │ │ │ ├── mcp-server/ # Serveur MCP (Phase 1) │ │ ├── src/ │ │ │ ├── index.ts # Point d'entrée MCP (stdio) │ │ │ ├── db.ts # Prisma client singleton │ │ │ ├── tools/ │ │ │ │ ├── start-workflow.ts │ │ │ │ ├── start-task.ts │ │ │ │ ├── log-decision.ts │ │ │ │ ├── log-issue.ts │ │ │ │ ├── log-milestone.ts │ │ │ │ └── complete-task.ts │ │ │ └── utils/ │ │ │ ├── git-snapshot.ts # Logique Git robuste │ │ │ ├── checksum.ts # Fallback checksums │ │ │ └── scope-verify.ts # Vérification scope │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── Dockerfile # Docker image (à venir) │ │ │ └── web-ui/ # UI Next.js (Phase 2) │ ├── src/ │ │ ├── app/ │ │ │ ├── page.tsx # Liste des workflows │ │ │ └── workflow/[id]/ │ │ │ └── page.tsx # Détails workflow │ │ ├── components/ │ │ │ ├── TreeView.tsx # Vue hiérarchique │ │ │ ├── DiffViewer.tsx # Affichage diffs │ │ │ └── Timeline.tsx # Timeline milestones │ │ └── lib/ │ │ ├── prisma.ts # Prisma client │ │ └── websocket.ts # Socket.io client │ ├── package.json │ ├── next.config.js │ └── Dockerfile # Docker image (à venir) │ ├── docker-compose.yml # Orchestration Docker (à venir) ├── .dockerignore # Fichiers ignorés par Docker ├── package.json # Workspace root ├── pnpm-workspace.yaml # Config pnpm ├── pnpm-lock.yaml └── README.md # README principal du projet ``` --- ## Dépendances par package ### shared ```json { "dependencies": { "@prisma/client": "^5.x" }, "devDependencies": { "prisma": "^5.x", "typescript": "^5.x" } } ``` ### mcp-server ```json { "dependencies": { "@modelcontextprotocol/sdk": "latest", "@mcp-tracker/shared": "workspace:*", "simple-git": "^3.x", "glob": "^10.x" }, "devDependencies": { "typescript": "^5.x", "@types/node": "^20.x", "tsx": "^4.x" } } ``` ### web-ui (Phase 2) ```json { "dependencies": { "next": "^14.x", "react": "^18.x", "react-dom": "^18.x", "@mcp-tracker/shared": "workspace:*", "socket.io": "^4.x", "socket.io-client": "^4.x" }, "devDependencies": { "typescript": "^5.x", "@types/react": "^18.x", "@types/node": "^20.x" } } ``` --- ## Scripts npm principaux **À la racine du monorepo** : ```bash # Développement pnpm dev:mcp # Lance le MCP server (Phase 1) pnpm dev:ui # Lance l'UI Next.js (Phase 2) # Base de données pnpm db:migrate # Lance les migrations Prisma pnpm db:generate # Génère le client Prisma pnpm db:studio # Ouvre Prisma Studio # Build pnpm build:mcp # Build le MCP server pnpm build:ui # Build l'UI ``` --- ## Ports utilisés | Service | Port | Usage | |---------|------|-------| | PostgreSQL | 5432 | Base de données | | MCP Server | stdio | Communication via stdio (pas de port HTTP) | | Web UI | 3000 | Interface Next.js | | WebSocket | 3001 | Socket.io pour temps réel | --- ## Variables d'environnement ### packages/shared/.env **Option A : PostgreSQL (Recommandé)** ```bash DATABASE_PROVIDER="postgresql" DATABASE_URL="postgresql://user:password@localhost:5432/mcp_tracker?schema=public" ``` **Option B : SQLite (Alternatif)** ```bash DATABASE_PROVIDER="sqlite" DATABASE_URL="file:./dev.db" ``` **Note** : Voir `/.claude/docs/database.md` pour plus de détails sur le choix de la DB. --- ### packages/web-ui/.env (Phase 2) ```bash # Utiliser la même configuration que shared/.env DATABASE_PROVIDER="postgresql" DATABASE_URL="postgresql://user:password@localhost:5432/mcp_tracker?schema=public" # WebSocket URL pour le temps réel NEXT_PUBLIC_WS_URL="http://localhost:3001" ``` --- ## Points d'entrée | Composant | Fichier | Commande | |-----------|---------|----------| | MCP Server | `packages/mcp-server/src/index.ts` | `pnpm dev:mcp` | | Web UI | `packages/web-ui/src/app/page.tsx` | `pnpm dev:ui` | | Migrations DB | `packages/shared/prisma/schema.prisma` | `pnpm db:migrate` | --- ## Workflow typique de développement ### Modification du schéma DB ```bash # 1. Éditer packages/shared/prisma/schema.prisma # 2. Créer la migration pnpm db:migrate # 3. Régénérer le client pnpm db:generate # 4. Redémarrer les services pnpm dev:mcp ``` ### Ajout d'un nouveau tool MCP ```bash # 1. Créer packages/mcp-server/src/tools/new-tool.ts # 2. Définir le schema + handler # 3. Enregistrer dans src/index.ts (ListToolsRequestSchema + CallToolRequestSchema) # 4. Tester pnpm dev:mcp ``` --- ## Configuration Claude Code **Fichier : `.claude/mcp.json`** ```json { "mcpServers": { "workflow-tracker": { "command": "tsx", "args": ["/home/ilan/code/mcpAgentTracker/packages/mcp-server/src/index.ts"], "env": { "DATABASE_URL": "postgresql://user:password@localhost:5432/mcp_tracker" } } } } ``` **Fichier : `.claude/prompts/system.md` (à créer)** Ajouter les instructions d'utilisation du MCP (voir `/.claude/docs/mcp-protocol.md` section "Prompts système suggérés"). --- ## Ressources utiles - [MCP SDK Docs](https://modelcontextprotocol.io) - [Prisma Docs](https://www.prisma.io/docs) - [simple-git Docs](https://github.com/steveukx/git-js) - [Next.js Docs](https://nextjs.org/docs) - [Socket.io Docs](https://socket.io/docs) --- **Cette structure est optimisée pour** : - ✅ Séparation claire des responsabilités (monorepo) - ✅ Partage de types TypeScript via workspace - ✅ Développement parallèle (MCP Server + Web UI indépendants) - ✅ Scalabilité (facile d'ajouter de nouveaux packages)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Aceek/MCPWorkflowCli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server