carson 1.0.0 → 1.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.
- checksums.yaml +4 -4
- data/README.md +62 -28
- data/VERSION +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a136a4bb80b1d4f339596760492eb0f692d1fc13dab6c2eb9192ed5aaa7d7345
|
|
4
|
+
data.tar.gz: 3c71649e9457b2fab7a3091f3b3100f853cf407c1f419c07973b55969082cd7e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9bd6d9169e1b7e5cdc5aabbcb5213f8c39c34e65f8f5800e69abb8bf5d13cd91bee4bedc05208e2ae63102bb5d412551527ea81fb90ab69572fa8f241a54970a
|
|
7
|
+
data.tar.gz: 104447d9c905aff8f0960f037b669634eb1cc35307d002231066ca15f979e7ab9d87f76b10508a2ac5a9069a9b62b70f865934aacad5a73d3b01edc08319b85d
|
data/README.md
CHANGED
|
@@ -1,48 +1,82 @@
|
|
|
1
1
|
# Carson
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Enforce the same governance rules across every repository you manage — from a single install, without polluting any of them with governance tooling.
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
## The Problem
|
|
6
|
+
|
|
7
|
+
If you govern more than a handful of repositories, you know the pattern: lint configs drift between repos, PR templates go stale, reviewer feedback gets quietly ignored, and what passes on a developer's laptop fails in CI.
|
|
8
|
+
The usual fix is to copy governance scripts into each repository. That works until you need to update them — now you are maintaining dozens of copies, each free to diverge.
|
|
9
|
+
|
|
10
|
+
## What Carson Does
|
|
11
|
+
|
|
12
|
+
Carson is a governance runtime that lives on your workstation and in CI, never inside the repositories it governs. You install it once, point it at each repository, and it enforces a consistent baseline — same checks, same rules, same exit codes — everywhere.
|
|
13
|
+
|
|
14
|
+
**One command to onboard a repo.**
|
|
15
|
+
`carson init` installs git hooks, synchronises PR and AI-coding templates, and runs a first governance audit. From that point, every commit is checked automatically.
|
|
16
|
+
|
|
17
|
+
**Same checks locally and in CI.**
|
|
18
|
+
The `pre-commit` hook runs `carson audit` before every commit. The same `carson audit` runs in your GitHub Actions workflow. If it passes locally, it passes in CI. No surprises.
|
|
19
|
+
|
|
20
|
+
**Review accountability.**
|
|
21
|
+
`carson review gate` blocks merge until every actionable reviewer comment — risk keywords, change requests — has been formally acknowledged by the PR author. No more "I missed that comment" after merge.
|
|
22
|
+
|
|
23
|
+
**Template consistency.**
|
|
24
|
+
Carson keeps PR templates and AI coding guidelines identical across all governed repositories. `carson template check` detects drift; `carson template apply` repairs it.
|
|
25
|
+
|
|
26
|
+
**Centralised lint policy.**
|
|
27
|
+
Lint rules come from a single policy source you control. Carson owns the lint execution path — repo-local config overrides are hard-blocked so teams cannot silently weaken the baseline.
|
|
28
|
+
|
|
29
|
+
**Branch hygiene.**
|
|
30
|
+
`carson sync` fast-forwards your local main. `carson prune` removes branches whose upstream is gone, including squash-merged branches verified through the GitHub API.
|
|
31
|
+
|
|
32
|
+
**Clean boundary.**
|
|
33
|
+
No Carson scripts, config files, or governance payloads are ever placed inside your repositories. Carson actively blocks if it detects its own artefacts in a host repo.
|
|
34
|
+
|
|
35
|
+
## When to Use Carson
|
|
36
|
+
|
|
37
|
+
- A platform team standardising policy across many product repositories — one governance flow for all of them, no per-repo tooling.
|
|
38
|
+
- A consultancy governing client repositories you do not own — enforce rules without committing your tooling into their repos.
|
|
39
|
+
- A regulated engineering team that needs auditable, reproducible gates — every merge decision has a deterministic pass/block result.
|
|
40
|
+
- A solo developer who wants the same lint and review discipline everywhere — without maintaining governance scripts in each project.
|
|
9
41
|
|
|
10
42
|
## Quickstart
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `gh` available in `PATH` for PR/check reporting (recommended, not required for core local commands)
|
|
43
|
+
|
|
44
|
+
Prerequisites: Ruby `>= 4.0`, `git`, and `gem` in your PATH.
|
|
45
|
+
`gh` (GitHub CLI) is recommended for full review governance features.
|
|
15
46
|
|
|
16
47
|
```bash
|
|
17
|
-
|
|
48
|
+
# Install
|
|
49
|
+
gem install --user-install carson
|
|
18
50
|
carson version
|
|
19
|
-
|
|
51
|
+
|
|
52
|
+
# Prepare your lint policy baseline
|
|
53
|
+
carson lint setup --source /local/path/of/policy-repo
|
|
54
|
+
|
|
55
|
+
# Onboard a repository
|
|
20
56
|
carson init /local/path/of/repo
|
|
21
57
|
```
|
|
22
58
|
|
|
23
|
-
|
|
24
|
-
- `carson
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
59
|
+
After `carson init`, your repository has:
|
|
60
|
+
- Git hooks that run `carson audit` on every commit.
|
|
61
|
+
- Managed `.github/*` templates synchronised from Carson.
|
|
62
|
+
- An initial governance audit report.
|
|
63
|
+
|
|
64
|
+
Commit the generated `.github/*` changes, and the repository is governed.
|
|
65
|
+
|
|
66
|
+
**Daily workflow:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
carson sync # fast-forward local main
|
|
70
|
+
carson audit # full governance check (also runs on every commit via hook)
|
|
71
|
+
carson review gate # block or approve merge based on review status
|
|
72
|
+
carson prune # clean up stale local branches
|
|
73
|
+
```
|
|
30
74
|
|
|
31
75
|
## Where to Read Next
|
|
32
76
|
- User manual: `MANUAL.md`
|
|
33
77
|
- API reference: `API.md`
|
|
34
78
|
- Release notes: `RELEASE.md`
|
|
35
79
|
|
|
36
|
-
## Core Capabilities
|
|
37
|
-
- Outsider boundary enforcement that blocks Carson-owned host artefacts (`.carson.yml`, `bin/carson`, `.tools/carson/*`).
|
|
38
|
-
- Deterministic governance checks with stable exit codes for local and CI automation.
|
|
39
|
-
- Ruby lint governance from `~/AI/CODING/rubocop.yml` with Carson-owned execution and deterministic local/CI blocking.
|
|
40
|
-
- Hard policy block when a client repository contains repo-local `.rubocop.yml`.
|
|
41
|
-
- Non-Ruby lint language entries remain present but disabled by default in this phase.
|
|
42
|
-
- Managed `.github/*` template synchronisation with drift detection and repair.
|
|
43
|
-
- Review governance controls (`review gate`, `review sweep`) for actionable feedback handling.
|
|
44
|
-
- Local branch hygiene and fast-forward sync workflow (`sync`, `prune`).
|
|
45
|
-
|
|
46
80
|
## Support
|
|
47
81
|
- Open or track issues: <https://github.com/wanghailei/carson/issues>
|
|
48
82
|
- Review version-specific upgrade actions: `RELEASE.md`
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.1
|