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

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,30 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0-alpha.3
4
+
5
+ Add start/serve, hidden short-lived editor session input, isolated interactive
6
+ browser preview with automatic reload, and explicit --watch --yes synchronization.
7
+ Preserve immutable operation files and stop on conflicts or uncertain responses.
8
+ Generate AGENTS.md, CLAUDE.md and complete local Liquid references for new projects.
9
+ Published alpha.2 and private alpha.1 artifacts remain immutable.
10
+
11
+ ## 0.1.0-alpha.2
12
+
13
+ Add an explicit proprietary use license allowing npm/npx installation and
14
+ AI-assisted customization of authorized CeuPay stores, including commercial
15
+ client work. Preserve ownership of original merchant content and third-party
16
+ license permissions. Include and verify the exact license in the packed artifact.
17
+
18
+ Prepare the first public npm distribution under `@ceupay`, with explicit public
19
+ access and the `alpha` distribution tag. The standalone CLI includes third-party
20
+ license notices. Local editing and guarded remote publication remain unchanged.
21
+
22
+ 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.
23
+
24
+ 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.
25
+
26
+ ## 0.1.0-alpha.1
27
+
28
+ 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.
29
+
30
+ 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,151 @@
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
+ ## Editor com Claude/Codex
4
+
5
+ No painel Templates, crie uma sessão de 24 horas e copie o segredo. Requer loja
6
+ habilitada e recursos templates/API no plano. Execute:
7
+
8
+ ```sh
9
+ npx @ceupay/template-cli@alpha start ./minha-loja --watch --yes
10
+ ```
11
+
12
+ Cole a sessão na entrada oculta do terminal. Ela só fica na memória do processo;
13
+ nunca passe o segredo como argumento. Em automação confiável, CEUPAY_EDITOR_TOKEN
14
+ substitui a entrada interativa. Revogue a sessão no painel ao terminar, ou em Chaves
15
+ de API após fechar a tela; o prazo máximo é 24 horas, sem rotação para ampliá-lo.
16
+
17
+ start baixa a loja em uma pasta nova, ou usa um projeto previamente baixado. Abra
18
+ a pasta no Claude/Codex; AGENTS.md, CLAUDE.md e CEUPAY-REFERENCE.md são gerados em
19
+ projetos novos. O endereço 127.0.0.1 exibido abre a prévia com catálogo fictício,
20
+ scripts isolados em iframe e navegação/carrinho simulados. Sem pagamentos reais.
21
+
22
+ --watch --yes autoriza publicar alterações válidas e estáveis ao salvar. Sem essas
23
+ opções, start apenas baixa/mostra o projeto. serve PASTA mostra um projeto local
24
+ sem sessão remota. Ctrl+C encerra. A prévia recarrega quando arquivos válidos mudam.
25
+
26
+ Conflito, sessão expirada/revogada ou resposta incerta interrompem sincronização.
27
+ Preserve .ceupay-operations, seus corpos e recibos. Recupere a mesma operação com
28
+ replay e baixe uma pasta nova antes de reaplicar edições. Não apague operações
29
+ para forçar reenvio. Não existe escrita por HTTP no servidor local.
30
+
31
+ 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.
32
+
33
+ Distribuição pública alpha:
34
+
35
+ ```sh
36
+ npm install --global @ceupay/template-cli@alpha
37
+ ceupay-template --help
38
+ ```
39
+
40
+ 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).
41
+ Baixe `ceupay-template-cli-0.1.0-alpha.1.tgz` e `SHA256SUMS`, confira o SHA-256 e instale:
42
+
43
+ ```sh
44
+ npm install ./ceupay-template-cli-0.1.0-alpha.1.tgz
45
+ npx ceupay-template --help
46
+ ```
47
+
48
+ O download exige acesso ao repositório privado. Comandos locais não exigem credenciais de provedores.
49
+ A alpha.2 usa distribuição pública no npm; a alpha.1 privada é preservada.
50
+
51
+ ## Licença
52
+
53
+ O editor é proprietário. A [licença de uso](LICENSE) permite instalar e executar
54
+ o pacote por npm/npx e usar Claude, Codex ou outras ferramentas para personalizar
55
+ lojas CeuPay próprias ou de clientes que autorizaram o trabalho, inclusive comercialmente.
56
+ Você mantém os direitos sobre seu conteúdo original. A licença não permite
57
+ redistribuir o editor ou criar outra plataforma com o código dele. Componentes
58
+ de terceiros mantêm suas respectivas licenças em `dist/third-party-notices.txt`.
59
+
60
+ ## Preparar
61
+
62
+ Requer Node 22.12 ou superior e pnpm 8.15.9. No repositório:
63
+
64
+ ```sh
65
+ pnpm install --frozen-lockfile --ignore-scripts
66
+ pnpm build
67
+ pnpm test:types
68
+ pnpm test
69
+ pnpm pack --pack-destination .runtime/dist
70
+ pnpm check:package
71
+ ```
72
+
73
+ 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.
74
+
75
+ Os testes HTTPS exigem OpenSSL. No Windows, `CEUPAY_TEST_OPENSSL` pode indicar o executável instalado.
76
+
77
+ ## Criar e editar
78
+
79
+ ```sh
80
+ node dist/main.cjs bases
81
+ node dist/main.cjs init fogueira ./meu-template
82
+ node dist/main.cjs validate ./meu-template
83
+ node dist/main.cjs preview ./meu-template ./preview.html
84
+ ```
85
+
86
+ `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.
87
+
88
+ 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.
89
+
90
+ 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.
91
+
92
+ ## Importar e exportar o formato existente
93
+
94
+ ```sh
95
+ node dist/main.cjs import ./ceupay-template-exportado.json ./projeto-importado
96
+ node dist/main.cjs export ./projeto-importado ./ceupay-template-editado.json
97
+ ```
98
+
99
+ O JSON exportado mantém o contrato do painel. Os comandos locais não publicam na loja.
100
+
101
+ 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.
102
+
103
+ ## Baixar da loja
104
+
105
+ 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.
106
+
107
+ ```sh
108
+ node dist/main.cjs pull ./template-da-loja
109
+ node dist/main.cjs history --limit 20
110
+ node dist/main.cjs history --before 5 --limit 20
111
+ ```
112
+
113
+ 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.
114
+
115
+ ## Preparar e publicar
116
+
117
+ ```sh
118
+ node dist/main.cjs validate ./template-da-loja
119
+ node dist/main.cjs preview ./template-da-loja ./preview.html
120
+ node dist/main.cjs prepare-publish ./template-da-loja ./publicacao.json
121
+ # Revise publicacao.json: loja, origem, revisão e conteúdo.
122
+ node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
123
+ ```
124
+
125
+ 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.
126
+
127
+ 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.
128
+
129
+ Após resposta perdida, preserve o arquivo e use a mesma operação:
130
+
131
+ ```sh
132
+ node dist/main.cjs publish ./template-da-loja ./publicacao.json --yes
133
+ # Se o projeto mudou ou ficou bloqueado após uma interrupção:
134
+ node dist/main.cjs replay ./publicacao.json --yes
135
+ ```
136
+
137
+ 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.
138
+
139
+ ## Restaurar uma versão
140
+
141
+ ```sh
142
+ node dist/main.cjs prepare-restore 3 ./restauracao.json --store UUID-DA-LOJA
143
+ # Revise restauracao.json antes de confirmar.
144
+ node dist/main.cjs restore ./restauracao.json --yes
145
+ ```
146
+
147
+ 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.
148
+
149
+ ## Verificação
150
+
151
+ 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.