Skip to content

Commit 87bad7d

Browse files
nullvariantclaude
andauthored
docs: cross-link root-level documents and improve discoverability (#409)
* test(e2e): improve identityManager.test.ts assertion quality - Remove 2 empty assert.ok(true) placeholders, convert to comments - Replace typeof-only assertion with concrete value checks - Convert 2 if-guarded assertions to assert.ok to prevent silent skips - Add configUpdateError tests for saveNewIdentity/saveEditedField - Rename describe/it blocks to specification-based descriptions - Add name/email value verification in Add Form success test 🖥️ IDE: [Cursor](https://cursor.sh) 🔌 Extension: [Claude Code](https://claude.ai/download) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Model-Raw: claude-opus-4-6 * fix(test): use createQuickPick API in Edit Profile success test The test was using legacy showQuickPickResult/showInputBoxResults mock options which don't trigger the createQuickPick-based edit flow, causing showEditProfileFlow to return false instead of true. Switch to quickPickSelections/inputBoxSelections to match the actual implementation API. 🖥️ IDE: [Cursor](https://cursor.sh) 🔌 Extension: [Claude Code](https://claude.ai/download) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Model-Raw: claude-opus-4-6 * docs: cross-link root-level documents and improve discoverability - Add "See Also" section to all root-level .md files (README, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, AGENTS, GOVERNANCE) for mutual discoverability - Add Architecture, Threat Model, Languages links to README extension card - Add translation guide link to CONTRIBUTING.md See Also - Add Threat Model link to SECURITY.md See Also - Add Karesansui Architecture reference to GOVERNANCE.md Quality Standard - Fix GOVERNANCE.md: replace shishi-odoshi with sekimori-ishi, improve metaphor accuracy, fix "gate review" wording - Update sekimori-ishi reference link to Seattle Japanese Garden 🖥️ IDE: [Cursor](https://cursor.sh) 🔌 Extension: [Claude Code](https://claude.ai/download) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Model-Raw: claude-opus-4-6 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 48a14be commit 87bad7d

File tree

7 files changed

+73
-18
lines changed

7 files changed

+73
-18
lines changed

AGENTS.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,10 @@ E2E test files are in `extensions/git-id-switcher/src/test/e2e/`. Guidelines:
7979
- Unit tests: Must pass to merge PR
8080
- E2E tests: Run in parallel with build, currently non-blocking (`continue-on-error: true`)
8181
- E2E uses `xvfb-run` for headless execution on Linux
82+
83+
## See Also
84+
85+
- [GOVERNANCE.md](GOVERNANCE.md) — Project governance model
86+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — Garden etiquette
87+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
88+
- [SECURITY.md](SECURITY.md) — Security policy and vulnerability reporting

CODE_OF_CONDUCT.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This repository is a karesansui--a garden that expresses the universe through sa
88

99
## Principles
1010

11-
*In karesansui: the stone is core function, sand patterns are invisible quality, accents are delightful details.*
11+
_In karesansui: the stone is core function, sand patterns are invisible quality, accents are delightful details._
1212

1313
**Discern the stone** -- Question the essence; do not place a stone that cannot answer
1414

@@ -46,8 +46,17 @@ For questions or concerns: <contact@nullvariant.com>
4646

4747
---
4848

49-
*This garden exists for the satisfaction of its maker.*
49+
_This garden exists for the satisfaction of its maker._
5050

5151
---
5252

53-
*This is an original code of conduct based on the [karesansui philosophy](extensions/git-id-switcher/docs/DESIGN_PHILOSOPHY.md), inspired by but not adapted from the [Contributor Covenant](https://www.contributor-covenant.org/).*
53+
_This is an original code of conduct based on the [karesansui philosophy](extensions/git-id-switcher/docs/DESIGN_PHILOSOPHY.md), inspired by but not adapted from the [Contributor Covenant](https://www.contributor-covenant.org/)._
54+
55+
---
56+
57+
## See Also
58+
59+
- [GOVERNANCE.md](GOVERNANCE.md) — Who tends this garden and how
60+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
61+
- [SECURITY.md](SECURITY.md) — Security policy and vulnerability reporting
62+
- [AGENTS.md](AGENTS.md) — Constraints for AI-assisted contributions

CONTRIBUTING.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,12 @@ When testing UI modules (StatusBar, QuickPick, Documentation), follow these patt
112112
- Use command execution + extension stability verification pattern:
113113

114114
```typescript
115-
await vscode.commands.executeCommand('git-id-switcher.showDocumentation');
116-
assert.strictEqual(extension.isActive, true, 'Extension should remain active');
115+
await vscode.commands.executeCommand("git-id-switcher.showDocumentation");
116+
assert.strictEqual(
117+
extension.isActive,
118+
true,
119+
"Extension should remain active",
120+
);
117121
```
118122

119123
- Test panel lifecycle: create → close → re-create
@@ -142,3 +146,11 @@ Feel free to open an issue for discussion.
142146
## License
143147

144148
By contributing, you agree that your contributions will be licensed under the MIT License.
149+
150+
## See Also
151+
152+
- [GOVERNANCE.md](GOVERNANCE.md) — Project governance model
153+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — Garden etiquette
154+
- [SECURITY.md](SECURITY.md) — Security policy and vulnerability reporting
155+
- [AGENTS.md](AGENTS.md) — Constraints for AI-assisted contributions
156+
- [Translation Contributing Guide](extensions/git-id-switcher/docs/CONTRIBUTING.md) — How to contribute translations for Git ID Switcher

GOVERNANCE.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,17 @@ consensus process. The gardener places every stone.
1010

1111
## The Sekimori-ishi
1212

13-
A [sekimori-ishi](https://en.wikipedia.org/wiki/Sekimori-ishi) is a small
14-
stone tied with rope, placed on a garden path. It carries no force — yet
15-
everyone who understands the garden knows: _do not pass beyond this stone._
13+
A [sekimori-ishi](https://www.seattlejapanesegarden.org/blog/tomeishi-stop) is a small
14+
stone tied with rope, placed on a garden path to say: _do not pass beyond here._
15+
In a traditional garden, this is a silent agreement. In this digital garden,
16+
the stones have teeth.
1617

17-
This garden is protected by several such boundaries:
18+
This garden is guarded by several such stones:
1819

1920
| Name | What it guards |
2021
| ------------------------ | ---------------------------------------------------------- |
2122
| **CI / Build Check** | No broken stone enters the garden |
22-
| **Branch Protection** | The main path cannot be altered without a gate review |
23+
| **Branch Protection** | The main path cannot be altered without passing the gate |
2324
| **Signed Commits** | Every placed stone bears the mason's mark |
2425
| **Automated Publishing** | When a release tag is placed, the garden opens its gate |
2526
| **AI Review Agents** | Tireless apprentices that rake sand patterns day and night |
@@ -52,7 +53,9 @@ This garden follows the principle in our [Code of Conduct](CODE_OF_CONDUCT.md):
5253

5354
> _"If it works, it's fine"_ is not welcome here.
5455
55-
Code must be correct, secure, tested, and — yes — beautiful.
56+
Code must be correct, secure, tested, and — yes — beautiful. Every stone follows
57+
the [Karesansui Architecture](extensions/git-id-switcher/docs/DESIGN_PHILOSOPHY.md)
58+
— intentional richness that appears minimal.
5659

5760
## Bus Factor
5861

@@ -66,3 +69,11 @@ and that is by design.
6669

6770
To reach the gardener: open an issue on this repository, or see
6871
[SECURITY.md](SECURITY.md) for security-related matters.
72+
73+
## See Also
74+
75+
- [README.md](README.md) — Project overview and quick start
76+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — Garden etiquette
77+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
78+
- [SECURITY.md](SECURITY.md) — Security policy and vulnerability reporting
79+
- [AGENTS.md](AGENTS.md) — Constraints for AI-assisted contributions

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ VS Code extensions by [Null;Variant](https://github.com/nullvariant).
3333
<br>
3434
<a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/LANGUAGES.md"><img src="https://img.shields.io/badge/🌐_Languages-17+9_more-blue" alt="26 Languages"></a> <b>🇺🇸</b> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/ja/README.md">🇯🇵</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/zh-CN/README.md">🇨🇳</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/zh-TW/README.md">🇹🇼</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/ko/README.md">🇰🇷</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/de/README.md">🇩🇪</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/fr/README.md">🇫🇷</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/es/README.md">🇪🇸</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/pt-BR/README.md">🇧🇷</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/it/README.md">🇮🇹</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/ru/README.md">🇷🇺</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/pl/README.md">🇵🇱</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/tr/README.md">🇹🇷</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/cs/README.md">🇨🇿</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/hu/README.md">🇭🇺</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/bg/README.md">🇧🇬</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/uk/README.md">🇺🇦</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/eo/README.md">🌍</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/haw/README.md">🌺</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/ain/README.md">🐻</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/ryu/README.md">🐉</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/tok/README.md">✨</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/tlh/README.md">🖖</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/x-lolcat/README.md">🐱</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/x-pirate/README.md">🏴‍☠️</a> <a href="https://github.com/nullvariant/nullvariant-vscode-extensions/blob/main/extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md">🎭</a>
3535
<br><br>
36-
<a href="extensions/git-id-switcher/#readme">📖 Documentation</a> | <a href="extensions/git-id-switcher/docs/CONTRIBUTING.md">🤝 Contributing</a> | <a href="https://marketplace.visualstudio.com/items?itemName=nullvariant.git-id-switcher">📦 Marketplace</a> | <a href="https://open-vsx.org/extension/nullvariant/git-id-switcher">📦 Open VSX</a>
36+
<a href="extensions/git-id-switcher/#readme">📖 Documentation</a> | <a href="extensions/git-id-switcher/docs/ARCHITECTURE.md">🏗 Architecture</a> | <a href="extensions/git-id-switcher/docs/THREAT_MODEL.md">🛡 Threat Model</a> | <a href="extensions/git-id-switcher/docs/LANGUAGES.md">🌐 Languages</a> | <a href="extensions/git-id-switcher/docs/CONTRIBUTING.md">🤝 Contributing</a> | <a href="https://marketplace.visualstudio.com/items?itemName=nullvariant.git-id-switcher">📦 Marketplace</a> | <a href="https://open-vsx.org/extension/nullvariant/git-id-switcher">📦 Open VSX</a>
3737
</td>
3838
</tr>
3939
</table>
@@ -228,6 +228,14 @@ Use this information to verify you have the authentic Git ID Switcher extension:
228228

229229
If you find an extension with a similar name from a different publisher, please report it (see [SECURITY.md](SECURITY.md#reporting-typosquatting)).
230230

231+
## See Also
232+
233+
- [GOVERNANCE.md](GOVERNANCE.md) — Project governance model
234+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — Garden etiquette
235+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
236+
- [SECURITY.md](SECURITY.md) — Security policy and vulnerability reporting
237+
- [AGENTS.md](AGENTS.md) — Constraints for AI-assisted contributions
238+
231239
## License
232240

233241
MIT

SECURITY.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,11 @@ Marketplace publishing secrets (VSCE_PAT, OVSX_PAT) are protected by the `produc
146146
**Token Details**:
147147

148148
- **CLOUDFLARE_API_TOKEN**: Named `nullvariant-vscode-extensions-github-actions-deploy`, permissions: Workers R2 Storage:Edit
149+
150+
## See Also
151+
152+
- [GOVERNANCE.md](GOVERNANCE.md) — Project governance model
153+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) — Garden etiquette
154+
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
155+
- [AGENTS.md](AGENTS.md) — Constraints for AI-assisted contributions
156+
- [Git ID Switcher Threat Model](extensions/git-id-switcher/docs/THREAT_MODEL.md) — STRIDE-based threat analysis

extensions/git-id-switcher/src/ui/documentationInternal.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
* Unknown paths or hash mismatches result in content rejection.
2323
*/
2424
export const DOCUMENT_HASHES: Record<string, string> = {
25-
'AGENTS.md': 'cb8170851742743e584cf21ff3427c78dc1c9471fd56d25a19abc174ed4fdd61',
26-
'CODE_OF_CONDUCT.md': 'a5eb286c902437bbe0f6d409894f20e51c172fa869fe2f151bfa388f9d911b54',
27-
'CONTRIBUTING.md': '4150f8810aec7b2e8eff9f3c69ee1bae1374843f50a812efa6778cba27a833cd',
25+
'AGENTS.md': '5576e35cba6912b02c0bc5e7f51fc15a2a6e5f125e68cc7a6a450cdddc5e5ca5',
26+
'CODE_OF_CONDUCT.md': 'a0e9cb2e004663cdedef4e1adc0e429417ccfc479e367cbc17b869f62ae759d2',
27+
'CONTRIBUTING.md': '86390ee951cf08f616d75f35c0746f0005be6aee29b1a3abb5745ffb823914fb',
2828
'extensions/git-id-switcher/CHANGELOG.md': 'b11d9b619f23b9e55c31302b9a55f455ade9c58f65ce485b0d6ae4ddeb289e7a',
2929
'extensions/git-id-switcher/docs/ARCHITECTURE.md': 'db6ba2f7809b2c7aa831eda3a4b9bb80521577e4e267c7b6ccad17ffba847548',
3030
'extensions/git-id-switcher/docs/CONTRIBUTING.md': '7d6ad2bc4d8c838790754cb9df848cb65f9fdce7e1a13e5c965b83a3d5b6378c',
@@ -59,10 +59,10 @@ export const DOCUMENT_HASHES: Record<string, string> = {
5959
'extensions/git-id-switcher/docs/THREAT_MODEL.md': '1947cc3c940b872641a8f291bc7ad52eac02df1e91f8b91f67588149bc6fa6f7',
6060
'extensions/git-id-switcher/LICENSE': 'e2383295422577622666fa2ff00e5f03abd8f2772d74cca5d5443020ab23d03d',
6161
'extensions/git-id-switcher/README.md': 'c70e13824ea64644d064dda6dbafa8d9a3d959c63f1671e98fb250c4b91dedf0',
62-
'GOVERNANCE.md': 'a4a8ee6f97fb5ccbbbf310defd745e9bb38f1637336dba10eda87d0a65be5bf5',
62+
'GOVERNANCE.md': '806cf32ec9fe9fd964a782927f8eaa7696d408c42d31f554eebd6755bd911c71',
6363
'LICENSE': 'e2383295422577622666fa2ff00e5f03abd8f2772d74cca5d5443020ab23d03d',
64-
'README.md': '0ef369d8edab407d769f764342e898cebb2d17feb558169093d56dfd1989228a',
65-
'SECURITY.md': 'b5df8a04b199315ccc25ff1421641411357de7ed3c2ec58d18b29edc45614550',
64+
'README.md': '89a6fc159f160a2b8fb96279deb3c2af558bd61341f4d9c99ff6a5d7b58c4253',
65+
'SECURITY.md': '4dcd8884851a057738d9c6f58e9017f0dc8edc91fd4921a491bf66f3b2fe5e0f',
6666
};
6767

6868
/** Supported locales for documentation */

0 commit comments

Comments
 (0)