diff --git a/.agent/rules/GEMINI.md b/.agent/rules/GEMINI.md new file mode 100644 index 0000000..7bee6af --- /dev/null +++ b/.agent/rules/GEMINI.md @@ -0,0 +1,22 @@ +--- +trigger: always_on +--- + +# GEMINI.md - Antigravity Kit (Auto-Generated) + + +## TIER 0: UNIVERSAL RULES (Always Active) + +### 🌍 Global User Rules (MANDATORY) + +1. **Idioma**: Conversar e desenvolver sempre em **Português do Brasil**. +2. **Automação Terminais**: Executar comandos de terminal, leitura de arquivos e edições de forma automática. Comandos de desenvolvimento (build, install, lint, git, etc.) são sempre 'SafeToAutoRun'. +3. **Memória & Monitoramento**: Após cada evolução ou atualização no app, é OBRIGATÓRIO: + - Atualizar a memória do app em '/root/Antigravity_Memory/knowledge/{AppName}.md'. + - Atualizar o status e credenciais no 'app.py' do Cronos Dashboard. + - Realizar 'git commit', 'git push' e executar o 'update.sh' do Cronos para deploy automático. + +### 🌐 Language Handling + + +--- diff --git a/Dockerfile b/Dockerfile index fbd8791..982d21b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,7 @@ FROM nginx:alpine RUN apk update && apk upgrade --no-cache COPY --from=build /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/conf.d/default.conf # Nginx default listen 80 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..052a8de --- /dev/null +++ b/nginx.conf @@ -0,0 +1,29 @@ +server { + listen 80; + server_name _; + root /usr/share/nginx/html; + index index.html index.htm; + + # Security Headers + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-XSS-Protection "1; mode=block" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "no-referrer-when-downgrade" always; + add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline';" always; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + + location / { + try_files $uri $uri/ /index.html; + } + + # Cache static assets + location ~* \.(?:css|js|jpg|svg)$ { + expires 30d; + add_header Cache-Control "public"; + } + + # Cache index.html (no cache to prevent stale data) + location = /index.html { + add_header Cache-Control "no-store, no-cache, must-revalidate"; + } +}