## Installation de SmartStack CLI SmartStack CLI Installation

Suivez cette checklist interactive pour installer SmartStack CLI et configurer votre environnement de developpement. Votre progression est automatiquement sauvegardee.

Follow this interactive checklist to install SmartStack CLI and configure your development environment. Your progress is automatically saved.

Progression Progress 0/10

### Configuration Configuration

Selectionnez votre environnement pour afficher les commandes adaptees :

Select your environment to display adapted commands:

💻 Systeme d'exploitation Operating System
🔀 Plateforme Git Git Platform

### Checklist d'installation Installation Checklist

- 1
  Installer Node.js Install Node.js

  Telechargez et installez Node.js (version 18 ou superieure recommandee).

  Download and install Node.js (version 18 or higher recommended).

      node --version  # Verifier l'installation

  https://nodejs.org/

- 2
  Installer .NET SDK 10.0 Install .NET SDK 10.0

  Telechargez et installez le SDK .NET 10.0 ou superieur (requis pour les projets SmartStack).

  Download and install .NET SDK 10.0 or higher (required for SmartStack projects).

      dotnet --version  # Verifier l'installation (doit afficher 10.x.x)

  https://dotnet.microsoft.com/download/dotnet/10.0

  Windows : Vous pouvez aussi installer via `winget install Microsoft.DotNet.SDK.10`

  Windows: You can also install via `winget install Microsoft.DotNet.SDK.10`

- 3
  Configurer Git Configure Git

  Configurez Git avec SSH pour GitHub. Ajoutez votre cle SSH dans les parametres GitHub.

  Configure Git with SSH for GitHub. Add your SSH key in GitHub settings.

      # Generer une cle SSH (PowerShell)
      ssh-keygen -t ed25519 -C "your_email@example.com"

      # Demarrer le service SSH Agent
      Get-Service ssh-agent | Set-Service -StartupType Automatic
      Start-Service ssh-agent
      ssh-add $env:USERPROFILE\.ssh\id_ed25519

      # Afficher la cle publique a copier
      Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

      # Generer une cle SSH
      ssh-keygen -t ed25519 -C "your_email@example.com"

      # Ajouter au Keychain
      ssh-add --apple-use-keychain ~/.ssh/id_ed25519

      # Afficher la cle publique a copier
      cat ~/.ssh/id_ed25519.pub | pbcopy  # Copie directement

      # Generer une cle SSH
      ssh-keygen -t ed25519 -C "your_email@example.com"

      # Demarrer l'agent SSH
      eval "$(ssh-agent -s)"
      ssh-add ~/.ssh/id_ed25519

      # Afficher la cle publique a copier
      cat ~/.ssh/id_ed25519.pub

  Ajoutez votre cle SSH ici : https://github.com/settings/keys

  Add your SSH key here: https://github.com/settings/keys

  Configurez Git avec HTTPS et Git Credential Manager pour Azure DevOps.

  Configure Git with HTTPS and Git Credential Manager for Azure DevOps.

      # Git Credential Manager est inclus avec Git for Windows
      # Verifiez qu'il est configure :
      git config --global credential.helper manager

  Git Credential Manager est installe automatiquement avec Git for Windows.

  Git Credential Manager is installed automatically with Git for Windows.

      # Installer Git Credential Manager via Homebrew
      brew install --cask git-credential-manager

      # Configurer le credential helper
      git config --global credential.helper manager

      # Installer Git Credential Manager
      # Telechargez le .deb depuis: https://github.com/git-ecosystem/git-credential-manager/releases
      sudo dpkg -i gcm-linux_amd64.deb

      # Configurer le credential helper
      git config --global credential.helper manager

  Pas besoin de `az login` - Git Credential Manager ouvrira automatiquement votre navigateur pour vous authentifier avec votre compte Azure AD lors de la premiere operation Git (clone, push, etc.).

  No need for `az login` - Git Credential Manager will automatically open your browser to authenticate with your Azure AD account on the first Git operation (clone, push, etc.).

