Config Auth Core Basic
Overview
Criar ou recriar o pacote no caminho padrão detectado automaticamente com template versionado na própria skill. O alvo padrão será:
packages/authquando o monorepo estiver configurado com pacotes diretos (packages/*)packages/auth/corequando o monorepo estiver configurado com pacotes aninhados (packages/*/*)
A detecção considera primeiro workspaces do package.json raiz e, em caso de ambiguidade, a estrutura existente no disco.
Executar o script Node da skill para gerar estrutura mínima de autenticação com foco em usuário, senha e casos de uso de aplicação.
O namespace e diretórios padrão devem ser resolvidos por configuração global compartilhada em skills.config.json (.agents/skills/.env, .cloud/skills/.env ou .env/).
A implementação gerada é determinística e inclui:
user(entidade comavatarUrlopcional eadmincom defaultfalse, providers e use cases básicos)password(entidade, providers e use case de troca de senha com política de reuso/força)application(queryuser-existse use casecreate-usercomavatarUrlopcional)- suíte de testes unitários dos fluxos principais
- criação de usuário com transação explícita (
TransactionManager.runInTransaction) para persistirUser+Password
Correção obrigatória do modelo:
Passwordvalida hash criptografado viaHashPassword(somente hash).- Não usar
StrongPassworddentro dePassword; validação de força ocorre emPasswordChangePolicyService. ChangePasswordUseCasedepende deUserExistsQuery,PasswordRepository.findRecentByUserIdePasswordCryptoProvider.
Workflow
- Executar
node scripts/create-auth-core-basic.mjs. - Namespace é resolvido por precedência:
--scope>PROJECT_NAMESPACE/SKILLS_NAMESPACE>skills.config.local.json>skills.config.json> fallback do template. - Validar contrato mínimo do template antes de copiar arquivos para o destino.
- Se o diretório já existir, usar
--forcepara sobrescrever (com proteção para nunca apagar raiz do repositório/sistema). - Após gerar no alvo detectado (
packages/authoupackages/auth/core), confirmar estrutura desrc/etest/conforme contrato atual do módulo. - Opcionalmente executar testes do pacote com
--run-tests(somente no alvo padrão do workspace; em--targetcustomizado os testes são ignorados com log explícito). - Sincronizar dependência do novo pacote auth no backend e frontend (
apps/backend/package.jsoneapps/web/package.json), adicionando<scope>/authemdependenciesquando necessário. - Executar
npm installno root para atualizar lockfile e resolução das workspaces. - Registrar execução em
.log/skills.logcom título da skill e lista simples dos comandos/ações relevantes (sem timestamps e sem status), garantindo.log/no.gitignore.
Commands
Criar/recriar no alvo padrão detectado no namespace padrão:
node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs
Definir namespace explícito:
node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs --scope @namespace
Sobrescrever diretório existente:
node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs --force
Criar e executar testes do pacote auth core:
node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs --force --run-tests
Criar sem sincronizar apps e sem instalar dependências (modo avançado):
node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs --force --skip-apps-sync --skip-install
Definir namespace por variável de ambiente:
PROJECT_NAMESPACE=@namespace node .agents/skills/config-auth-core-basic/scripts/create-auth-core-basic.mjs --force
Resources
scripts/create-auth-core-basic.mjs: gerador determinístico cross-platform.assets/auth-core-basic-template: template completo do auth core básico no estado atual (código + testes + configs).references/auth-core-basic-template-contract.md: contrato dos artefatos gerados.- sincronização automática de dependências em backend/frontend +
npm installno root (desativável com flags de skip). - Log local de execução:
.log/skills.log(não versionado;.log/é adicionado ao.gitignoreautomaticamente, sem metadados extras).
Shared Config
- Arquivo versionado:
skills.config.json(.agents/skills/.env,.cloud/skills/.envou.env/) - Override local (gitignored):
skills.config.local.jsonno mesmo diretório da configuração principal - Exemplo local:
skills.config.local.example.jsonno mesmo diretório da configuração principal
Output Contract
A skill deve gerar exatamente a estrutura descrita em references/auth-core-basic-template-contract.md, mantendo o layout atual (src/application no lugar de src/root) e sem incluir permission, role, audit, oauth ou use cases de perfil.
Risk Logging Guardrails
- Registrar fatos de execucao em
.log/skills.logcom marcador no inicio da linha. - Marcadores minimos esperados:
[CMD],[FILE_CREATE],[FILE_UPDATE],[FILE_DELETE],[DIR_CREATE],[RISK],[FAIL],[AI]. - Sempre registrar
[RISK]quando houver sobrescrita, exclusao, rename/move, ou fallback forcado em arquivos/pastas. - Toda falha inesperada deve gerar
[FAIL]com descricao factual curta do evento. - Operacoes de terminal e alteracoes de arquivos devem passar pelos utilitarios compartilhados em
../utilspara manter rastreabilidade consistente.
Global Standards
- Consultar
../skills-standards.mdpara padrões globais de nomenclatura e convenções gerais entre skills.