Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/ci-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,12 @@ jobs:
- name: Generate Prisma client
run: npm run build

- name: Verify generated frontend
run: npm run frontend:check

- name: Ensure generated frontend is not tracked
working-directory: .
run: test -z "$(git ls-files backend/public)"

- name: Run tests
run: npm test
8 changes: 6 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Vitrine digital e guia comercial para **Boa Esperança do Sul — SP**. Conecta
```
raiz/ → frontend estático (index.html, css/, js/, html/)
backend/ → API Express
public/ → artefato gerado e ignorado; nunca editar diretamente
src/
server.js → entry point
controllers/ → lógica de negócio
Expand All @@ -41,9 +42,11 @@ npm run seed # popula banco com dados de data.json
npm run db:push # aplica schema.prisma no banco
npm run db:reset # reset + reseed
npm run setup # install + migrate + seed (primeira vez)
npm run frontend:build # gera backend/public a partir da raiz canonica
npm run frontend:check # valida que o artefato corresponde a fonte
```

Frontend: abrir `index.html` diretamente ou `npx serve . -p 8080` na raiz.
Frontend: a raiz e a unica fonte editavel. Abrir `index.html` diretamente ou `npx serve . -p 8080`; nunca alterar `backend/public`.

Docker local/producao:

Expand Down Expand Up @@ -88,9 +91,10 @@ https://api.comerciobes.com.br

## Fase atual

**v0.1 - Scope Reset** (em andamento)
**v0.2 - Production Baseline** (em andamento)
- Carrinho, checkout, pedidos e pagamentos nao fazem parte do produto publico.
- Interfaces, rotas e controllers do marketplace legado foram removidos; apenas tabelas historicas aguardam migracao controlada.
- A raiz e a fonte unica do frontend; `backend/public` e somente artefato de build.
- O Braga Commerce e dono de catalogo transacional, estoque, pedido, pagamento, entrega e pos-venda.
- A integracao com o Braga Commerce deve passar por um adapter read-only com contrato versionado.
- A vitrine vanilla sera estabilizada antes de qualquer decisao de reescrita.
Expand Down
8 changes: 6 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Vitrine digital e guia comercial para **Boa Esperança do Sul — SP**. O Comerc
```
raiz/ → frontend estático (index.html, css/, js/, html/)
backend/ → API Express
public/ → artefato gerado e ignorado; nunca editar diretamente
src/
server.js → entry point
controllers/ → lógica de negócio
Expand All @@ -41,9 +42,11 @@ npm run seed # popula banco com dados de data.json
npm run db:push # aplica schema.prisma no banco
npm run db:reset # reset + reseed
npm run setup # install + migrate + seed (primeira vez)
npm run frontend:build # gera backend/public a partir da raiz canonica
npm run frontend:check # valida que o artefato corresponde a fonte
```

Frontend: abrir `index.html` diretamente ou `npx serve . -p 8080` na raiz.
Frontend: a raiz e a unica fonte editavel. Abrir `index.html` diretamente ou `npx serve . -p 8080`; nunca alterar `backend/public`.

Docker local/producao:

Expand Down Expand Up @@ -82,10 +85,11 @@ claude/* → worktrees do Claude Code (merge na dev ao final da sessão)

## Fase atual

**v0.1 - Scope Reset** (em andamento)
**v0.2 - Production Baseline** (em andamento)
- Carrinho, checkout, pedidos, pagamentos e estoque nao fazem parte do produto.
- Interfaces, APIs e dependencias transacionais foram removidas.
- Tabelas historicas permanecem ate inventario, backup e migracao versionada.
- A raiz e a fonte unica do frontend; `backend/public` e somente artefato de build.
- O Braga Commerce e dono da experiencia de compra.
- A vitrine vanilla sera simplificada e estabilizada antes de qualquer reescrita.

Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ A decisao completa esta em [`docs/adr/0001-product-scope-and-braga-commerce.md`]
- Proxy/SSL: Caddy.
- Deploy: Docker Compose.

## Fonte do frontend

`index.html`, `manifest.json`, `sw.js`, `css/`, `js/`, `html/`, `icons/`, `images/` e `data/` na raiz sao a unica fonte versionada do site. `backend/public/` e um artefato ignorado pelo Git: nunca edite ou versione arquivos ali.

O build do backend recria o artefato e o check confirma que ele corresponde byte a byte a fonte:

```bash
cd backend
npm run frontend:build
npm run frontend:check
```

## Subir com Docker

Crie `.env` a partir de `.env.example` e troque senhas/chaves.
Expand Down Expand Up @@ -67,6 +79,7 @@ URLs locais:
```bash
cd backend
npm run build
npm run frontend:check
npm test
npm audit --omit=dev --audit-level=high
```
Expand Down
6 changes: 4 additions & 2 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
"postinstall": "node scripts/run-with-root-env.js prisma generate",
"predev": "node scripts/ensure-prisma-client.js",
"dev": "nodemon src/server.js",
"prestart": "node scripts/ensure-prisma-client.js && node scripts/copy-public-assets.js",
"build": "node scripts/run-with-root-env.js prisma generate && node scripts/copy-public-assets.js",
"prestart": "node scripts/ensure-prisma-client.js && npm run frontend:build",
"build": "node scripts/run-with-root-env.js prisma generate && npm run frontend:build",
"frontend:build": "node scripts/copy-public-assets.js",
"frontend:check": "node scripts/copy-public-assets.js --check",
"start": "node src/server.js",
"seed": "node src/seed.js",
"db:generate": "node scripts/run-with-root-env.js prisma generate",
Expand Down
Loading
Loading