@oktis-works/cms 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /** README.md do projeto scaffoldado. */
2
2
  export declare function projectReadme(projectName: string): string;
3
3
  /** PLUGIN.md — guia de desenvolvimento de plugins. */
4
- export declare const PLUGIN_DOC = "# Desenvolvendo um Plugin\n\nPlugin \u00E9 a extens\u00E3o que se registra no runtime do CMS e participa do sistema\nde **hooks e filters** (transformar dados, reagir a eventos de conte\u00FAdo etc.).\nO cat\u00E1logo de hooks dispon\u00EDveis \u00E9 servido pela API em\n`GET /api/v1/hooks/catalog`.\n\n## Estrutura gerada\n\n```bash\nokcms plugin:create --name meu-plugin\n```\n\n```\nplugins/meu-plugin/\n\u251C\u2500\u2500 manifest.json # identidade + permiss\u00F5es + compatibilidade\n\u251C\u2500\u2500 index.js # entrypoint: module.exports.register(registry)\n\u2514\u2500\u2500 README.md\n```\n\n### manifest.json\n\n```json\n{\n \"name\": \"meu-plugin\",\n \"version\": \"0.1.0\",\n \"description\": \"Plugin meu-plugin para OkCMS\",\n \"type\": \"plugin\",\n \"main\": \"index.js\",\n \"scope\": \"tenant\",\n \"permissions\": [],\n \"compatibility\": { \"okcms\": \"^0.1.x\" }\n}\n```\n\n| Campo | Significado |\n|---|---|\n| `type` | `\"plugin\"` (fixo \u2014 temas usam `\"theme\"`) |\n| `main` | Arquivo de entrada com o registro |\n| `scope` | Escopo de atua\u00E7\u00E3o no multi-tenant (ex.: `tenant`) |\n| `permissions` | Permiss\u00F5es que o plugin pede (vazio = nenhuma) |\n| `compatibility.okcms` | Range semver exigido do CMS. **O scaffold preenche com a vers\u00E3o atual automaticamente** e o valor \u00E9 validado no scaffold e em cada instala\u00E7\u00E3o \u2014 manifesto incompat\u00EDvel \u00E9 rejeitado. |\n\n### index.js\n\n```js\n'use strict';\n\nmodule.exports.register = function register(registry) {\n registry.addFilter('theme:data:posts', (value) => value);\n};\n```\n\nO `register(registry)` \u00E9 chamado quando o plugin \u00E9 carregado. Use o registro\npara expor filters (transforma\u00E7\u00F5es) \u2014 veja o que existe em\n`GET /api/v1/hooks/catalog` para os nomes e contratos dispon\u00EDveis.\n\n## Fluxo de desenvolvimento\n\n```bash\n# 1. Crie (em ./plugins do projeto, ou num workspace externo com --dir)\nokcms plugin:create --name meu-plugin\n\n# 2. Implemente plugins/meu-plugin/index.js\n\n# 3. Se criou FORA do projeto, instale (valida compatibilidade e copia para plugins/)\nokcms plugin:install --name ../meu-plugin-fonte\n\n# 4. Gest\u00E3o\nokcms plugin:list # instalados + status\nokcms plugin:manage -n meu-plugin --info # informa\u00E7\u00F5es do manifesto\nokcms plugin:manage -n meu-plugin --disable # desabilita (mant\u00E9m os arquivos)\nokcms plugin:manage -n meu-plugin --enable # habilita de novo\nokcms plugin:manage -n meu-plugin --uninstall # remove arquivos + registro\n\n# 5. Busca no npm (pacotes com a keyword okcms-plugin)\nokcms plugin:search -q galeria\n```\n\n## Publicando\n\nEmpacote o diret\u00F3rio do plugin como pacote npm com a keyword\n`okcms-plugin` (\u00E9 o que o `okcms plugin:search` consulta) e mantenha\n`compatibility.okcms` atualizado para a linha do CMS que voc\u00EA suporta.\n";
4
+ export declare const PLUGIN_DOC = "# Desenvolvendo um Plugin\n\nPlugin \u00E9 a extens\u00E3o que se registra no runtime do CMS e participa do sistema\nde **hooks e filters** (transformar dados, reagir a eventos de conte\u00FAdo etc.).\nO cat\u00E1logo de hooks dispon\u00EDveis \u00E9 servido pela API em\n`GET /api/v1/hooks/catalog`.\n\n> Os comandos usam `npx` com a CLI local do projeto (sem instala\u00E7\u00E3o\n> global). Com a CLI global (`bun add -g @oktis-works/cms`), rode\n> `okcms ...` direto.\n\n## Estrutura gerada\n\n```bash\nnpx okcms plugin:create --name meu-plugin\n```\n\n```\nplugins/meu-plugin/\n\u251C\u2500\u2500 manifest.json # identidade + permiss\u00F5es + compatibilidade\n\u251C\u2500\u2500 index.js # entrypoint: module.exports.register(registry)\n\u2514\u2500\u2500 README.md\n```\n\n### manifest.json\n\n```json\n{\n \"name\": \"meu-plugin\",\n \"version\": \"0.1.0\",\n \"description\": \"Plugin meu-plugin para OkCMS\",\n \"type\": \"plugin\",\n \"main\": \"index.js\",\n \"scope\": \"tenant\",\n \"permissions\": [],\n \"compatibility\": { \"okcms\": \"^0.1.x\" }\n}\n```\n\n| Campo | Significado |\n|---|---|\n| `type` | `\"plugin\"` (fixo \u2014 temas usam `\"theme\"`) |\n| `main` | Arquivo de entrada com o registro |\n| `scope` | Escopo de atua\u00E7\u00E3o no multi-tenant (ex.: `tenant`) |\n| `permissions` | Permiss\u00F5es que o plugin pede (vazio = nenhuma) |\n| `compatibility.okcms` | Range semver exigido do CMS. **O scaffold preenche com a vers\u00E3o atual automaticamente** e o valor \u00E9 validado no scaffold e em cada instala\u00E7\u00E3o \u2014 manifesto incompat\u00EDvel \u00E9 rejeitado. |\n\n### index.js\n\n```js\n'use strict';\n\nmodule.exports.register = function register(registry) {\n registry.addFilter('theme:data:posts', (value) => value);\n};\n```\n\nO `register(registry)` \u00E9 chamado quando o plugin \u00E9 carregado. Use o registro\npara expor filters (transforma\u00E7\u00F5es) \u2014 veja o que existe em\n`GET /api/v1/hooks/catalog` para os nomes e contratos dispon\u00EDveis.\n\n## Fluxo de desenvolvimento\n\n```bash\n# 1. Crie (em ./plugins do projeto, ou num workspace externo com --dir)\nnpx okcms plugin:create --name meu-plugin\n\n# 2. Implemente plugins/meu-plugin/index.js\n\n# 3. Se criou FORA do projeto, instale (valida compatibilidade e copia para plugins/)\nnpx okcms plugin:install --name ../meu-plugin-fonte\n\n# 4. Gest\u00E3o\nnpx okcms plugin:list # instalados + status\nnpx okcms plugin:manage -n meu-plugin --info # informa\u00E7\u00F5es do manifesto\nnpx okcms plugin:manage -n meu-plugin --disable # desabilita (mant\u00E9m os arquivos)\nnpx okcms plugin:manage -n meu-plugin --enable # habilita de novo\nnpx okcms plugin:manage -n meu-plugin --uninstall # remove arquivos + registro\n\n# 5. Busca no npm (pacotes com a keyword okcms-plugin)\nnpx okcms plugin:search -q galeria\n```\n\n## Publicando\n\nEmpacote o diret\u00F3rio do plugin como pacote npm com a keyword\n`okcms-plugin` (\u00E9 o que o `okcms plugin:search` consulta) e mantenha\n`compatibility.okcms` atualizado para a linha do CMS que voc\u00EA suporta.\n";
5
5
  /** THEME.md — guia de desenvolvimento de temas. */
