Commit Graph

13 Commits

Author SHA1 Message Date
Pulse Agent 2e50a96322 chore: sync memory dreams + pulse-libs perm/file timestamps 2026-05-20T21xx 2026-05-20 22:53:15 -03:00
Pulse Agent 51a806b506 feat: compose project atualizado — deploy Portainer API lock+caddy labels validados 2026-05-20 18:47:37 -03:00
Pulse Agent cfb037d081 feat(docker): add docker-server.mjs with CJS-safe ESM entry + reverse_proxy for Swarm 2026-05-20 16:17:04 -03:00
Pulse Agent 5a3746def5 docs(stack-proxy): modelo Docker Swarm funcional com Caddy
- landing test.octal.tec.br deployment completo
- modelo extraido do stack git funcional: labels caddy + rede public + restart
- runbook DOCKER-SWARM-RUNBOOK.md com 8 stacks e cheat sheet
- docker-state.json: snapshot completo 8 stacks 22 containers
- DOCKER-CHECKLIST.md: auto-check pre/post swap
- SESSION-CHECKLIST.md: checklist por sessão
- learned: Caddy precisa restart completo + coleta letra new certificados, erro783
2026-05-20 15:50:37 -03:00
Pulse Agent b605d27b88 sync: workspace completo — sistema de memória Gitea + pulse-memory/pulse-skills/pulse-docs/pulse-projects + memória 2026-05-20 2026-05-20 10:54:17 -03:00
pulse-agent 6dff4f8f48 test(components): 56/56 Button, Input, Alert, Card — clean suite no jest-dom (pure DOM matchers) 2026-05-20 00:51:49 -03:00
pulse-agent d1b3667755 fix(tests-hooks): useClipboard delay fix — setTimeout não atrasa para 0ms
- delay=0 no writeText mock fazia setCopied(false) disparar antes do expect
- Solução: delay=5000ms nos testes de clipboard para evitar race
- 23/23 hooks continua verde; suite total 80/80
2026-05-20 00:17:04 -03:00
pulse-agent 9afdccdc14 feat(tests-hooks): 23/23 hooks tests pass — useToggle, useAsync, useDebounce, useLocalStorage, useMedia, useInterval, useClipboard, useFetch
- useLocalStorage: retorna tupla [valor, setter] tipada como [T, (v: T|fn) => void]
- useAsync: espera microtask act cycle antes de checar status
- useClipboard: mock navigator.clipboard.writeText antes
- useMedia: mock matchMedia antes
- Busca por padrão: act() + waitFor p/ efeitos assíncronos (sem fakeTimers gerais)
- docs: PROJECTS-REGISTER, SESSION-STATE (pretérito + presente)
2026-05-19 23:37:04 -03:00
pulse-agent 5c11580077 chore(pending): workspace ponto de parada — docker nao instalado, gh nao instalado, disco cheio
- src/docker/ commitado separadamente
- SESSION-STATE.md atualizado com estado completo
- .github/workflows/ aguardando gh para configurar remote
- TABELA: pendências organizadas
2026-05-19 23:03:29 -03:00
pulse-agent 2855032e76 feat(core-docker): modulo docker com detector de stacks, gerador de compose e dockerfile para 10 stacks
- detector de stacks por presenca de arquivos
- gerador de docker-compose.yml Scenario A + Scenario C
- gerador de Dockerfiles para: nodejs, nextjs, nestjs, nuxt, laravel, php-generic, python, go, rust, wordpress
- validador xCloud: build:, proxy conflicts, multi-porta, healthcheck
- barrel exports em src/docker/index.ts
- organizado por domain-driven design
2026-05-19 23:02:16 -03:00
pulse-agent 35c4039462 feat(@pulse-libs/core): WürthFlow completo — docs, CI/CD, Docker, arquitetura, WürthFlow
- __docs__/docker/build-guide.md — guia docker multi-stage
- __docs__/docker/architecture.md — fluxograma ASCII + camadas de dependencia
- __docs__/ci/github-actions.md — CI completo com jobs test/build/docker/publish/release
- .github/workflows/ci.yml — workflow GitHub Actions gerado
- README.md reescrito com estrutura real do pacote
- WürthFlow.md — documento vivo da arquitetura do workspace

🤖 Pulse + nova-self-improver
2026-05-19 21:49:48 -03:00
pulse-agent 154e233d6d docs(core): README atualizado com estrutura real + gitignore + env.example 2026-05-19 21:47:32 -03:00
pulse-agent bbdb68a6de feat(lib-core): biblioteca atomica @pulse-libs/core v1.0.0-beta.1
Esta commit conteudo a estrutura atomica completa:

- types:     Result<T,E>, AsyncState<T>, Paginated<T>, SortConfig<T>
- utils:     date, str, num, cn, debounce, throttle, storage, arr, obj
- validators: Zod schemas — email, password, uuid, url, phone, CPF/CNPJ, sanitizedStr, safeParse
- hooks:     useToggle, useAsync, useDebounce, useLocalStorage, useMedia, useInterval, useOnClickOutside, useClipboard, useFetch
- components: Button, Input, Alert, Card, Spinner (atomic design pattern)
- build:     tsup v8 ESM+CJS + DTS + sourcemaps — 0 erros
- tests:     57 testes 100% usuarios
- docker:    multi-stage Dockerfile (node 20-alpine)
- config:    vitest, tsup, tsconfig strict, .npmignore

Filosofia atomica:/utils ← /types ← /validators ← /hooks ← /components
Build: npm run build | Test: npm test | Publish: npm publish

🤖 Generated with Pulse (openclaw + nova-self-improver)
2026-05-19 21:43:03 -03:00