- 4
  Installer Claude Code Install Claude Code

  Installez Claude Code CLI et l'extension VS Code :

  Install Claude Code CLI and the VS Code extension:

      # 1. Installer Claude Code CLI (native install - recommandé)
      # Windows PowerShell:
      irm https://claude.ai/install.ps1 | iex
      # macOS / Linux / WSL:
      # curl -fsSL https://claude.ai/install.sh | bash
      # WinGet:
      # winget install Anthropic.ClaudeCode

      # 2. Installer l'extension VS Code
      code --install-extension anthropic.claude-code

  3. Activer le mode bypass permissions (recommande pour SmartStack) :

  3. Enable bypass permissions mode (recommended for SmartStack):

  1. Dans VS Code : `Ctrl+Shift+P` → "Preferences: Open User Settings (JSON)"
  2. In VS Code: `Ctrl+Shift+P` → "Preferences: Open User Settings (JSON)"
  3. Ajouter cette ligne dans le fichier JSON :
  4. Add this line in the JSON file:

      "claude-code.dangerouslySkipPermissions": true

  Note : Le mode bypass permissions permet a Claude d'executer des commandes sans confirmation manuelle. Recommande pour une utilisation fluide avec SmartStack.

  Note: Bypass permissions mode allows Claude to execute commands without manual confirmation. Recommended for a smooth experience with SmartStack.

- 5
  Installer SmartStack CLI Install SmartStack CLI

  Installez SmartStack CLI et configurez le PATH :

  Install SmartStack CLI and configure PATH:

      # 1. Installer SmartStack CLI
      npm install -g @atlashub/smartstack-cli

      # 2. Ajouter npm au PATH (permanent)
      $npmPath = "$env:APPDATA\npm"
      [Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";$npmPath", "User")

      # 3. Recharger le PATH dans cette session
      $env:PATH += ";$npmPath"

      # 4. Deployer les skills, agents et hooks
      smartstack install

  Alias disponible : Vous pouvez utiliser `ss` au lieu de `smartstack` (ex: `ss --version`).

  Alias available: You can use `ss` instead of `smartstack` (e.g., `ss --version`).

- 6
  SmartStack MCP Server (inclus dans la CLI) SmartStack MCP Server (bundled in CLI)

  Le serveur MCP SmartStack est inclus dans la CLI. Il est enregistre automatiquement lors du `smartstack install`. Si besoin d'un enregistrement manuel :

  The SmartStack MCP server is bundled in the CLI. It is automatically registered during `smartstack install`. For manual registration if needed:

      # Enregistrement automatique (recommande)
      smartstack install --force

      # Enregistrement manuel (si necessaire)
      claude mcp add smartstack -- npx --package @atlashub/smartstack-cli smartstack-mcp

- 7
  Installer Context7 MCP Server (optionnel) Install Context7 MCP Server (optional)

  Installez le serveur MCP Context7 pour acceder a la documentation des bibliotheques.

  Install the Context7 MCP server to access library documentation.

  Obtenez une cle API sur context7.com, puis entrez-la ci-dessous :

  Get an API key at context7.com, then enter it below:

  Votre cle API Context7 : Your Context7 API key:

      # 1. Definir la cle API
      $env:CONTEXT7_API_KEY = "votre-cle-api"

      # 2. Installer le package
      npm install -g @upstash/context7-mcp

      # 3. Enregistrer dans Claude
      claude mcp add context7 -- npx @upstash/context7-mcp

- 8
  Installer Azure DevOps MCP Server (optionnel) Install Azure DevOps MCP Server (optional)

  Si vous utilisez Azure DevOps, installez ce serveur MCP pour interagir avec vos repos, PRs et pipelines.

  If you use Azure DevOps, install this MCP server to interact with your repos, PRs, and pipelines.

  Vous aurez besoin d'un Personal Access Token (PAT) Azure DevOps avec les permissions adequates.

  You'll need an Azure DevOps Personal Access Token (PAT) with the appropriate permissions.

      # 1. Definir votre PAT Azure DevOps
      $env:AZURE_DEVOPS_AUTH_METHOD = "pat"
      $env:AZURE_DEVOPS_PAT = "votre-pat-token"

      # 2. Enregistrer dans Claude (remplacez votre-org par votre organisation)
      claude mcp add azure-devops -- npx -y @azure-devops/mcp votre-org

  Creer un PAT : Azure DevOps → User Settings → Personal Access Tokens → New Token. Permissions recommandees : Code (Read & Write), Work Items (Read & Write), Build (Read).

  Create a PAT: Azure DevOps → User Settings → Personal Access Tokens → New Token. Recommended permissions: Code (Read & Write), Work Items (Read & Write), Build (Read).

- 9
  Redemarrer VS Code Restart VS Code
  ⚠

  Important : Apres l'installation des serveurs MCP, vous devez redemarrer VS Code pour que les changements soient pris en compte.

  Important: After installing MCP servers, you must restart VS Code for the changes to take effect.

  Fermez completement VS Code et rouvrez-le. Cela permet a Claude Code de detecter les nouveaux serveurs MCP.

  Close VS Code completely and reopen it. This allows Claude Code to detect the new MCP servers.

