@codacy/verity-cli 0.31.1-experimental.02b82ff → 0.31.1-experimental.68fca47

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.
@@ -1,6 +1,21 @@
1
1
  # /verity-setup — Configure Verity for this project
2
2
 
3
- You are setting up Verity, a quality gate for AI-generated code. Follow every step below. Do not skip steps or reorder them.
3
+ You are finishing Verity's setup: the half that needs a model.
4
+
5
+ **`verity init` already ran the deterministic half** — prerequisites, the skills,
6
+ the Claude Code hooks (reconciled to the moments the user chose), `.gitignore`,
7
+ the CLAUDE.md instructions, the optional GitHub login, and telemetry. It recorded
8
+ the user's answers in `.verity/setup.json` and then handed off to you.
9
+
10
+ So: **do not re-ask what init asked, and do not re-write what init wrote.** Wiring
11
+ hooks or a `.gitignore` block here is how the two flows drifted apart before — the
12
+ skill reconciled hooks init had just installed, silently removing them.
13
+
14
+ **What is yours** — everything a program cannot decide:
15
+ 1. Read the codebase and understand it (Step 2).
16
+ 2. Synthesize `.verity/standard.yaml` from what you found (Step 4).
17
+ 3. Write `.codacy/codacy.config.json` with curated, validated pattern ids (Step 5).
18
+ 4. Upload both, seed the knowledge base, write `VERITY.md` (Steps 7–8).
4
19
 
5
20
  **Reference files** (installed in this project at `.claude/skills/verity-setup/`):
6
21
  - `patterns-reference.yaml` — Research-backed patterns catalog (quality, security, language-specific)
@@ -8,17 +23,38 @@ You are setting up Verity, a quality gate for AI-generated code. Follow every st
8
23
 
9
24
  ---
10
25
 
11
- ## Step 1: Check prerequisites
26
+ ## Step 1: Confirm the deterministic phase ran
27
+
28
+ ```bash
29
+ verity doctor --json
30
+ ```
31
+
32
+ One read gives you prerequisites, which phase is done, the user's recorded
33
+ answers, the hook wiring, and a `next` list. Branch on it:
34
+
35
+ - **`phases.init.done` is false** → `verity init` has not run in this project.
36
+ Run it (it is idempotent, and it is what installed this skill):
37
+
38
+ ```bash
39
+ verity init --yes --no-setup
40
+ ```
12
41
 
13
- 1. Verify `verity` CLI is installed: `which verity`
14
- - If missing: tell the user to run the installer: `curl -fsSL https://raw.githubusercontent.com/codacy/verity/main/install.sh | bash` and stop.
15
- 2. Verify `codacy-analysis` is installed: `which codacy-analysis`
16
- - If missing: tell the user to run `npm install -g @codacy/analysis-cli` and stop.
17
- 3. Check if `VERITY.md` already exists in the project root:
18
- - If it exists and user didn't pass `--force`: say "Already configured. Run `/verity-setup --force` to reconfigure." and stop.
19
- - If it exists with `--force`: continue (will overwrite).
20
- 4. Get the git remote URL: `git remote get-url origin`
21
- - If no remote: ask the user for a project identifier to use instead.
42
+ `--yes` takes the recommended answer for every question — use it only because
43
+ you are already inside a Claude Code session and cannot ask on init's terminal.
44
+ Tell the user which defaults were taken and that `verity init` (run by hand in a
45
+ terminal) is where those choices are made. `--no-setup` stops init from trying
46
+ to launch a second Claude Code session on top of this one.
47
+ - **`blocked` is true** a required prerequisite is missing. Show the
48
+ `prerequisites[].remedy` lines and stop; nothing below can work.
49
+ - **`artifacts.verityMd` is true and the user did not pass `--force`** already
50
+ configured. Say "Already configured. Run `/verity-setup --force` to
51
+ reconfigure." and stop.
52
+ - A **warn**-status prerequisite (Claude Code, `@codacy/analysis-cli`) is not
53
+ fatal. Mention it once — a missing analysis CLI means no static findings — and
54
+ continue.
55
+
56
+ Then get the git remote: `git remote get-url origin`. If there is none, ask the
57
+ user for a project identifier to use instead.
22
58
 
23
59
  ---
24
60
 
@@ -60,74 +96,30 @@ Record all findings. You will use them in the next steps.
60
96
 
61
97
  ---
62
98
 
