@ceupay/template-cli 0.0.0-stage → 0.1.0-alpha.2

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0-alpha.2
4
+
5
+ Add an explicit proprietary use license allowing npm/npx installation and
6
+ AI-assisted customization of authorized CeuPay stores, including commercial
7
+ client work. Preserve ownership of original merchant content and third-party
8
+ license permissions. Include and verify the exact license in the packed artifact.
9
+
10
+ Prepare the first public npm distribution under `@ceupay`, with explicit public
11
+ access and the `alpha` distribution tag. The standalone CLI includes third-party
12
+ license notices. Local editing and guarded remote publication remain unchanged.
13
+
14
+ Prévias opcionais de catálogo, produto e post por `--page`, com contexto fictício e validação das páginas permitidas. O formato JSON existente preserva esses arquivos. Apresentação pública depende de piloto separado, ainda desativado.
15
+
16
+ Fluxo remoto do piloto: baixar template e histórico, preparar operação persistente, publicar/restaurar com confirmação explícita e recuperar resposta perdida. Vínculo com loja/origem e revisão protege o projeto; credenciais ficam no ambiente. Piloto desativado, alpha ainda não publicada.
17
+
18
+ ## 0.1.0-alpha.1
19
+
20
+ Primeira alpha local: projetos dos modelos existentes, importação/exportação JSON, validação sem truncamento silencioso e prévia com catálogo fictício. Reutiliza os validadores e sanitizadores canônicos.
21
+
22
+ Não publicada. Download da loja, publicação remota e histórico/restauração seguem pendentes.
package/LICENSE ADDED
@@ -0,0 +1,79 @@
1
+ CeuPay Editor Proprietary Use License
2
+ Version 1.0 — 2026-10-29
3
+
4
+ Copyright (c) 2026 the CeuPay Editor rights holders. All rights reserved except
5
+ for the permissions expressly granted below.
6
+
7
+ 1. Scope
8
+
9
+ This license applies to the CeuPay-owned code in @ceupay/template-cli, including
10
+ its editor, validators and bundled CeuPay rendering code (the "Editor"). It does
11
+ not license the CeuPay platform, backend, website, API service, trademarks or any
12
+ other repository code. Third-party components are addressed in section 5.
13
+
14
+ 2. Permitted use
15
+
16
+ You may download, install, run and make reasonable working or backup copies of
17
+ the Editor, including through npm or npx, to create, inspect, edit, validate,
18
+ preview, import, export and publish templates for CeuPay stores you own or are
19
+ authorized to manage. This permission includes commercial stores and paid design
20
+ or development work for authorized CeuPay customers. No separate Editor license
21
+ fee is required under this license; use of CeuPay services may require a plan.
22
+
23
+ You may use coding assistants, including Claude, Codex and other AI tools, to
24
+ perform that permitted work. You may provide them the documentation, template
25
+ files and Editor material reasonably needed for that work, subject to your own
26
+ authorization to share those materials. This permission does not authorize
27
+ disclosing store credentials, customer data or other confidential information.
28
+
29
+ You may inspect the Editor and make local adaptations needed for this permitted
30
+ use. You may not distribute those adaptations as a modified Editor without
31
+ separate written permission from its rights holders.
32
+
33
+ 3. Your templates and other content
34
+
35
+ This license does not transfer ownership of the templates, HTML, CSS, JavaScript,
36
+ text or other original content you create. You may use, modify, sell and share
37
+ your own template work, including work created with AI assistance, subject to
38
+ rights in any pre-existing material it contains. Bundled CeuPay template examples
39
+ may be used and adapted as part of templates for CeuPay stores under section 2.
40
+ Generating or exporting a template does not transfer ownership of the Editor.
41
+
42
+ 4. Reserved rights
43
+
44
+ Except as expressly permitted above or required by applicable law, you may not
45
+ redistribute, relicense, sublicense, sell or publish copies of the Editor or
46
+ modified versions of it; remove its copyright or license notices; or use its
47
+ code to build or operate a separate editor, competing platform or general-purpose
48
+ template service. You may link others to the official package distribution.
49
+ Public availability on npm does not make this Editor open-source software or
50
+ grant a license to other CeuPay systems. No trademark rights are granted.
51
+
52
+ 5. Third-party software
53
+
54
+ Third-party components retain their own licenses, notices and permissions.
55
+ See dist/third-party-notices.txt and the licenses supplied with any separately
56
+ installed dependencies. Nothing in this license restricts rights granted by
57
+ those third-party licenses. Its restrictions apply only to CeuPay-owned code.
58
+
59
+ 6. Service authorization
60
+
61
+ This license does not grant access to a store, account or API. Remote operations
62
+ require the relevant owner's authorization and valid CeuPay access permissions.
63
+ It does not waive service terms or authorize bypassing authentication, store
64
+ isolation, payment validation, plan limits or publication controls.
65
+
66
+ 7. Warranty and liability
67
+
68
+ To the extent permitted by applicable law, the Editor is provided "AS IS",
69
+ without warranties of merchantability, fitness for a particular purpose or
70
+ non-infringement. Its rights holders are not liable for indirect or consequential
71
+ loss arising from its use. Nothing here excludes rights or liabilities that
72
+ cannot lawfully be excluded.
73
+
74
+ 8. Compliance
75
+
76
+ The permissions in this license are conditional on compliance with it. If you
77
+ use or distribute the Editor outside these permissions, stop that unauthorized
78
+ use and distribution. Other permissions require separate written authorization
79
+ from the CeuPay Editor rights holders through the official CeuPay support channel.
package/README.md CHANGED
@@ -1,3 +1,123 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
1
+ # CLI de templates CeuPay
2
+
3
+ Alpha da etapa 7. Cria projetos editáveis, importa/exporta o JSON existente, valida arquivos e gera prévia local. O fluxo remoto exige habilitação explícita da loja e acesso à API. Novas publicações de código e restaurações exigem o recurso templates.
4
+
5
+ Distribuição pública alpha:
6
+
7
+ ```sh
8
+ npm install --global @ceupay/template-cli@alpha
9
+ ceupay-template --help
10
+ ```
11
+
12
+ Pacote instalável disponível na [release privada tools-v0.1.0-alpha.1](https://github.com/ceu-studio/store/releases/tag/tools-v0.1.0-alpha.1).
13
+ Baixe `ceupay-template-cli-0.1.0-alpha.1.tgz` e `SHA256SUMS`, confira o SHA-256 e instale:
14
+
15
+ ```sh
16
+ npm install ./ceupay-template-cli-0.1.0-alpha.1.tgz
17
+ npx ceupay-template --help
18
+ ```
19
+
20
+ O download exige acesso ao repositório privado. Comandos locais não exigem credenciais de provedores.
21
+ A alpha.2 usa distribuição pública no npm; a alpha.1 privada é preservada.
22
+
23
+ ## Licença
24
+
25
+ O editor é proprietário. A [licença de uso](LICENSE) permite instalar e executar
26
+ o pacote por npm/npx e usar Claude, Codex ou outras ferramentas para personalizar
27
+ lojas CeuPay próprias ou de clientes que autorizaram o trabalho, inclusive comercialmente.
28
+ Você mantém os direitos sobre seu conteúdo original. A licença não permite
29
+ redistribuir o editor ou criar outra plataforma com o código dele. Componentes
30
+ de terceiros mantêm suas respectivas licenças em `dist/third-party-notices.txt`.
31
+
32
+ ## Preparar
33
+
34
+ Requer Node 22.12 ou superior e pnpm 8.15.9. No repositório:
35
+
36
+ ```sh
37
+ pnpm install --frozen-lockfile --ignore-scripts
38
+ pnpm build
39
+ pnpm test:types
40
+ pnpm test
41
+ pnpm pack --pack-destination .runtime/dist
42
+ pnpm check:package
43
+ ```
44
+
45
+ O build reutiliza os validadores do site/backend e o renderizador Liquid/HTML/CSS existente. O arquivo `dist/main.cjs` já inclui as dependências necessárias, com seus avisos em `dist/third-party-notices.txt`. A CLI não altera as dependências do site/backend.
46
+
47
+ Os testes HTTPS exigem OpenSSL. No Windows, `CEUPAY_TEST_OPENSSL` pode indicar o executável instalado.
48
+
49
+ ## Criar e editar
50
+
51
+ ```sh
52
+ node dist/main.cjs bases
53
+ node dist/main.cjs init fogueira ./meu-template
54
+ node dist/main.cjs validate ./meu-template
55
+ node dist/main.cjs preview ./meu-template ./preview.html
56
+ ```
57
+
58
+ `init` exige uma pasta que ainda não exista. A pasta pai precisa existir. O projeto contém `ceupay-template.json` com nome, versão, schema e valores; o código fica em `pages/`, `layouts/`, `components/`, `styles/` e `scripts/`. Edite os arquivos com seu editor habitual. A prévia usa catálogo fictício, sem autenticação ou pagamento.
59
+
60
+ Abra o HTML gerado no seu navegador. A CLI não inicia servidor nem abre portas. A prévia usa os sanitizadores existentes e bloqueia scripts por CSP; os arquivos JavaScript do projeto ficam preservados para exportação, mas não são executados nessa prévia. Imagens HTTPS externas podem ser carregadas pelo navegador.
61
+
62
+ Arquivos opcionais `pages/catalog.liquid`, `pages/product.liquid` e `pages/post.liquid` podem ser visualizados com `--page catalog`, `--page product` ou `--page post`. A prévia usa dados fictícios e preserva os arquivos na importação/exportação. Na loja, a apresentação dessas páginas depende de um piloto separado, inicialmente desligado. Variantes, campos obrigatórios, carrinho, autenticação e pagamento continuam controlados pela plataforma.
63
+
64
+ ## Importar e exportar o formato existente
65
+
66
+ ```sh
67
+ node dist/main.cjs import ./ceupay-template-exportado.json ./projeto-importado
68
+ node dist/main.cjs export ./projeto-importado ./ceupay-template-editado.json
69
+ ```
70
+
71
+ O JSON exportado mantém o contrato do painel. Os comandos locais não publicam na loja.
72
+
73
+ Código, exportações e arquivos de operação existentes não são sobrescritos. Validação recusa links simbólicos, caminhos fora do formato permitido, arquivos grandes, Liquid inválido e dados que seriam silenciosamente truncados pelos validadores. Erros não imprimem o conteúdo do template. Não apague seus arquivos para contornar uma falha; corrija o conteúdo ou escolha outro destino.
74
+
75
+ ## Baixar da loja
76
+
77
+ Configure `CEUPAY_API_KEY` no ambiente protegido. A CLI não aceita a chave como argumento, não grava credenciais e não desativa a verificação TLS. O proprietário deve delegar `templates:read` e, para publicar/restaurar, `templates:write` em uma chave `cc_prod_`. Chaves de teste só consultam.
78
+
79
+ ```sh
80
+ node dist/main.cjs pull ./template-da-loja
81
+ node dist/main.cjs history --limit 20
82
+ node dist/main.cjs history --before 5 --limit 20
83
+ ```
84
+
85
+ Uma loja sem template customizado exige escolha de modelo: `pull ./novo-template --base horizonte`. `--revision 3` baixa uma versão anterior para inspeção. A CLI salva origem, loja, revisão e checksum em `.ceupay-remote.json`, sem a chave. Para outro servidor, configure `--api-origin https://sua-api.example` ou `CEUPAY_API_ORIGIN`; um arquivo local nunca escolhe sozinho o destino que receberá a credencial. `--store UUID` confere explicitamente a loja associada à chave.
86
+
87
+ ## Preparar e publicar
88
+
89
+ ```sh
90
+ node dist/main.cjs validate ./template-da-loja
91
+ node dist/main.cjs preview ./template-da-loja ./preview.html
92
+ node dist/main.cjs prepare-publish ./template-da-loja ./publicacao.json
93
+ # Revise publicacao.json: loja, origem, revisão e conteúdo.
94
+ node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
95
+ ```
96
+
97
+ Preparar salva uma operação nova antes de qualquer escrita remota. Publicar exige `--yes`, confere o conteúdo preparado e usa o SDK público. Em um projeto criado por `init` ou `import`, a primeira preparação também exige `--store UUID`. Publicação confirmada atualiza somente o vínculo remoto; seus arquivos de código permanecem editáveis. A versão interna do template é atribuída pelo servidor, e a revisão/checksum remotos controlam concorrência.
98
+
99
+ Se a loja mudou desde o download, a preparação é recusada. Baixe a revisão atual em outra pasta e revise suas alterações. Uma mudança após a preparação retorna `409 template/revision_conflict`. A CLI não avança silenciosamente a base para sobrescrever outra edição.
100
+
101
+ Após resposta perdida, preserve o arquivo e use a mesma operação:
102
+
103
+ ```sh
104
+ node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
105
+ # Se o projeto mudou ou ficou bloqueado após uma interrupção:
106
+ node dist/main.cjs replay ./publicacao.json --yes
107
+ ```
108
+
109
+ Não prepare outro UUID para compensar uma resposta incerta. `replay` reenvia a operação original: recupera a confirmação se ela já foi aplicada, ou permite sua primeira execução autorizada se não foi. Informa `replayed`, `revision` e `currentRevision`, sem alterar a pasta local. Se o vínculo não pôde ser atualizado, baixe o tema em nova pasta e revise os arquivos. Perder o recurso templates preserva consultas e recibos existentes, mas bloqueia novas instalações/restaurações. A operação recusada fica no disco para revisão ou retomada após upgrade. Perder o acesso à API, a chave ser revogada ou o piloto ficar indisponível continua bloqueando as chamadas; use o painel autenticado para consultar/remover quando a API não estiver disponível.
110
+
111
+ ## Restaurar uma versão
112
+
113
+ ```sh
114
+ node dist/main.cjs prepare-restore 3 ./restauracao.json --store UUID-DA-LOJA
115
+ # Revise restauracao.json antes de confirmar.
116
+ node dist/main.cjs restore ./restauracao.json --yes
117
+ ```
118
+
119
+ A restauração preserva o histórico e usa revisão/checksum atuais, UUID persistente e snapshot histórico conferido. Depois, baixe o tema atual em nova pasta antes de continuar a edição. Saídas de confirmação mostram metadados, sem despejar o código do template.
120
+
121
+ ## Verificação
122
+
123
+ Testes usam processos CLI reais, incluindo HTTPS com certificado isolado, confirmação explícita, resposta perdida, vínculo/loja/origem, revisão desatualizada e arquivos preservados. O teste do pacote instala o arquivo em consumidor separado; `SHA256SUMS` acompanha a alpha local. O CI também executa o pacote instalado em Node compatível contra Nest/PostgreSQL reais, junto das verificações de comércio. A publicação da alpha e a liberação do piloto continuam pendentes.