Skip to content
Back to skills

C2f Projects System

ASecurity

LEIA ANTES de sincronizar, compilar ou fazer deploy de projetos (conn2flow-site, lumix, etc.). Se não ler: arquivos do projeto sobrescrevem o core indevidamente, dados de tenants se misturam ou o deploy falha.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
developmentgophpshellbashapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro shows the line behind each finding and how to fix it

Scanned November 7, 2026

npx -y skills add otavioserra/conn2flow-ai-workspace --skill c2f-projects-system --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of C2f Projects System?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for C2f Projects System
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/otavioserra-c2f-projects-system/badge)](https://www.skillsdirectory.com/skills/otavioserra-c2f-projects-system)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: c2f-projects-system
description: "LEIA ANTES de sincronizar, compilar ou fazer deploy de projetos (conn2flow-site, lumix, etc.). Se não ler: arquivos do projeto sobrescrevem o core indevidamente, dados de tenants se misturam ou o deploy falha."
user-invocable: false
---

# Sistema de Projetos e Deploy (`CONN2FLOW-SISTEMA-PROJETOS.md`)

# ⚡ Gatilho Obrigatório
- **TRIGGER**: Executar comandos de sincronização de projetos (`deploy-project-v2.sh`, `sync-project-to-core`, etc.) ou configurar `environment.json`.
- **SKIP APENAS SE**: Desenvolvimento isolado no Core do Conn2Flow sem projetos associados.
- **CONSEQUÊNCIA DE IGNORAR**: Sobrescrita acidental de código do Core por arquivos de projeto, inconsistência de caminhos no `environment.json` e falhas de deploy em produção.

---

Consulte e aplique as seguintes convenções ao gerenciar a arquitetura de projetos e o pipeline de deploy no Conn2Flow:

## 1. Arquitetura do Sistema de Deploy

- **Endpoint de API**: `/api/project/update` (Recebe pacotes ZIP via `multipart/form-data`).
- **Autenticação**: OAuth 2.0 com renovação automática de tokens via `refresh_token`.
- **Execução Inline Segura**: O deploy extrai os arquivos diretamente na raiz (`$_GESTOR['ROOT_PATH']`) e executa `atualizacoes-banco-de-dados.php` por `include` direto (evitando `shell_exec` desabilitado em produção).
- **Logs de Auditoria**: Registrados em `/logs/atualizacoes/YYYYMMDD.log` e tabela `atualizacoes_execucoes`.

---

## 2. Configuração de Credenciais (`environment.json`)

Arquivo de credenciais e ambiente na raiz do projeto:
```json
{
  "api_url": "https://api.conn2flow.com",
  "oauth": {
    "client_id": "SEU_CLIENT_ID",
    "client_secret": "SEU_CLIENT_SECRET",
    "access_token": "SEU_ACCESS_TOKEN",
    "refresh_token": "SEU_REFRESH_TOKEN"
  },
  "project": {
    "id": "conn2flow-gestor",
    "version": "1.0.0"
  }
}
```

---

## 3. Scripts Principais de Automação de Projetos

* **`compactar-projeto.sh`**: Compacta o projeto em ZIP e faz upload para a API do servidor. Se receber HTTP 401, renova o token automaticamente e reenvia.
* **`renovar-token.sh`**: Valida o `access_token` e renova via OAuth utilizando o `refresh_token`, atualizando o `environment.json`.
* **`teste-integracao.sh`**: Executa a suíte de 6 testes de integração (configuração, estrutura, atualização de recursos, compactação, OAuth e conectividade da API).

---

## 4. Pipeline de Operação

1. **Atualização Local de Recursos**: Execute a compilação local de recursos antes de empacotar.
2. **Execução do Deploy**:
   ```bash
   cd /caminho/do/projeto
   ./ai-workspace/scripts/projects/compactar-projeto.sh
   ```
3. **Fluxo Automático do Servidor**:
   - Valida OAuth ➔ Extrai ZIP na raiz ➔ Executa Upsert do Banco inline ➔ Limpa temporários ➔ Grava log.

---

## 5. Regras de Indexação do Sitemap (`sitemap.php`)

O gerador `sitemap.php` inclui automaticamente todas as páginas ativas que possuam `sem_permissao = 1` (`without_permission: true`), filtradas pela função `sitemap_caminho_nao_indexavel()`.

### 5.1 Rotas Excluídas Automaticamente do Sitemap

Ficam sumariamente **excluídas** do sitemap:
- **Desfechos transacionais**: `success`, `error`, `cancel`, `cancelled`, `confirmation`
- **Sufixos de etapa transacional**: `.../payment`, `.../checkout`, `.../download`
- **Rotas de fluxo de compra**: `cart`, `checkout`, `*-checkout`
- **Páginas semente**: Páginas de template que originam rotas dinâmicas filhas (devem ter `without_permission` desmarcado na semente)

### 5.2 Diretriz Normativa para Controle de Indexação

1. **Remoção de Página Pública do Sitemap**:
   - Desmarcar a opção `sem_permissao` no cadastro da página no Gestor, OU
   - Aplicar um dos sufixos ou caminhos padronizados não-indexáveis.
2. **Validação Obrigatória Pós-Deploy**:
   - Sempre auditar a saída pública do sitemap para certificar que rotas de checkout, erro ou confirmação não estão expostas para indexação:
   ```bash
   curl -s https://<dominio>/sitemap.xml | grep -E 'checkout|success|cancel|error'
   ```
   *(A saída deve ser vazia).*

> [!WARNING]
> Indexar páginas de checkout ou desfechos transacionais expõe telas de erro ou formulários incompletos a robôs de busca (SEO), gerando tráfego fantasma e potenciais erros 400/500 no monitoramento.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.