git-span 1.0.136 → 1.0.137
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/README.md +1 -1
- package/man/git-span.1 +26 -19
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# git span
|
|
2
2
|
|
|
3
|
-
`git span` tracks implicit semantic dependencies in a git repository — line-range or whole-file anchors that participate in a coupling no schema, type, or test enforces. Each span names its anchors, optionally carries a `why` sentence defining the subsystem they
|
|
3
|
+
`git span` tracks implicit semantic dependencies in a git repository — line-range or whole-file anchors that participate in a coupling no schema, type, or test enforces. Each span names its anchors, optionally carries a `why` — one present-tense sentence defining the subsystem they form together (recommended on every span), and surfaces drift via `git span stale` when those anchors diverge from their anchored state.
|
|
4
4
|
|
|
5
5
|
The primary CLI surface lives in `src/cli/mod.rs`. Run `git span --help` or `git span stale --help` for flag reference.
|
|
6
6
|
|
package/man/git-span.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH git-span 1 "git-span 1.0.
|
|
3
|
+
.TH git-span 1 "git-span 1.0.137"
|
|
4
4
|
.ie \n(.g .ds Aq \(aq
|
|
5
5
|
.el .ds Aq '
|
|
6
6
|
.SH NAME
|
|
@@ -18,32 +18,38 @@ Each
|
|
|
18
18
|
.B span
|
|
19
19
|
anchors the participating anchors and carries a durable
|
|
20
20
|
.I why
|
|
21
|
-
\[em] one
|
|
22
|
-
and
|
|
21
|
+
\[em] one present-tense sentence that defines the subsystem the anchored set
|
|
22
|
+
forms together and stays true across a rewrite of either side.
|
|
23
23
|
.PP
|
|
24
24
|
The standing question at commit time: did this change create or rely on a
|
|
25
25
|
coupling that is not visible from the lines themselves?
|
|
26
26
|
.PP
|
|
27
27
|
.B Writing the why.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
Write one complete sentence, in the present tense, that defines the subsystem
|
|
29
|
+
the anchors form together: name the thing, then say what it does across the
|
|
30
|
+
anchors.
|
|
31
|
+
Give it a subject and a verb \[em] never a label followed by a colon \[em] and
|
|
32
|
+
name the thing in role\-words (\(lqthe doc,\(rq \(lqthe parser,\(rq
|
|
31
33
|
\(lqthe runbook,\(rq \(lqthe migration\(rq) rather than repeating filenames.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
A why is read when a hook surfaces it mid\-task, so make it specific enough
|
|
35
|
+
that a reader who just edited one anchor can tell from the sentence alone
|
|
36
|
+
whether their change lands inside the thing it names.
|
|
37
|
+
Do not restate the span name or embed incidental implementation details, and
|
|
38
|
+
keep invariants, caveats, ownership, and review triggers out of the why \[em]
|
|
39
|
+
those belong in comments at the anchor sites, in commit messages, CODEOWNERS,
|
|
40
|
+
and PR descriptions.
|
|
36
41
|
.PP
|
|
37
42
|
.B Re\-anchoring on drift.
|
|
38
43
|
When
|
|
39
44
|
.B git span stale
|
|
40
45
|
reports drift, review the change at each anchor.
|
|
41
|
-
|
|
46
|
+
Because a why only defines, it is inherited across routine re-anchors: if the
|
|
47
|
+
subsystem still holds, re-anchor with
|
|
42
48
|
.B git span add
|
|
43
|
-
and commit.
|
|
44
|
-
|
|
49
|
+
and commit, leaving the why alone.
|
|
50
|
+
Rewrite it with
|
|
45
51
|
.B git span why
|
|
46
|
-
|
|
52
|
+
only when the subsystem itself has changed.
|
|
47
53
|
.PP
|
|
48
54
|
Each span is an ordinary tracked file under the span root (default
|
|
49
55
|
.IR .span ,
|
|
@@ -101,7 +107,7 @@ git\-span\-remove(1)
|
|
|
101
107
|
Remove anchors from a span, editing the span file under the span root. Stage and commit the change with `git add .span && git commit`
|
|
102
108
|
.TP
|
|
103
109
|
git\-span\-why(1)
|
|
104
|
-
Read or stage the span\*(Aqs why —
|
|
110
|
+
Read or stage the span\*(Aqs why — one complete present\-tense sentence defining the subsystem the anchors form together
|
|
105
111
|
.TP
|
|
106
112
|
git\-span\-delete(1)
|
|
107
113
|
Delete a span
|
|
@@ -123,7 +129,7 @@ Print this message or the help of the given subcommand(s)
|
|
|
123
129
|
.ie \n(.g .ds Aq \(aq
|
|
124
130
|
.el .ds Aq '
|
|
125
131
|
.SH VERSION
|
|
126
|
-
v1.0.
|
|
132
|
+
v1.0.137
|
|
127
133
|
.SH EXAMPLES
|
|
128
134
|
Anchor a new span alongside a code change:
|
|
129
135
|
.PP
|
|
@@ -132,8 +138,8 @@ Anchor a new span alongside a code change:
|
|
|
132
138
|
git span add billing/charge-request-contract \e
|
|
133
139
|
docs/api/charge.md#L40-L88 api/charge.ts#L30-L76
|
|
134
140
|
git span why billing/charge-request-contract \e
|
|
135
|
-
-m "The
|
|
136
|
-
|
|
141
|
+
-m "The charge request body shape is stated by the doc \e
|
|
142
|
+
and honored by the parser that reads it."
|
|
137
143
|
git add .span
|
|
138
144
|
git commit -m "Wire checkout to charge API"
|
|
139
145
|
.fi
|
|
@@ -147,7 +153,8 @@ git span add auth/token-contract --at HEAD \e
|
|
|
147
153
|
packages/auth/token.ts#L88-L104 \e
|
|
148
154
|
packages/auth/crypto.ts#L12-L40
|
|
149
155
|
git span why auth/token-contract \e
|
|
150
|
-
-m "
|
|
156
|
+
-m "Session token verification checks signatures with the \e
|
|
157
|
+
algorithm and key encoding the crypto helper defines."
|
|
151
158
|
git add .span && git commit -m "Document token/crypto coupling"
|
|
152
159
|
.fi
|
|
153
160
|
.RE
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-span",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.137",
|
|
4
4
|
"bin": "bin/git-span.exe",
|
|
5
5
|
"man": [
|
|
6
6
|
"man/git-span.1"
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"scripts/postinstall.js"
|
|
25
25
|
],
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"git-span-darwin-arm64": "1.0.
|
|
28
|
-
"git-span-darwin-x64": "1.0.
|
|
29
|
-
"git-span-linux-arm64": "1.0.
|
|
30
|
-
"git-span-linux-x64": "1.0.
|
|
31
|
-
"git-span-win32-x64": "1.0.
|
|
27
|
+
"git-span-darwin-arm64": "1.0.137",
|
|
28
|
+
"git-span-darwin-x64": "1.0.137",
|
|
29
|
+
"git-span-linux-arm64": "1.0.137",
|
|
30
|
+
"git-span-linux-x64": "1.0.137",
|
|
31
|
+
"git-span-win32-x64": "1.0.137"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|