6
- export declare const THEME_DOC = "# Desenvolvendo um Tema\n\nTema \u00E9 o visual do site p\u00FAblico: **templates** (hierarquia de p\u00E1ginas) +\n**estilos**, com isolamento por `[data-theme]` para que um tema nunca vaze\nCSS para outro.\n\n## Estrutura gerada\n\n```bash\nokcms theme:create --name meu-tema --style css # css | scss | tailwind\n```\n\n```\nthemes/meu-tema/\n\u251C\u2500\u2500 theme.json # manifest (type: theme + compatibilidade)\n\u251C\u2500\u2500 templates/\n\u2502 \u251C\u2500\u2500 index.html # listagem (home)\n\u2502 \u2514\u2500\u2500 single.html # p\u00E1gina \u00FAnica (post/conte\u00FAdo)\n\u251C\u2500\u2500 style.css # engine css \u2014 ou styles/main.scss \u2014 ou src/input.css\n\u2514\u2500\u2500 README.md\n```\n\n### theme.json\n\n```json\n{\n \"name\": \"meu-tema\",\n \"version\": \"0.1.0\",\n \"description\": \"Tema meu-tema para OkCMS\",\n \"type\": \"theme\",\n \"compatibility\": { \"okcms\": \"^0.1.x\" }\n}\n```\n\nCom `--style scss` ou `--style tailwind`, o manifesto ganha tamb\u00E9m\n`stylesConfig` (`engine`, `entry`, `output`, `isolation`) apontando para a\nentrada de estilos. `compatibility.okcms` \u00E9 preenchido e validado\nautomaticamente, como nos plugins.\n\n### Templates\n\nSintaxe de template com vari\u00E1veis e la\u00E7os:\n\n```html\n<main class=\"site\">\n {{#each posts}}\n <article>\n <h2>{{this.title}}</h2>\n <p>{{this.excerpt}}</p>\n </article>\n {{/each}}\n</main>\n```\n\n- `templates/index.html` \u2014 listagem (ex.: `{{#each posts}}`)\n- `templates/single.html` \u2014 item individual (ex.: `{{title}}`, `{{content}}`)\n\n## Estilos por engine\n\n| `--style` | Arquivo gerado | Build |\n|---|---|---|\n| `css` (default) | `style.css` | nenhum \u2014 servido direto |\n| `scss` | `styles/main.scss` (+ `components.scss`) | `okcms theme:build -n meu-tema` |\n| `tailwind` | `src/input.css` + `tailwind.config.js` | `okcms theme:build -n meu-tema` |\n\nO build compila para `dist/theme.css` **com isolamento\n`[data-theme=\"meu-tema\"]`** (sem vazar estilos entre temas; o Tailwind j\u00E1\nsai com `preflight: false`).\n\n## Fluxo de desenvolvimento\n\n```bash\n# 1. Crie\nokcms theme:create --name meu-tema --style scss\n\n# 2. Edite templates/ e estilos\n\n# 3. Compile os estilos (scss/tailwind)\nokcms theme:build --name meu-tema\n\n# 4. Ative (grava activeTheme no okcms.config.json)\nokcms theme:manage --name meu-tema --set-active\n# (equivalente: ACTIVE_THEME=meu-tema no .env)\n\n# 5. Gest\u00E3o\nokcms theme:list # instalados + status\nokcms theme:manage -n meu-tema --info # informa\u00E7\u00F5es do theme.json\nokcms theme:manage -n meu-tema --disable|enable\nokcms theme:manage -n meu-tema --uninstall\nokcms theme:search -q blog # busca no npm (keyword okcms-theme)\n\n# Se criou FORA do projeto:\nokcms theme:install --name ../meu-tema-fonte\n```\n\n## Publicando\n\nPublique como pacote npm com a keyword `okcms-theme` (alvo do\n`okcms theme:search`) e mantenha `compatibility.okcms` na linha suportada\ndo CMS. O `theme:build` deve ser executado no seu processo de release para\nque `dist/theme.css` v\u00E1 junto no pacote.\n";
6
+ export declare const THEME_DOC = "# Desenvolvendo um Tema\n\nTema \u00E9 o visual do site p\u00FAblico: **templates** (hierarquia de p\u00E1ginas) +\n**estilos**, com isolamento por `[data-theme]` para que um tema nunca vaze\nCSS para outro.\n\n> Os comandos usam `npx` com a CLI local do projeto (sem instala\u00E7\u00E3o\n> global). Com a CLI global (`bun add -g @oktis-works/cms`), rode\n> `okcms ...` direto.\n\n## Estrutura gerada\n\n```bash\nnpx okcms theme:create --name meu-tema --style css # css | scss | tailwind\n```\n\n```\nthemes/meu-tema/\n\u251C\u2500\u2500 theme.json # manifest (type: theme + compatibilidade)\n\u251C\u2500\u2500 templates/\n\u2502 \u251C\u2500\u2500 index.html # listagem (home)\n\u2502 \u2514\u2500\u2500 single.html # p\u00E1gina \u00FAnica (post/conte\u00FAdo)\n\u251C\u2500\u2500 style.css # engine css \u2014 ou styles/main.scss \u2014 ou src/input.css\n\u2514\u2500\u2500 README.md\n```\n\n### theme.json\n\n```json\n{\n \"name\": \"meu-tema\",\n \"version\": \"0.1.0\",\n \"description\": \"Tema meu-tema para OkCMS\",\n \"type\": \"theme\",\n \"compatibility\": { \"okcms\": \"^0.1.x\" }\n}\n```\n\nCom `--style scss` ou `--style tailwind`, o manifesto ganha tamb\u00E9m\n`stylesConfig` (`engine`, `entry`, `output`, `isolation`) apontando para a\nentrada de estilos. `compatibility.okcms` \u00E9 preenchido e validado\nautomaticamente, como nos plugins.\n\n### Templates\n\nSintaxe de template com vari\u00E1veis e la\u00E7os:\n\n```html\n<main class=\"site\">\n {{#each posts}}\n <article>\n <h2>{{this.title}}</h2>\n <p>{{this.excerpt}}</p>\n </article>\n {{/each}}\n</main>\n```\n\n- `templates/index.html` \u2014 listagem (ex.: `{{#each posts}}`)\n- `templates/single.html` \u2014 item individual (ex.: `{{title}}`, `{{content}}`)\n\n## Estilos por engine\n\n| `--style` | Arquivo gerado | Build |\n|---|---|---|\n| `css` (default) | `style.css` | nenhum \u2014 servido direto |\n| `scss` | `styles/main.scss` (+ `components.scss`) | `okcms theme:build -n meu-tema` |\n| `tailwind` | `src/input.css` + `tailwind.config.js` | `okcms theme:build -n meu-tema` |\n\nO build compila para `dist/theme.css` **com isolamento\n`[data-theme=\"meu-tema\"]`** (sem vazar estilos entre temas; o Tailwind j\u00E1\nsai com `preflight: false`).\n\n## Fluxo de desenvolvimento\n\n```bash\n# 1. Crie\nnpx okcms theme:create --name meu-tema --style scss\n\n# 2. Edite templates/ e estilos\n\n# 3. Compile os estilos (scss/tailwind)\nnpx okcms theme:build --name meu-tema\n\n# 4. Ative (grava activeTheme no okcms.config.json)\nnpx okcms theme:manage --name meu-tema --set-active\n# (equivalente: ACTIVE_THEME=meu-tema no .env)\n\n# 5. Gest\u00E3o\nnpx okcms theme:list # instalados + status\nnpx okcms theme:manage -n meu-tema --info # informa\u00E7\u00F5es do theme.json\nnpx okcms theme:manage -n meu-tema --disable|enable\nnpx okcms theme:manage -n meu-tema --uninstall\nnpx okcms theme:search -q blog # busca no npm (keyword okcms-theme)\n\n# Se criou FORA do projeto:\nnpx okcms theme:install --name ../meu-tema-fonte\n```\n\n## Publicando\n\nPublique como pacote npm com a keyword `okcms-theme` (alvo do\n`okcms theme:search`) e mantenha `compatibility.okcms` na linha suportada\ndo CMS. O `theme:build` deve ser executado no seu processo de release para\nque `dist/theme.css` v\u00E1 junto no pacote.\n";
7
7
  //# sourceMappingURL=scaffold-docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-docs.d.ts","sourceRoot":"","sources":["../src/scaffold-docs.ts"],"names":[],"mappings":"AAIA,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqHzD;AAED,sDAAsD;AACtD,eAAO,MAAM,UAAU,64FAoFtB,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,SAAS,qqGAqGrB,CAAC"}