63
- ## Step 3: Ask analysis intensity
64
-
65
- Use the **AskUserQuestion** tool to ask:
66
-
67
- > **Analysis intensity:**
68
- > - **lightweight** — Critical security only. Fastest (~3s). Good for rapid iteration.
69
- > - **balanced** (recommended) — Security + quality. Good coverage (~8s).
70
- > - **thorough** — All tools, all rules. Most comprehensive (~15s).
71
- >
72
- > Which mode? [balanced]
73
-
74
- Default to `balanced` if the user says "default" or doesn't specify a preference.
75
-
76
- ---
77
-
78
- ## Step 3a: Choose analysis moments
79
-
80
- This decides **when** Verity reviews code. Use the **AskUserQuestion** tool with
81
- `multiSelect: true`:
82
-
83
- > **When should Verity review your code? (select all that apply)**
84
- > - **On stop** (recommended) — after every agent turn. Fast feedback while you work.
85
- > - **Before commit** — gates `git commit`; reviews the **staged** diff and blocks the commit on FAIL.
86
- > - **Before push / PR** — gates `git push` and `gh pr create`; reviews the **to-be-pushed** commits and blocks on FAIL.
87
- >
88
- > Default: **On stop**
89
-
90
- Notes to convey if asked:
91
- - The git-moment gates run an independent reviewer at the boundary the customer cares
92
- about; a FAIL blocks the commit/push so the agent fixes issues before they land
93
- (capped at 2 review cycles so you're never stuck).
94
- - These are **Claude Code** hooks (they fire when the agent runs `git commit`/`git push`),
95
- not native git hooks — no `.git/hooks` files, no GitHub App.
96
- - "On stop" alone matches today's behavior. Many teams pick **Before commit + Before push**
97
- and turn **On stop** off to review only at real boundaries.
98
-
99
- Map the selection to moment ids: On stop → `stop`, Before commit → `pre-commit`,
100
- Before push/PR → `pre-push`. Remember this list; you apply it in **Step 9**.
101
-
102
- ---
103
-
104
- ## Step 3b: Ask about cost & usage telemetry (opt-in)
99
+ ## Step 3: Read the choices already made
105
100
 
106
- Cost & usage observability is **opt-in** and **required** for the `/usage` dashboard — all
107
- cost and token data comes from Claude Code's own OpenTelemetry export, so with telemetry off
108
- the dashboard stays empty.
101
+ From the `verity doctor --json` output in Step 1:
109
102
 
110
- First check the current state (so you don't re-ask if it's already on):
103
+ | Field | What it is | Where you use it |
104
+ |---|---|---|
105
+ | `answers.intensity` | `lightweight` \| `balanced` \| `thorough` | Step 4 (`process_constraints.analysis_mode`) and Step 5 (which tools/patterns) |
106
+ | `answers.moments` | `stop`, `pre-commit`, `pre-push` | Nothing to do — the hooks are already wired to exactly this |
107
+ | `answers.telemetry` | `enabled` \| `declined` \| `deferred` | Nothing to do — mention `deferred` once (see below) |
111
108
 
112
- ```bash
113
- verity telemetry check
114
- ```
109
+ **Do not ask these again.** They were asked on init's terminal, and the machine
110
+ state already reflects them.
115
111
 
116
- - If it reports **enabled**, don't re-ask tell the user telemetry is already on and continue
117
- (mention `verity telemetry uninstall` only if they want to turn it off).
118
- - If **disabled**, use the **AskUserQuestion** tool:
112
+ If `answers.intensity` is `null` (a project set up before this file existed, or a
113
+ failed write), that is the only case where you ask a single question, defaulting
114
+ to `balanced`:
119
115
 
120
- > **Enable Claude Code cost & usage telemetry for this project?**
121
- > Verity can show cost, tokens, a per-agent / per-session / model breakdown, and a fleet cost
122
- > tree — by receiving Claude Code's built-in **OpenTelemetry** export. This sends usage
123
- > **metrics and traces only** (model names, token counts, USD cost, agent types, session IDs).
124
- > It does **NOT** send your prompts, code, or tool input/output. Without it, the `/usage`
125
- > dashboard stays empty.
126
- > - **Yes** (recommended) — enable telemetry
127
- > - **No** — skip (you can enable later with `verity telemetry install`)
116
+ > **Analysis intensity:** lightweight (critical security only, ~3s) ·
117
+ > **balanced** (security + quality, ~8s) · thorough (all tools, all rules, ~15s)
128
118
 
129
- Remember the answer; you act on it in Step 7b (the token must exist first). **Declining is
130
- fine and reversible** nothing is written, and the next `/verity-setup` re-offers it.
119
+ If `answers.telemetry` is `deferred`, the user asked for cost & usage telemetry
120
+ before a token existed. Say so once, and that `verity login` followed by
121
+ `verity telemetry install` finishes it. Do not run either — logging in is the
122
+ user's decision to make at a terminal.
131
123
 
132
124
  ---
133
125
 
@@ -149,9 +141,9 @@ Generate `.verity/standard.yaml` by filling in the template:
149
141
  - Existing code patterns (e.g., "RLS policies on all Supabase tables")
150
142
  - Each pattern needs: id, description, severity, rationale
151
143
 
152
- 5. **process_constraints**: Set `analysis_mode` to the user's choice from Step 3. Keep `self_healing_limit: 2`. Leave the knowledge-system flags (`compound_enabled`, `memory_graph_enabled`, `memory_graph_budget_tokens`, `knowledge_injection_budget_tokens`, `finding_autosuppress_threshold`) and intent thresholds (`intent_fail_threshold`, `intent_warn_threshold`) at their template defaults — they're surfaced so users can tune later, not so you pick new values during setup.
144
+ 5. **process_constraints**: Set `analysis_mode` to `answers.intensity` from Step 3. Keep `self_healing_limit: 2`. Leave the knowledge-system flags (`compound_enabled`, `memory_graph_enabled`, `memory_graph_budget_tokens`, `knowledge_injection_budget_tokens`, `finding_autosuppress_threshold`) and intent thresholds (`intent_fail_threshold`, `intent_warn_threshold`) at their template defaults — they're surfaced so users can tune later, not so you pick new values during setup.
153
145
 
154
- 6. **tool_configuration**: Based on detected languages + mode, select tools from the patterns reference `tool_recommendations` section. For existing tool configs, set the config_file path.
146
+ 6. **tool_configuration**: Based on detected languages + the intensity from Step 3, select tools from the patterns reference `tool_recommendations` section. For existing tool configs, set the config_file path.
155
147
 
156
148
  Write the file to `.verity/standard.yaml`. Show the user a summary:
157
149
  > **Standard synthesized:**
@@ -480,57 +472,47 @@ binary — Semgrep needs Opengrep installed separately, and at `--log-level erro
480
472
 
481
473
  ---
482
474
 
483
- ## Step 6: Verify authentication
484
-
485
- Login now happens in `verity init` (an optional, skippable step), **not** here.
486
- This step only checks whether the user authenticated during init, and branches
487
- the rest of setup accordingly.
475
+ ## Step 6: Check authentication
488
476
 
489
- **If the user asks what signing in does or why it matters, tell them:**
490
- - It confirms they have **write access to this repository** — the GitHub token is
491
- used **once** to verify that, then discarded. Verity never stores it.
492
- - It does **not** give Verity access to their code. Code checked by the gate is
493
- analyzed **in memory and discarded** — Verity never stores their code.
494
- - It is **required to store and access run history** for the repo (past results,
495
- trends, and shareable reports).
496
- - Skipping keeps Verity fully **local-only**: the gate still runs and shows
497
- findings, but nothing is uploaded.
477
+ Login happens in `verity init` (an optional, skippable step), **not** here. This
478
+ step only checks whether it happened, and branches the rest of setup.
498
479
 
499
480
  ```bash
500
481
  verity auth verify
501
482
  ```
502
483
 
503
- - **Token valid** (prints the project name): The user authenticated during
504
- `verity init`. Continue to Step 7 — the Standard, config, and knowledge base
505
- will upload.
506
- - **Not authenticated / no token**: The user skipped login in `verity init` (or
507
- lacks write access). Verity runs in **local-only mode** the gate still runs on
508
- every stop and surfaces static findings, but nothing uploads and no
509
- history/org/repo data is stored. **Skip Steps 7 and 7b** (they require a token)
510
- and continue to Step 8. Tell the user they can authenticate anytime to unlock
511
- deep review, history, and shareable reports by running:
484
+ - **Token valid** (prints the project name): continue to Step 7 — the Standard,
485
+ config, and knowledge base will upload.
486
+ - **Not authenticated / no token**: the user skipped login in `verity init` (or
487
+ lacks write access). Verity runs in **local-only mode** the gate still runs
488
+ and surfaces findings, but nothing uploads and no history is stored. **Skip
489
+ Step 7** (it requires a token) and continue to Step 8. Tell them they can
490
+ authenticate anytime with:
512
491
 
513
492
  ```bash
514
493
  verity login # one GitHub login covers every repo you can write to
515
- # or: verity init # re-runs init; offers the same auth prompt
516
494
  ```
517
495
 
518
- Login is **provider-gated** (GitHub today): the CLI runs a GitHub App **device
519
- flow** ("open https://github.com/login/device and enter code WXYZ-1234"),
520
- proving the user has **write access** before the service issues a token. The
521
- GitHub App requests only read-only permissions (Metadata + Email addresses);
522
- the provider token is used once server-side to sweep the repositories the user
523
- can write to, and is never persisted.
524
-
525
- **One login covers every repository** the user can write to, not just this one.
526
- Re-running `verity login` is also how access to newly-granted repos is picked
527
- up, and how an expired verification is restored. If login reports this
528
- repository is **not covered**, the Verity GitHub App has not been granted
529
- access to it — grant it, then re-run `verity login`.
496
+ Then re-run `/verity-setup --force` to upload what was generated locally.
530
497
 
531
- When authenticated, the user's `token` and `service_url` are stored in the single
532
- global credentials file `~/.verity/credentials`nothing secret is written into
533
- the repo. All subsequent `verity` upload commands work.
498
+ **If the user asks what signing in does or why it matters:**
499
+ - It confirms they have **write access to this repository** the GitHub token is
500
+ used **once** for that check, then discarded. Verity never stores it.
501
+ - It does **not** give Verity access to their code. Code checked by the gate is
502
+ analyzed **in memory and discarded**.
503
+ - It is **required to store and access run history** (past results, trends,
504
+ shareable reports).
505
+ - Login is **provider-gated** (GitHub today) via a GitHub App **device flow**
506
+ ("open https://github.com/login/device and enter code WXYZ-1234"). The App
507
+ requests only read-only permissions (Metadata + Email addresses).
508
+ - **One login covers every repository** the user can write to. Re-running
509
+ `verity login` is also how newly-granted repos are picked up and how an expired
510
+ verification is restored. If login reports this repository is **not covered**,
511
+ the Verity GitHub App has not been granted access to it — grant it, then re-run
512
+ `verity login`.
513
+
514
+ The token and service_url live in the single global file `~/.verity/credentials`
515
+ — nothing secret is written into the repo.
534
516
 
535
517
  ---
536
518
 
@@ -570,31 +552,6 @@ This derives a small set of descriptive memory nodes from what you already analy
570
552
 
571
553
  ---
572
554
 
573
- ## Step 7b: Enable telemetry (only if the user opted in at Step 3b)
574
-
575
- > **Skip this step if the user is not authenticated** (local-only mode) — telemetry
576
- > export requires the token. Note that `/usage` stays empty until they authenticate
577
- > and run `verity telemetry install`.
578
-
579
- If — and only if — the user said **Yes** in Step 3b, enable the Claude Code telemetry export
580
- now (the token from Step 6 must already exist):
581
-
582
- ```bash
583
- verity telemetry install
584
- ```
585
-
586
- This writes the `OTEL_*` env block plus an `otelHeadersHelper` to `.claude/settings.local.json`
587
- and points Claude Code's OpenTelemetry exporter at Verity's OTLP endpoint. No token is written to
588
- the file — the helper (`verity telemetry headers`) resolves the project token from
589
- `~/.verity/credentials` at session start, so the secret never lands in the repo. Tell the user it
590
- takes effect on their **next** Claude Code session, that first metrics appear within ~60s of
591
- activity, and point them at `/usage`.
592
-
593
- If the user declined, skip this step and note that `/usage` will stay empty until they run
594
- `verity telemetry install`.
595
-
596
- ---
597
-
598
555
  ## Step 8: Generate VERITY.md file
599
556
 
600
557
  Create `VERITY.md` at the project root with this content:
@@ -633,125 +590,7 @@ Every time the coding agent stops, the Verity hook:
633
590
 
634
591
  ---
635
592
 
636
- ## Step 8b: Add knowledge base pointer and reflection instructions to CLAUDE.md
637
-
638
- If `CLAUDE.md` exists (or `.claude/CLAUDE.md`), append these two blocks. If it doesn't exist, create it with these blocks. Do NOT overwrite existing content — append only.
639
-
640
- ```markdown
641
-
642
- ## Project Knowledge Base
643
- > Read `.verity/memory/index.md` for accumulated project context, decisions, and conventions.
644
-
645
- ## Post-task reflection
646
- When a task is complete (you've created a PR, the user says "done" or "ship it",
647
- or the work is clearly finished), **draft the reflection yourself first** — 1–3
648
- concrete things worth remembering (a decision, a gotcha, or a pattern), each
649
- cited with the files / PR / commands / error-signatures it came from. Skip
650
- entirely if nothing non-obvious happened.
651
-
652
- Then, depending on how the session is running:
653
-
654
- - **Interactive** (a person is at the keyboard): show your draft and ask one
655
- question before recording —
656
-
657
- > "Here's my reflection draft for the project memory: \<draft\>. Anything to
658
- > confirm, correct, or add before I record it? (Say 'skip' to drop it.)"
659
-
660
- Record the final text (with their corrections) via
661
- `verity reflect --user-input "<final reflection>" --kind <kind>`. If they say
662
- "skip", do not record.
663
-
664
- - **Autonomous** (headless / CI / cron, or `VERITY_AUTONOMOUS=1`): record your
665
- draft directly, never blocking —
666
- `verity reflect --user-input "<your draft>" --kind <kind> --autonomous`.
667
- ```
668
-
669
- These blocks enable two capabilities:
670
- 1. **Knowledge Base pointer** — agents can browse `.verity/memory/` for project context on demand (KNOWLEDGE-SYSTEM §8.2 Path B)
671
- 2. **Post-task reflection** — the compound moment where the agent drafts a cited reflection and the user confirms/corrects it (interactive) or it's auto-recorded (autonomous), entering the knowledge base (KNOWLEDGE-SYSTEM §9.3)
672
-
673
- ---
674
-
675
- ## Step 9: Wire the selected moments
676
-
677
- Apply the moments the user chose in **Step 3a**. Pass the comma-separated moment ids
678
- (always include the always-on intent hook automatically):
679
-
680
- ```bash
681
- # Example: user chose On stop + Before commit + Before push
682
- verity hooks install --moments stop,pre-commit,pre-push
683
- ```
684
-
685
- `--moments` reconciles Verity's own hooks in `.claude/settings.json` to **exactly**
686
- the selection (adding the git-moment gate, removing the Stop hook if unselected),
687
- while preserving every non-Verity hook. The `verity intent capture` hook is always
688
- installed. If the user picked only `stop` (the default), pass `--moments stop`.
689
-
690
- Then verify:
691
-
692
- ```bash
693
- verity hooks check
694
- ```
695
-
696
- Expected output (for `stop,pre-commit,pre-push`):
697
- ```
698
- [verity] Stop hook (verity analyze): installed
699
- [verity] Intent hook (verity intent capture): installed
700
- [verity] Git-moment gate (verity guard): installed [commit, push]
701
- ```
702
-
703
- The git-moment gate is a single `PreToolUse(Bash)` hook (`verity guard`) that
704
- intercepts `git commit` / `git push` / `gh pr create` and reviews the staged or
705
- to-be-pushed diff before it lands.
706
-
707
- ---
708
-
709
- ## Step 10: Update .gitignore
710
-
711
- Add these entries to `.gitignore` (create it if it doesn't exist, append if it does):
712
-
713
- ```
714
- # Verity — machine-local state. Everything in .verity/ is ignored EXCEPT the
715
- # shared standard and the knowledge graph, which are meant to be committed.
716
- .verity/*
717
- !.verity/standard.yaml
718
- !.verity/memory/
719
- .verity/memory/log.md
720
- .claude/settings.local.json
721
- ```
722
-
723
- This is a whitelist on purpose: `.verity/` accumulates state files over time
724
- (`.snapshot/` holds byte-for-byte copies of analyzed files — including any
725
- secret the gate just flagged — plus `.cache/`, `.logs/`, `.baseline`,
726
- `.task-context`, session-suffixed `.last-analysis.*` files, and whatever comes
727
- next). Enumerating them one by one is how `.snapshot/` ended up committed in a
728
- real repo; ignoring everything and re-including the two shared artifacts means
729
- a future state file can never repeat that.
730
-
731
- **If the repo previously committed Verity state** (check with
732
- `git ls-files .verity`), untrack everything except the shared artifacts once:
733
-
734
- ```bash
735
- git rm -r --cached .verity
736
- git add .verity/standard.yaml .verity/memory
737
- ```
738
-
739
- `.claude/settings.local.json` is machine-local Claude Code config (telemetry endpoint + an
740
- `otelHeadersHelper` reference — no token). `verity telemetry install` adds this entry
741
- automatically.
742
-
743
- Do NOT gitignore `.verity/standard.yaml` or `VERITY.md` — those should be committed.
744
-
745
- **Commit the knowledge graph, but not its log.** The nodes under `.verity/memory/<domain>/` and `.verity/memory/index.md` are durable project knowledge meant to be committed and reviewed. But `.verity/memory/log.md` is an append-only, per-run timestamped activity log — it churns on every analysis and carries no reviewable content, so it is gitignored above. If a project already committed it, untrack it once with `git rm --cached .verity/memory/log.md`.
746
-
747
- **No secrets live in the repo anymore.** The project token is stored only in the single global
748
- file `~/.verity/credentials` (outside the repo, keyed by git remote), so there is no
749
- `.verity/credentials` to ignore. If an older install left one behind, the CLI folds it into the
750
- global store and removes it automatically on the next `verity` command.
751
-
752
- ---
753
-
754
- ## Step 10b: Offer a `.verityignore` (optional)
593
+ ## Step 9: Offer a `.verityignore` (optional)
755
594
 
756
595
  Only if the codebase analysis in Step 2 found committed generated output —
757
596
  `dist/`, `build/`, vendored bundles, generated API clients, large fixture
@@ -793,32 +632,35 @@ Two things to tell the user, because both surprise people:
793
632
  Excluded files are still named in every run's coverage ledger, and the share of
794
633
  changed files they cover is reported — an ignore file is never silent.
795
634
 
796
- ## Step 11: Show summary
635
+ ---
797
636
 
798
- Print a complete summary:
637
+ ## Step 10: Show summary
638
+
639
+ Report both halves, so the user sees one flow rather than two:
799
640
 
800
641
  ```
801
- === Verity Setup Complete ===
642
+ === Verity setup complete ===
802
643
 
803
644
  Project: ${PROJECT_NAME}
804
645
  Languages: ${LANGUAGES}
805
646
  Frameworks: ${FRAMEWORKS}
806
647
  Architecture: ${ARCHITECTURE}
807
- Mode: ${MODE}
808
-
809
- Standard: v1 (4 quality, 7 security, N custom patterns)
810
- Tools: ${TOOL_LIST}
811
- Service: registered (project_id: ${PROJECT_ID})
812
- Hooks: installed (verity analyze + verity intent capture)
813
- Telemetry: ${TELEMETRY_STATUS} (enabled cost+usage at /usage, or disabled)
814
-
815
- Files created:
816
- .verity/standard.yaml Quality standard
817
- .codacy/codacy.config.json — Analysis CLI config
818
- VERITY.md Project quality overview
819
- .claude/settings.json — Hook configuration (verified)
820
- .claude/settings.local.json — Telemetry env (only if enabled; gitignored)
821
- .gitignore — Updated with Verity entries
822
-
823
- Next: You should now be seeing the first analysis happening below. The hook will fire automatically every time your agent stops working on something.
648
+ Intensity: ${MODE} (chosen during verity init)
649
+
650
+ This step wrote:
651
+ .verity/standard.yaml — Standard v1 (4 quality, 7 security, N custom patterns)
652
+ .codacy/codacy.config.json — ${TOOL_LIST}, curated patterns, validated
653
+ VERITY.md — project quality overview
654
+ .verityignore — only if you created one in Step 9
655
+
656
+ Already in place from verity init:
657
+ Hooks: ${MOMENTS} (+ intent, baseline, compact, session-end)
658
+ Telemetry: ${TELEMETRY_STATUS}
659
+ Uploads: ${authenticated ? "on runs & memory sync to Verity" : "off — local-only mode"}
660
+
661
+ Next: the gate now runs at the moments you chose. You should see the first
662
+ analysis below.
824
663
  ```
664
+
665
+ Run `verity doctor` if anything above looks wrong — it reports the real state of
666
+ every part of the install.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codacy/verity-cli",
3
- "version": "0.31.1-experimental.02b82ff",
3
+ "version": "0.31.1-experimental.68fca47",
4
4
  "description": "CLI for Verity quality gate service",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://verity.md",