diff --git a/.vscode/automatizadores/bootstrap-workspace.ps1 b/.vscode/automatizadores/bootstrap-workspace.ps1 index 4516979..e4db492 100644 --- a/.vscode/automatizadores/bootstrap-workspace.ps1 +++ b/.vscode/automatizadores/bootstrap-workspace.ps1 @@ -87,11 +87,24 @@ function Cleanup-VscodeMcpDir { } } +function Copy-VitruvioDocumentation { + $vitruvioDir = Join-Path $sourceDir 'Vitruvio' + $documentationDir = Get-ChildItem -LiteralPath $vitruvioDir -Directory | Where-Object { + (Test-Path -LiteralPath (Join-Path $_.FullName 'eventos-vitruvio.md')) -and + (Test-Path -LiteralPath (Join-Path $_.FullName 'queries-padroes.md')) + } | Select-Object -First 1 + + if ($null -eq $documentationDir) { + Fail 'Pasta de documentacao do Vitruvio nao encontrada na origem.' + } + + New-Item -ItemType Directory -Path (Join-Path $targetFullPath 'Vitruvio') -Force | Out-Null + Copy-Entry (Join-Path 'Vitruvio' $documentationDir.Name) +} + function Create-BaseDirectories { New-Item -ItemType Directory -Path (Join-Path $targetFullPath 'Andamento') -Force | Out-Null New-Item -ItemType Directory -Path (Join-Path $targetFullPath 'Concluidos') -Force | Out-Null - New-Item -ItemType Directory -Path (Join-Path $targetFullPath 'Vitruvio\Documentação') -Force | Out-Null - New-Item -ItemType Directory -Path (Join-Path $targetFullPath 'Vitruvio\Documentação\Componentes') -Force | Out-Null Write-Host 'Criadas pastas base do workspace' } @@ -109,6 +122,7 @@ Cleanup-VscodeMcpDir Copy-Entry '.github' Copy-Entry 'CLAUDE.md' Copy-Entry '.mcp.json' +Copy-VitruvioDocumentation Create-BaseDirectories Write-Host "Workspace base criado em: $targetFullPath" diff --git a/.vscode/automatizadores/bootstrap-workspace.sh b/.vscode/automatizadores/bootstrap-workspace.sh index f27e5f6..9c6ca39 100644 --- a/.vscode/automatizadores/bootstrap-workspace.sh +++ b/.vscode/automatizadores/bootstrap-workspace.sh @@ -19,12 +19,11 @@ O script copia a base compartilhavel do workspace DavinTI para um novo diretóri - .github - CLAUDE.md - .mcp.json + - Vitruvio/Documentação com todos os arquivos Tambem cria as pastas: - Andamento - Concluidos - - Vitruvio/Documentação - - Vitruvio/Documentação/Componentes EOF } @@ -91,11 +90,26 @@ cleanup_vscode_mcp_dir() { rm -f "$mcp_dir/.env" } +copy_vitruvio_documentation() { + local vitruvio_source_dir="$SOURCE_DIR/Vitruvio" + local documentation_source_dir + local documentation_dir_name + + documentation_source_dir="$(find "$vitruvio_source_dir" -mindepth 1 -maxdepth 1 -type d \ + \( -exec test -f '{}/eventos-vitruvio.md' ';' -a -exec test -f '{}/queries-padroes.md' ';' \) \ + -print -quit)" + + [ -n "$documentation_source_dir" ] || fail "Pasta de documentacao do Vitruvio nao encontrada na origem." + + documentation_dir_name="$(basename "$documentation_source_dir")" + + mkdir -p "$TARGET_DIR/Vitruvio" + copy_entry "Vitruvio/$documentation_dir_name" +} + create_base_directories() { mkdir -p "$TARGET_DIR/Andamento" mkdir -p "$TARGET_DIR/Concluidos" - mkdir -p "$TARGET_DIR/Vitruvio/Documentação" - mkdir -p "$TARGET_DIR/Vitruvio/Documentação/Componentes" log "Criadas pastas base do workspace" } @@ -137,6 +151,7 @@ cleanup_vscode_mcp_dir copy_entry ".github" copy_entry "CLAUDE.md" copy_entry ".mcp.json" +copy_vitruvio_documentation create_base_directories log "Workspace base criado em: $TARGET_DIR" diff --git a/GUIA_SETUP_OUTRA_MAQUINA.md b/GUIA_SETUP_OUTRA_MAQUINA.md index cb70b9d..7ec587a 100644 --- a/GUIA_SETUP_OUTRA_MAQUINA.md +++ b/GUIA_SETUP_OUTRA_MAQUINA.md @@ -22,12 +22,11 @@ Esse comando leva para o destino: - .github - CLAUDE.md - .mcp.json +- Vitruvio/Documentação com todos os arquivos versionados Tambem cria a estrutura inicial: - Andamento/ - Concluidos/ -- Vitruvio/Documentação/ -- Vitruvio/Documentação/Componentes/ Se o destino ja tiver arquivos e voce quiser sobrescrever, rode: @@ -103,4 +102,5 @@ git push -u origin main ## Observacoes importantes - Se quiser versionar alguma dessas pastas junto na raiz, o ideal e decidir isso conscientemente antes, para evitar repositorios aninhados e submodulos acidentais. -- Se realmente precisar subir algo, remova essas entradas do .gitignore antes de adicionar os arquivos. \ No newline at end of file +- Se realmente precisar subir algo, remova essas entradas do .gitignore antes de adicionar os arquivos. +- O bootstrap copia a pasta real de documentação do Vitruvio a partir do template, evitando criar manualmente caminhos com caracteres especiais. \ No newline at end of file