- 10
  Verifier l'installation Verify Installation

  Verifiez que tout est correctement installe :

  Verify that everything is correctly installed:

      # Verifier les versions
      node --version
      claude --version
      smartstack --version

      # Verifier les serveurs MCP enregistres
      claude mcp list

  Dans Claude Code, verifiez que les MCP fonctionnent :

  In Claude Code, verify that MCPs are working:

      # Verifier le statut des serveurs MCP
      /mcp healthcheck

  ✅

  Felicitations ! Vous pouvez maintenant :

  Congratulations! You can now:

  - Creer un nouveau projet : `smartstack init MyProject`
  - Create a new project: `smartstack init MyProject`
  - Ou initialiser sur un projet existant : `smartstack init`
  - Or initialize on an existing project: `smartstack init`

🛠

#### Problemes courants

#### Common Issues

- MCP non detecte : Redemarrez VS Code completement (File → Exit, pas juste fermer la fenetre)
- MCP not detected: Restart VS Code completely (File → Exit, not just closing the window)
- Erreur "command not found" : Fermez et rouvrez votre terminal PowerShell pour recharger le PATH
- "command not found" error: Close and reopen your PowerShell terminal to reload the PATH
- Permissions refusees : Executez PowerShell en tant qu'administrateur
- Permission denied: Run PowerShell as administrator
- MCP healthcheck echoue : Verifiez vos cles API et tokens dans les variables d'environnement
- MCP healthcheck fails: Check your API keys and tokens in environment variables

### Commandes utiles Useful Commands

Voici les commandes essentielles a connaitre apres l'installation :

Here are the essential commands to know after installation:

#### Dans le terminal PowerShell In PowerShell terminal

Commande | Command | Description | Description
--- | --- | --- | ---
`ss --version` | Afficher la version installee | Show installed version
`ss install` | Deployer skills, agents et hooks | Deploy skills, agents and hooks
`ss install --force` | Forcer la reinstallation (ecrase les fichiers existants) | Force reinstall (overwrites existing files)
`ss install --local` | Installer en local dans le projet (au lieu de global) | Install locally in the project (instead of global)
`ss init` | Initialiser SmartStack dans le projet actuel | Initialize SmartStack in current project
`ss init <ProjectName>` | Creer un nouveau projet SmartStack | Create a new SmartStack project
`ss update` | Mettre a jour la CLI SmartStack elle-meme | Update the SmartStack CLI itself
`ss upgrade` | Mettre a jour les packages SmartStack (NuGet + npm) vers la derniere version stable | Upgrade SmartStack packages (NuGet + npm) to the latest stable version
`ss upgrade --preview` | Mettre a jour vers la derniere version preview/prerelease | Upgrade to the latest preview/prerelease version
`ss upgrade --dry-run` | Afficher les mises a jour disponibles sans les appliquer | Show available upgrades without applying them
`ss doctor` | Diagnostiquer l'installation (versions, MCP, config) | Diagnose the installation (versions, MCP, config)
`ss docs` | Ouvrir cette documentation dans le navigateur | Open this documentation in the browser
`ss docs --list` | Lister toutes les pages de documentation disponibles | List all available documentation pages
`ss status` | Afficher le statut de l'installation SmartStack | Show SmartStack installation status
`ss uninstall` | Desinstaller les fichiers SmartStack | Uninstall SmartStack files
`claude mcp list` | Lister les serveurs MCP enregistres | List registered MCP servers
`claude mcp remove <name>` | Supprimer un serveur MCP | Remove an MCP server

#### Dans Claude Code (VS Code) In Claude Code (VS Code)

Commande | Command | Description | Description
--- | --- | --- | ---
`/mcp healthcheck` | Verifier le statut de tous les serveurs MCP | Check status of all MCP servers
`/mcp tools` | Lister les outils disponibles dans les MCP | List available tools in MCPs
`/gitflow init` | Initialiser GitFlow dans le projet | Initialize GitFlow in project
`/gitflow status` | Voir le statut GitFlow | View GitFlow status
`/gitflow start feature <nom>` | Demarrer une nouvelle feature | Start a new feature
`/gitflow commit` | Commit intelligent avec validation | Smart commit with validation
`/validate` | Valider les conventions SmartStack | Validate SmartStack conventions

Astuce : Tapez `/` dans Claude Code pour voir toutes les commandes (skills) disponibles.

Tip: Type `/` in Claude Code to see all available commands (skills).

### Demarrer votre premier projet Start your first project

✅

Vous lisez cette doc dans votre projet ? Vous etes deja pret ! Les etapes A, B, C sont deja faites. Passez directement a l'etape D →