1
+ {"version":3,"file":"scaffold-docs.d.ts","sourceRoot":"","sources":["../src/scaffold-docs.ts"],"names":[],"mappings":"AAIA,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsMzD;AAED,sDAAsD;AACtD,eAAO,MAAM,UAAU,4lGAwFtB,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,SAAS,w3GAyGrB,CAAC"}
@@ -30,7 +30,7 @@ CMS API-first, multi-tenant e extensível. Quatro apps + uma CLI:
30
30
  |---|---|
31
31
  | \`okcms.config.json\` | Estrutura: nome, ports, storage, dirs, tema ativo. **Sem credenciais de banco.** |
32
32
  | \`.env\` | **Fonte única de conexão**: banco (\`DB_*\` ou \`DATABASE_URL\`), Redis, JWT, ports |
33
- | \`package.json\` | Apps do CMS (\`api\`, \`admin\`, \`web\`, \`worker\`) + CLI em devDependencies |
33
+ | \`package.json\` | Apps do CMS (\`api\`, \`admin\`, \`web\`, \`worker\`) + CLI em devDependencies + scripts de atalho (start, migrate, doctor…) |
34
34
  | \`plugins/\`, \`themes/\` | Extensões do projeto |
35
35
  | \`migrations/\` | SQL de migrations (\`okcms db:migrate\`) |
36
36
  | \`docker-compose.yml\` | Infra local: PostgreSQL + Redis (com healthcheck e volume) |
@@ -40,6 +40,12 @@ CMS API-first, multi-tenant e extensível. Quatro apps + uma CLI:
40
40
  Pré-requisitos: **Node 20+** ou **Bun 1.3+** · **PostgreSQL 16+** (obrigatório) ·
41
41
  **Redis** (opcional — só para filas do worker).
42
42
 
43
+ > **CLI do projeto:** os comandos abaixo rodam com \`npx okcms\` (com Bun,
44
+ > \`bunx okcms\`) — a CLI é instalada em devDependencies, **não** no PATH.
45
+ > Atalhos que já vêm no \`package.json\`: \`bun run start\` · \`bun run migrate\`
46
+ > · \`bun run doctor\`. Para usar \`okcms\` cru sem prefixo em qualquer pasta,
47
+ > instale a CLI globalmente: \`bun add -g @oktis-works/cms\`.
48
+
43
49
  \`\`\`bash
44
50
  # 1. Banco no .env — escolha UM formato:
45
51
  # (a) variáveis separadas (default)
@@ -56,13 +62,13 @@ docker compose up -d
56
62
  # REDIS_HOST=disabled (cache em memória; filas do worker exigem Redis)
57
63
 
58
64
  # 3. Migrações
59
- okcms db:migrate
65
+ npx okcms db:migrate
60
66
 
61
67
  # 4. Sobe tudo: api + admin + web + worker
62
- okcms start
68
+ npx okcms start
63
69
 
64
70
  # 5. Se algo falhar
65
- okcms doctor
71
+ npx okcms doctor
66
72
  \`\`\`
67
73
 
68
74
  Ports padrão (ajustáveis no \`.env\`): **API 3000** (\`PORT\`) · **Admin 3001**
@@ -72,16 +78,91 @@ Ports padrão (ajustáveis no \`.env\`): **API 3000** (\`PORT\`) · **Admin 3001
72
78
 
73
79
  \`\`\`bash
74
80
  docker compose up -d # só a infra: postgres:16 + redis:7 (healthcheck + volumes)
75
- okcms db:migrate
76
- okcms start # apps rodam como processos normais, fora do compose
81
+ npx okcms db:migrate
82
+ npx okcms start # apps rodam como processos normais, fora do compose
77
83
  \`\`\`
78
84
 
79
85
  O \`.env\` gerado já aponta para \`localhost\`, que é onde o compose expõe as
80
86
  portas do Postgres (5432) e do Redis (6379). Os apps em si rodam via
81
87
  \`okcms start\` — o compose é só a infraestrutura.
82
88
 
89
+ ## Produção
90
+
91
+ Em produção **não use \`okcms start\` como supervisor** — ele é conveniência
92
+ de dev: não reinicia filhos que morrem e mistura os logs de todos os apps num
93
+ único fluxo. Escolha um dos caminhos abaixo.
94
+
95
+ ### Caminho 1: pm2 (processos no host)
96
+
97
+ Um processo pm2 **por app** — restart em crash, log por processo, \`pm2
98
+ startup\` na inicialização do servidor e \`pm2 reload\` individual
99
+ (zero-downtime). Requer **Bun instalado no servidor** (os apps sobem via
100
+ \`bunx\`).
101
+
102
+ \`\`\`js
103
+ // ecosystem.config.js
104
+ module.exports = {
105
+ apps: [
106
+ { name: 'okcms-api', script: 'bunx', args: '@oktis-works/api', env: { NODE_ENV: 'production', PORT: 3000 } },
107
+ { name: 'okcms-admin', script: 'bunx', args: '@oktis-works/admin', env: { NODE_ENV: 'production', PORT: 3001 } },
108
+ { name: 'okcms-web', script: 'bunx', args: '@oktis-works/web', env: { NODE_ENV: 'production', PORT: 3002 } },
109
+ { name: 'okcms-worker', script: 'bunx', args: '@oktis-works/worker', env: { NODE_ENV: 'production', WORKER_MODE: 'pm2' } },
110
+ ],
111
+ };
112
+ \`\`\`
113
+
114
+ \`\`\`bash
115
+ pm2 start ecosystem.config.js
116
+ pm2 save && pm2 startup # sobe com o servidor
117
+ pm2 reload okcms-api # atualiza sem downtime (por app)
118
+ pm2 logs okcms-api # log por processo
119
+ pm2 unmonitor okcms-api && pm2 delete okcms-api # remover
120
+ \`\`\`
121
+
122
+ - O worker tem **modo pm2 nativo**: \`WORKER_MODE=pm2\` (cluster) combinado com
123
+ \`WORKER_COUNT\` e \`WORKER_CONCURRENCY\`.
124
+ - Como cada app é um executável independente, o \`okcms start\` não é
125
+ necessário em produção — o pm2 supervisoria cada um diretamente.
126
+
127
+ ### Caminho 2: Docker imutável
128
+
129
+ Deploy por **imagem**: builda → sobe → troca; nunca se atualiza pacote dentro
130
+ de um container rodando. O template de imagem da API é multi-stage (bun,
131
+ \`NODE_ENV=production\`, expõe 3000) e fica em \`apps/api/Dockerfile\` no
132
+ repositório do OkCMS — o build precisa do contexto do monorepo:
133
+
134
+ \`\`\`bash
135
+ git clone https://github.com/oktis-works/cms.git
136
+ cd cms
137
+ docker build -f apps/api/Dockerfile -t okcms-api:v1 .
138
+ docker run -d --env-file /caminho/para/.env -p 3000:3000 okcms-api:v1
139
+ \`\`\`
140
+
141
+ - **Atualização** = build da imagem nova + subir + desligar a antiga;
142
+ **rollback** = voltar à imagem anterior (tague cada build).
143
+ - Postgres/Redis de produção: serviços gerenciados ou containers próprios com
144
+ volume e backup — não use o \`docker-compose.yml\` de dev.
145
+ - **Migração como passo de deploy**: \`okcms db:migrate\` antes de subir a
146
+ versão nova da aplicação.
147
+
148
+ ### Checklist (ambos os caminhos)
149
+
150
+ - [ ] \`NODE_ENV=production\` e \`JWT_SECRET\` forte e único
151
+ - [ ] \`.env\` fora do versionamento; credenciais nunca em \`okcms.config.json\`
152
+ - [ ] Proxy reverso com TLS (nginx/caddy) na frente de api/admin/web
153
+ - [ ] Versões fixas no \`package.json\` do projeto (nada de \`@latest\` em deploy)
154
+ - [ ] \`okcms db:migrate\` no pipeline de deploy e \`okcms db:backup\` agendado
155
+ - [ ] Redis real em produção (as filas do worker não funcionam sem Redis)
156
+ - [ ] \`okcms doctor\` verde no ambiente de destino
157
+ - [ ] Logs com destino (pm2 logrotate, ou stdout do container coletado)
158
+
83
159
  ## Comandos da CLI
84
160
 
161
+ > Os nomes abaixo são o comando em si: no projeto, prefixe com \`npx\`
162
+ > (ex.: \`npx okcms doctor\`) ou use um script do \`package.json\` (\`bun run
163
+ > doctor\`); sem prefixo, \`okcms\` só funciona com a CLI instalada
164
+ > globalmente (\`bun add -g @oktis-works/cms\`).
165
+
85
166
  | Comando | O que faz |
86
167
  |---|---|
87
168
  | \`okcms init <dir>\` | Cria o projeto (arquivos + docs) e instala as dependências |
@@ -110,8 +191,8 @@ portas do Postgres (5432) e do Redis (6379). Os apps em si rodam via
110
191
  ## Atualizando
111
192
 
112
193
  \`\`\`bash
113
- okcms update # lista pacotes @oktis-works/* com versão nova
114
- okcms update -i # aplica a atualização
194
+ npx okcms update # lista pacotes @oktis-works/* com versão nova
195
+ npx okcms update -i # aplica a atualização
115
196
  \`\`\`
116
197
 
117
198
  ## Próximos passos
@@ -128,10 +209,14 @@ de **hooks e filters** (transformar dados, reagir a eventos de conteúdo etc.).
128
209
  O catálogo de hooks disponíveis é servido pela API em
129
210
  \`GET /api/v1/hooks/catalog\`.
130
211
 
212
+ > Os comandos usam \`npx\` com a CLI local do projeto (sem instalação
213
+ > global). Com a CLI global (\`bun add -g @oktis-works/cms\`), rode
214
+ > \`okcms ...\` direto.
215
+
131
216
  ## Estrutura gerada
132
217
 
133
218
  \`\`\`bash
134
- okcms plugin:create --name meu-plugin
219
+ npx okcms plugin:create --name meu-plugin
135
220
  \`\`\`
136
221
 
137
222
  \`\`\`
@@ -182,22 +267,22 @@ para expor filters (transformações) — veja o que existe em
182
267
 
183
268
  \`\`\`bash
184
269
  # 1. Crie (em ./plugins do projeto, ou num workspace externo com --dir)
185
- okcms plugin:create --name meu-plugin
270
+ npx okcms plugin:create --name meu-plugin
186
271
 
187
272
  # 2. Implemente plugins/meu-plugin/index.js
188
273
 
189
274
  # 3. Se criou FORA do projeto, instale (valida compatibilidade e copia para plugins/)
190
- okcms plugin:install --name ../meu-plugin-fonte
275
+ npx okcms plugin:install --name ../meu-plugin-fonte
191
276
 
192
277
  # 4. Gestão
193
- okcms plugin:list # instalados + status
194
- okcms plugin:manage -n meu-plugin --info # informações do manifesto
195
- okcms plugin:manage -n meu-plugin --disable # desabilita (mantém os arquivos)
196
- okcms plugin:manage -n meu-plugin --enable # habilita de novo
197
- okcms plugin:manage -n meu-plugin --uninstall # remove arquivos + registro
278
+ npx okcms plugin:list # instalados + status
279
+ npx okcms plugin:manage -n meu-plugin --info # informações do manifesto
280
+ npx okcms plugin:manage -n meu-plugin --disable # desabilita (mantém os arquivos)
281
+ npx okcms plugin:manage -n meu-plugin --enable # habilita de novo
282
+ npx okcms plugin:manage -n meu-plugin --uninstall # remove arquivos + registro
198
283
 
199
284
  # 5. Busca no npm (pacotes com a keyword okcms-plugin)
200
- okcms plugin:search -q galeria
285
+ npx okcms plugin:search -q galeria
201
286
  \`\`\`
202
287
 
203
288
  ## Publicando
@@ -213,10 +298,14 @@ Tema é o visual do site público: **templates** (hierarquia de páginas) +
213
298
  **estilos**, com isolamento por \`[data-theme]\` para que um tema nunca vaze
214
299
  CSS para outro.
215
300
 
301
+ > Os comandos usam \`npx\` com a CLI local do projeto (sem instalação
302
+ > global). Com a CLI global (\`bun add -g @oktis-works/cms\`), rode
303
+ > \`okcms ...\` direto.
304
+
216
305
  ## Estrutura gerada
217
306
 
218
307
  \`\`\`bash
219
- okcms theme:create --name meu-tema --style css # css | scss | tailwind
308
+ npx okcms theme:create --name meu-tema --style css # css | scss | tailwind
220
309
  \`\`\`
221
310
 
222
311
  \`\`\`
@@ -280,26 +369,26 @@ sai com \`preflight: false\`).
280
369
 
281
370
  \`\`\`bash
282
371
  # 1. Crie
283
- okcms theme:create --name meu-tema --style scss
372
+ npx okcms theme:create --name meu-tema --style scss
284
373
 
285
374
  # 2. Edite templates/ e estilos
286
375
 
287
376
  # 3. Compile os estilos (scss/tailwind)
288
- okcms theme:build --name meu-tema
377
+ npx okcms theme:build --name meu-tema
289
378
 
290
379
  # 4. Ative (grava activeTheme no okcms.config.json)
291
- okcms theme:manage --name meu-tema --set-active
380
+ npx okcms theme:manage --name meu-tema --set-active
292
381
  # (equivalente: ACTIVE_THEME=meu-tema no .env)
293
382
 
294
383
  # 5. Gestão
295
- okcms theme:list # instalados + status
296
- okcms theme:manage -n meu-tema --info # informações do theme.json
297
- okcms theme:manage -n meu-tema --disable|enable
298
- okcms theme:manage -n meu-tema --uninstall
299
- okcms theme:search -q blog # busca no npm (keyword okcms-theme)
384
+ npx okcms theme:list # instalados + status
385
+ npx okcms theme:manage -n meu-tema --info # informações do theme.json
386
+ npx okcms theme:manage -n meu-tema --disable|enable
387
+ npx okcms theme:manage -n meu-tema --uninstall
388
+ npx okcms theme:search -q blog # busca no npm (keyword okcms-theme)
300
389
 
301
390
  # Se criou FORA do projeto:
302
- okcms theme:install --name ../meu-tema-fonte
391
+ npx okcms theme:install --name ../meu-tema-fonte
303
392
  \`\`\`
304
393
 
305
394
  ## Publicando
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-docs.js","sourceRoot":"","sources":["../src/scaffold-docs.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wEAAwE;AACxE,gFAAgF;AAEhF,wCAAwC;AACxC,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHxB,CAAC;AACF,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFzB,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGxB,CAAC"}
1
+ {"version":3,"file":"scaffold-docs.js","sourceRoot":"","sources":["../src/scaffold-docs.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wEAAwE;AACxE,gFAAgF;AAEhF,wCAAwC;AACxC,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMxB,CAAC;AACF,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFzB,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2JtF;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,SAAS,CAAA;CAAO,GACzC,aAAa,CAmBf"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsKtF;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,SAAS,CAAA;CAAO,GACzC,aAAa,CAmBf"}
package/dist/scaffold.js CHANGED
@@ -36,6 +36,17 @@ export async function scaffoldProject(targetDir, name) {
36
36
  name: toPackageName(name),
37
37
  version: '0.1.0',
38
38
  private: true,
39
+ // Atalhos executáveis sem instalação global: npm/bun injetam
40
+ // node_modules/.bin no PATH de scripts — `bun run migrate` /
41
+ // `npm run start` funcionam logo após o init.
42
+ scripts: {
43
+ start: 'okcms start',
44
+ stop: 'okcms stop',
45
+ status: 'okcms status',
46
+ doctor: 'okcms doctor',
47
+ migrate: 'okcms db:migrate',
48
+ backup: 'okcms db:backup',
49
+ },
39
50
  dependencies: {
40
51
  '@oktis-works/api': appRange,
41
52
  '@oktis-works/admin': appRange,
@@ -145,10 +156,10 @@ volumes:
145
156
  }
146
157
  console.log(` ${step++}. docker compose up -d`);
147
158
  console.log(` ${step++}. edite o .env (criado já — ajuste DB_PASSWORD/JWT_SECRET)`);
148
- console.log(` ${step++}. okcms db:migrate`);
149
- console.log(` ${step++}. okcms start (sobe api, admin, web e worker)`);
159
+ console.log(` ${step++}. npx okcms db:migrate (ou: bun run migrate)`);
160
+ console.log(` ${step++}. npx okcms start (sobe api, admin, web e worker — ou: bun run start)`);
150
161
  console.log('');
151
- console.log(`Config do projeto: ${cfgName} | para ajuda: okcms --help`);
162
+ console.log(`Config do projeto: ${cfgName} | para ajuda: npx okcms --help`);
152
163
  console.log(`Documentação: README.md (uso local/Docker) · PLUGIN.md e THEME.md (extensões)`);
153
164
  return root;
154
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/cms",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,11 +19,11 @@
19
19
  "clean": "rm -rf dist tsconfig.tsbuildinfo"
20
20
  },
21
21
  "dependencies": {
22
- "@oktis-works/config": "0.1.6",
23
- "@oktis-works/core": "0.1.6",
24
- "@oktis-works/database": "0.1.6",
25
- "@oktis-works/validation": "0.1.6",
26
- "@oktis-works/theme-runtime": "0.1.6"
22
+ "@oktis-works/config": "0.1.8",
23
+ "@oktis-works/core": "0.1.8",
24
+ "@oktis-works/database": "0.1.8",
25
+ "@oktis-works/validation": "0.1.8",
26
+ "@oktis-works/theme-runtime": "0.1.8"
27
27
  },
28
28
  "devDependencies": {
29
29
  "typescript": "5.7.3"