@softize/opus 9.0.0 → 9.0.1
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 +8 -0
- package/bin/cli.mjs +1 -1
- package/bin/lib/create.mjs +2 -2
- package/bin/lib/materialize.mjs +0 -1
- package/bin/lib/postinstall.mjs +1 -1
- package/package.json +1 -1
- package/registry/github/opus.yml +0 -22
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,14 @@ Depois de qualquer bump, rode os gates (`typecheck` · `test` · `opus check` ·
|
|
|
11
11
|
> tinha ficado sem registro nenhum, o que é exatamente o caso que este arquivo existe
|
|
12
12
|
> pra cobrir.
|
|
13
13
|
|
|
14
|
+
## 9.0.1 — 2026-08-12
|
|
15
|
+
|
|
16
|
+
**A garantia de materialização volta a ser local.** `opus setup` deixa de criar o
|
|
17
|
+
workflow `.github/workflows/opus.yml`; o hook composto de pre-push e `opus check`
|
|
18
|
+
continuam sendo os gates reproduzíveis do pacote. Ao atualizar, o setup remove o workflow
|
|
19
|
+
anterior quando ele ainda está íntegro e gerenciado pelo Opus, preservando qualquer edição
|
|
20
|
+
local para revisão explícita.
|
|
21
|
+
|
|
14
22
|
## 9.0.0 — 2026-08-12
|
|
15
23
|
|
|
16
24
|
**Chrome denso passa a compartilhar a mesma régua visual.** Três primitives deixam de
|
package/bin/cli.mjs
CHANGED
|
@@ -454,7 +454,7 @@ Depois: git init && pnpm install && pnpm test — e cadastre repo/app no admin.
|
|
|
454
454
|
Setup idempotente de um projeto Opus:
|
|
455
455
|
opus.json marcador per-app com a versão do SDK
|
|
456
456
|
base.json versão aplicada e eventuais skills excluídas
|
|
457
|
-
agentes skills Claude/Codex, hook, instruções
|
|
457
|
+
agentes skills Claude/Codex, hook, instruções e pre-push comitados
|
|
458
458
|
|
|
459
459
|
Fundação de UI (só apps web — preset Tailwind + tema + flags do Opus):
|
|
460
460
|
tailwind.config criado se faltar; senão avisa pra estender o preset
|
package/bin/lib/create.mjs
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* • tokens `{{APP_NAME}}` e `{{OPUS_VERSION}}` são substituídos em todo arquivo.
|
|
19
19
|
*
|
|
20
20
|
* Depois da cópia roda o `initProject` (setup): opus.json e artefatos Opus rastreáveis,
|
|
21
|
-
* `.claude/memory/` e
|
|
21
|
+
* `.claude/memory/` e os gates locais (repo-level: acha a raiz pelo `.git`).
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
import { promises as fs } from 'node:fs'
|
|
@@ -202,7 +202,7 @@ export async function createProject(registryDir, targetDir, appName) {
|
|
|
202
202
|
const warnings = mode === 'app' ? await workspaceWarnings(wsRoot, path.resolve(targetDir)) : []
|
|
203
203
|
|
|
204
204
|
// Setup por cima: opus.json per-app e materialização repo-level. Em monorepo, a raiz
|
|
205
|
-
// é descoberta pelo Git e recebe skills, hooks, instruções e
|
|
205
|
+
// é descoberta pelo Git e recebe skills, hooks, instruções e pre-push específicos do Opus.
|
|
206
206
|
const setup = await initProject(registryDir, targetDir)
|
|
207
207
|
return { version, mode, files, warnings, setup }
|
|
208
208
|
}
|
package/bin/lib/materialize.mjs
CHANGED
|
@@ -109,7 +109,6 @@ function expectedFiles(exclude) {
|
|
|
109
109
|
for (const [source, destination] of [
|
|
110
110
|
['registry/hooks/opus-check-on-stop.mjs', '.claude/hooks/opus-check-on-stop.mjs'],
|
|
111
111
|
['registry/git/pre-push.d/opus', '.githooks/pre-push.d/opus'],
|
|
112
|
-
['registry/github/opus.yml', '.github/workflows/opus.yml'],
|
|
113
112
|
]) {
|
|
114
113
|
const content = readFileSync(join(PACKAGE_ROOT, source), 'utf8')
|
|
115
114
|
expected.set(destination, { source, content, output: addMarker(destination, source, content) })
|
package/bin/lib/postinstall.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* postinstall do @softize/opus — tenta rodar o setup no consumidor. É conveniência
|
|
4
|
-
* best-effort; a garantia vem de `opus setup` explícito + `opus check`
|
|
4
|
+
* best-effort; a garantia vem de `opus setup` explícito + `opus check` nos gates locais.
|
|
5
5
|
*
|
|
6
6
|
* Blindagem (best-effort, NUNCA falha o install):
|
|
7
7
|
* • OPUS_SKIP_INIT=1 → pula
|
package/package.json
CHANGED
package/registry/github/opus.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
name: opus
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request: {}
|
|
5
|
-
push:
|
|
6
|
-
branches: [main]
|
|
7
|
-
workflow_dispatch: {}
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
check:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
14
|
-
- uses: pnpm/action-setup@v4
|
|
15
|
-
with:
|
|
16
|
-
version: 11
|
|
17
|
-
- uses: actions/setup-node@v4
|
|
18
|
-
with:
|
|
19
|
-
node-version: 22
|
|
20
|
-
cache: pnpm
|
|
21
|
-
- run: pnpm install --frozen-lockfile
|
|
22
|
-
- run: pnpm exec opus check
|