help.c.nf / Pacotes

Registro de Pacotes

p.c.nf é o registro de pacotes da CNF — um namespace no estilo do GitHub para publicar pacotes versionados. Cada artefato tem URL estável, contador de downloads e controles de acesso.

Visão geral

p.c.nf hospeda pacotes em um namespace <username>/<project>. Cada projeto tem uma ou mais versões, e cada versão pode ter um ou mais artefatos para download.

É semelhante a @scope/package do npm ou user/repo do GitHub, mas para artefatos binários em vez de código-fonte.

Estrutura de URLs

p.c.nf/ Catálogo — explore todos os pacotes públicos
p.c.nf/<user> Perfil do usuário — lista seus pacotes
p.c.nf/<user>/<pkg> Página do projeto — versão mais recente e histórico
p.c.nf/<user>/<pkg>/<version> Página da versão — artefatos e registro de alterações
p.c.nf/<user>/<pkg>/download Baixar o artefato mais recente
p.c.nf/<user>/<pkg>/<version>/download Baixar uma versão específica (permanente)
p.c.nf/<user>/<pkg>/<version>/<label> Baixar um artefato identificado (por exemplo, uma variante de plataforma)

Baixando

Baixe um pacote com curl ou wget:

# Versão mais recente curl -LO https://p.c.nf/c/cred-extension/download # Versão fixada curl -LO https://p.c.nf/c/cred-extension/2.0.1/download

Os downloads aceitam solicitações HTTP Range para retomada e solicitações GET condicionais que retornam 304 Not Modified.

Limite: 30 downloads por endereço IP a cada minuto. O cabeçalho 429 Retry-After é retornado quando o limite é excedido.

Publicando

Publique uma nova versão pelo console ou pela API HTTP. Os dois métodos criam o projeto na primeira publicação.

Pela API

curl -X POST https://p.c.nf/api/publish \ -H "Authorization: Bearer cnf_..." \ -F "slug=my-tool" \ -F "version=1.0.0" \ -F "file=@dist/my-tool.zip" \ -F "description=Short one-line summary" \ -F "category=Client tools" Publicado you/my-tool@1.0.0

Campos obrigatórios:

  • slug — somente letras minúsculas e hifens (máximo de 128 caracteres)
  • version — texto em formato livre; recomenda-se o versionamento semântico
  • file — o artefato a enviar

Campos opcionais: description, category, icon, visibility, changelog e label para versões com vários artefatos.

Pelo console

Entre em console.c.nf e abra a administração de Downloads. O console gerencia o envio do arquivo, os metadados e as atualizações de versão.

Observação: É necessário ser um usuário CNF autenticado para publicar. Cada usuário publica em seu próprio namespace /<username>/. Você não pode publicar em nome de outro usuário.

Autenticação

Há compatibilidade com dois métodos de autenticação:

Chave de API (recomendada para automação)

Gere uma chave em console.c.nf/account/api e envie-a como um token Bearer:

Authorization: Bearer cnf_a1b2c3d4e5f6...

As chaves são exibidas uma vez ao serem geradas. Você pode criar até 10 chaves ativas e revogá-las a qualquer momento.

Cookie de sessão

Ao navegar por console.c.nf ou id.c.nf, o cookie da sua sessão autentica você automaticamente. Isso é útil para a extensão do navegador e o console.

Visibilidade

public Listado no catálogo; qualquer pessoa pode baixá-lo.
unlisted Oculto do catálogo; qualquer pessoa com a URL pode baixá-lo.
private Somente o proprietário e os administradores podem vê-lo ou baixá-lo.

Versões

Cada versão publicada é preservada em uma URL estável. As versões antigas continuam disponíveis após novos lançamentos; assim, consumidores fixados em /1.0.0/download continuam recebendo exatamente essa compilação.

O endpoint sem versão /download sempre fornece a versão mais recente.

Os textos de versão têm formato livre. Recomenda-se o versionamento semântico (MAJOR.MINOR.PATCH) para maior clareza, mas ele não é obrigatório.

FAQ

Qual é a diferença entre p.c.nf e d.c.nf?

p.c.nf é um registro de pacotes versionados com um namespace para cada usuário (user/project). d.c.nf é um catálogo simples de downloads selecionados e gerenciados por administradores da CNF.

Posso excluir uma versão?

Sim, pelo console. Excluir uma versão quebra as URLs fixadas que os consumidores possam ter salvo; por isso, normalmente é preferível publicar outra versão.

Há limite de tamanho?

O limite do artefato depende do seu nível de permissão: 50 MB por nível UPL, até aproximadamente 500 MB. Arquivos maiores podem ser enviados em partes pelo console.

Como autentico a extensão?

A extensão CNF Cred aceita cookies de sessão quando você está conectado a console.c.nf, além de chaves de API. Configure o método nas opções da extensão.