Reading this doc in your project? You're already set! Steps A, B, C are done. Skip to step D →

Les etapes A, B, C ci-dessous sont pour reference si vous devez configurer un nouveau projet.

Steps A, B, C below are for reference if you need to set up a new project.

#### A Creer le repository Git Create the Git repository

Avant d'initialiser SmartStack, vous devez creer un repository sur votre plateforme Git.

Before initializing SmartStack, you need to create a repository on your Git platform.

1. Allez sur github.com/new
2. Go to github.com/new
3. Nommez votre repository (ex: `MonProjet`)
4. Name your repository (e.g., `MyProject`)
5. Laissez-le vide (pas de README, .gitignore, ou license)
6. Leave it empty (no README, .gitignore, or license)
7. Cliquez sur "Create repository"
8. Click "Create repository"

1. Allez dans votre projet Azure DevOps
2. Go to your Azure DevOps project
3. Repos > "New repository"
4. Repos > "New repository"
5. Nommez votre repository (ex: `MonProjet`)
6. Name your repository (e.g., `MyProject`)
7. Decochez "Add a README"
8. Uncheck "Add a README"
9. Cliquez sur "Create"
10. Click "Create"

Pourquoi un repo vide ? SmartStack va initialiser la structure du projet avec les bons fichiers. Un repo pre-rempli pourrait creer des conflits.

Why an empty repo? SmartStack will initialize the project structure with the correct files. A pre-filled repo could create conflicts.

#### B Initialiser GitFlow Initialize GitFlow

Naviguez vers votre dossier de travail, puis ouvrez Claude Code :

Navigate to your work folder, then open Claude Code:

    # 1. Naviguez vers votre dossier de travail (exemple)
    cd C:\dev

    # 2. Ouvrez Claude Code dans VS Code
    code .

Puis dans Claude Code, lancez l'initialisation GitFlow :

Then in Claude Code, launch GitFlow initialization:

    # Dans Claude Code, tapez :
    /gitflow init

L'assistant vous guidera pour :

The assistant will guide you to:

- Cloner votre repository
- Clone your repository
- Configurer les branches (main, develop)
- Configure branches (main, develop)
- Definir les conventions de versioning
- Define versioning conventions

Conseil : Repondez aux questions de l'assistant. Il adaptera la configuration a vos besoins.

Tip: Answer the assistant's questions. It will adapt the configuration to your needs.

#### C Installer les outils SmartStack Install SmartStack tools

Vous etes maintenant dans votre projet clone. Installez les outils SmartStack :

You are now in your cloned project. Install SmartStack tools:

    # Depuis la racine de votre projet clone
    smartstack init

Cette commande va :

This command will:

- Installer les skills et agents SmartStack
- Install SmartStack skills and agents
- Configurer les hooks Claude Code
- Configure Claude Code hooks
- Generer le fichier `CLAUDE.md` avec les regles du projet
- Generate the `CLAUDE.md` file with project rules
- Generer cette documentation (`.documentation/`)
- Generate this documentation (`.documentation/`)
- Verifier les serveurs MCP
- Verify MCP servers

Nouveau projet .NET ? Si vous partez de zero et voulez creer la structure Clean Architecture, utilisez plutot `smartstack init MonProjet` avant l'etape A (sans creer de repo au prealable).

New .NET project? If you're starting from scratch and want to create the Clean Architecture structure, use `smartstack init MyProject` before step A (without creating a repo beforehand).

#### D Commencer a travailler Start working

Votre environnement est pret ! Le workflow GitFlow vous guide selon votre objectif :

Your environment is ready! The GitFlow workflow guides you based on your goal:

Nouvelle fonctionnalite New feature
`/gitflow start feature {nom}`
Deployer en prod Deploy to prod
`/gitflow start release`
Bug urgent prod Urgent prod bug
`/gitflow start hotfix {nom}`

Cycle de travail type :

Typical work cycle:

    # 1. Demarrer une branche
    /gitflow start feature ma-fonctionnalite

    # 2. Coder... puis commiter regulierement
    /gitflow commit

    # 3. Creer une Pull Request quand c'est pret
    /gitflow pr

    # 4. Finaliser apres le merge
    /gitflow finish

📚

Guide complet : Consultez le schema decisonnel GitFlow pour visualiser le workflow complet et choisir la bonne commande selon votre situation.

Complete guide: See the GitFlow decision diagram to visualize the complete workflow and choose the right command for your situation.

#### Documentation complementaire Additional documentation

🚀 Commande Init Init Command 🔀 Guide GitFlow GitFlow Guide 🗄 Migrations EF Core EF Core Migrations