agentsys 5.3.7 → 5.4.0

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.
Files changed (40) hide show
  1. package/.agnix.toml +17 -7
  2. package/.claude-plugin/marketplace.json +13 -2
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/.gitmodules +3 -0
  5. package/AGENTS.md +4 -4
  6. package/CHANGELOG.md +21 -0
  7. package/README.md +46 -5
  8. package/lib/adapter-transforms.js +3 -1
  9. package/package.json +1 -1
  10. package/site/assets/css/main.css +39 -1
  11. package/site/assets/js/main.js +24 -0
  12. package/site/content.json +4 -4
  13. package/site/index.html +82 -7
  14. package/site/ux-spec.md +5 -5
  15. package/agent-knowledge/AGENTS.md +0 -231
  16. package/agent-knowledge/acp-with-codex-gemini-copilot-claude.md +0 -504
  17. package/agent-knowledge/ai-cli-advanced-integration-patterns.md +0 -670
  18. package/agent-knowledge/ai-cli-non-interactive-programmatic-usage.md +0 -1394
  19. package/agent-knowledge/all-in-one-plus-modular-packages.md +0 -576
  20. package/agent-knowledge/cli-browser-automation-agents.md +0 -936
  21. package/agent-knowledge/github-org-project-management.md +0 -319
  22. package/agent-knowledge/github-org-structure-patterns.md +0 -268
  23. package/agent-knowledge/kiro-supervised-autopilot.md +0 -400
  24. package/agent-knowledge/multi-product-org-docs.md +0 -622
  25. package/agent-knowledge/oss-org-naming-patterns.md +0 -368
  26. package/agent-knowledge/resources/acp-with-codex-gemini-copilot-claude-sources.json +0 -408
  27. package/agent-knowledge/resources/ai-cli-non-interactive-programmatic-usage-sources.json +0 -500
  28. package/agent-knowledge/resources/all-in-one-plus-modular-packages-sources.json +0 -310
  29. package/agent-knowledge/resources/cli-browser-automation-agents-sources.json +0 -428
  30. package/agent-knowledge/resources/github-org-project-management-sources.json +0 -239
  31. package/agent-knowledge/resources/github-org-structure-patterns-sources.json +0 -293
  32. package/agent-knowledge/resources/kiro-supervised-autopilot-sources.json +0 -135
  33. package/agent-knowledge/resources/multi-product-org-docs-sources.json +0 -514
  34. package/agent-knowledge/resources/oss-org-naming-patterns-sources.json +0 -458
  35. package/agent-knowledge/resources/skill-plugin-distribution-patterns-sources.json +0 -290
  36. package/agent-knowledge/resources/terminal-browsers-agent-automation-sources.json +0 -758
  37. package/agent-knowledge/resources/web-session-persistence-cli-agents-sources.json +0 -528
  38. package/agent-knowledge/skill-plugin-distribution-patterns.md +0 -661
  39. package/agent-knowledge/terminal-browsers-agent-automation.md +0 -776
  40. package/agent-knowledge/web-session-persistence-cli-agents.md +0 -1352
@@ -1,368 +0,0 @@
1
- # Learning Guide: OSS Org Naming Patterns for Developer Tool Ecosystems
2
-
3
- **Generated**: 2026-02-20
4
- **Sources**: 24 resources analyzed
5
- **Depth**: medium
6
-
7
- ---
8
-
9
- ## Prerequisites
10
-
11
- - Basic familiarity with GitHub organizations vs personal accounts
12
- - Awareness of npm scopes (`@scope/package`)
13
- - Understanding that GitHub and npm share flat global namespaces (no hierarchy)
14
-
15
- ---
16
-
17
- ## TL;DR
18
-
19
- - When your primary name is taken on GitHub, the dominant strategies are: add a `-js`, `-dev`, `-hq`, `-labs`, `-team`, or `with` prefix/suffix — each carries different signals
20
- - Successful ecosystems use a consistent plugin naming convention (`vite-plugin-*`, `@babel/*`, `eslint-plugin-*`) that makes the parent brand the discoverable prefix
21
- - npm scopes (`@yourorg/package`) solve namespace pollution and are now the modern standard over flat `toolname-plugin-feature` names
22
- - Org name credibility comes from the work shipping under it, not the cleverness of the name — abstract/opaque names (unjs, oven-sh, bombshell-dev) work fine once the tools prove themselves
23
- - The `-dev` suffix (vitest-dev, biomejs) signals "development org"; `-labs` signals "experimental/innovative"; `-team` (drizzle-team) signals "we are people, not just a repo"
24
-
25
- ---
26
-
27
- ## Core Concepts
28
-
29
- ### 1. The GitHub Namespace Problem
30
-
31
- GitHub has a flat global namespace: every username and org name competes in the same pool. When `vue` was already a user, the Vue.js framework became `vuejs`. When `react` was taken, the React community org became `reactjs`. When `anthropic` was already registered, Anthropic became `anthropics`.
32
-
33
- The naming strategies below represent what the open source community has converged on over roughly a decade.
34
-
35
- **The core tension**: you want discoverability (name matches your tool), but the obvious name is often taken. Every strategy involves a tradeoff between brevity, clarity, and availability.
36
-
37
- ### 2. The Major Suffix and Prefix Strategies
38
-
39
- Projects that could not claim their bare tool name use one of these patterns:
40
-
41
- | Strategy | Examples | Signal |
42
- |----------|----------|--------|
43
- | `+js` suffix | `vuejs`, `reactjs`, `feathersjs`, `storybookjs` | "JavaScript ecosystem project"; most common for JS frameworks pre-2020 |
44
- | `+dev` suffix | `vitest-dev`, `biomejs` (implicit) | "This is the development org"; common for newer JS tools |
45
- | `+labs` suffix | `tremorlabs`, `tailwindlabs` | "Company behind the tool"; implies innovation, commercial entity |
46
- | `+team` suffix | `drizzle-team` | "Humans maintain this"; warm, approachable, sustainability signal |
47
- | `+hq` suffix | Various smaller projects | "Headquarters"; less common, slightly corporate |
48
- | `with` prefix | `withastro` | "Built with X" positioning; readable as verb phrase |
49
- | `-ui` / `-css` descriptor | `shadcn-ui` | Adds product category when personal account holds bare name |
50
- | Company name | `oven-sh` (Bun), `bombshell-dev` (clack) | Parent org owns ecosystem; tool name is repo, not org |
51
- | Abstract collective | `unjs`, `antfu-collective` | Signals community ownership rather than individual |
52
- | Full spelled-out name | `modelcontextprotocol` | Spec/standards bodies; authority over cleverness |
53
-
54
- **Key insight**: The `-js` suffix feels dated for projects started after 2022. Newer projects prefer `-dev`, `-team`, or a distinct company/brand name as the org.
55
-
56
- ### 3. The Company-Behind-the-Tool Pattern
57
-
58
- Several of the most credible organizations use the **parent company or brand as the org**, with the tool living as a repo:
59
-
60
- - `oven-sh` → `oven-sh/bun` (Oven is the company; Bun is the product)
61
- - `bombshell-dev` → `bombshell-dev/clack` (Bombshell is the brand; clack is the tool)
62
- - `charmbracelet` → `charmbracelet/bubbletea`, `charmbracelet/gum` (Charm is the company; each tool is a repo)
63
- - `tailwindlabs` → `tailwindlabs/tailwindcss` (TailwindLabs is the company)
64
- - `drizzle-team` → `drizzle-team/drizzle-orm` (the team owns the ORM)
65
-
66
- This pattern works especially well when you plan to ship multiple tools. The org becomes the brand umbrella, and each repo name can be clean and short.
67
-
68
- **Credibility note**: `charmbracelet` demonstrates this perfectly. The org name is stylistically unusual, but `bubbletea` (39k stars), `gum` (22k stars), and `glow` (22k stars) prove that substance beats cleverness. No one questions the name because the software is excellent.
69
-
70
- ### 4. Ecosystem and Plugin Naming Conventions
71
-
72
- Once you have an org, the real ecosystem work is plugin/extension naming. The established patterns:
73
-
74
- **Flat prefix pattern** (pre-npm-scopes era, still widely used):
75
- ```
76
- vite-plugin-react
77
- babel-plugin-transform-arrow-functions
78
- eslint-plugin-react
79
- prettier-plugin-ruby
80
- rollup-plugin-typescript2
81
- ```
82
- The tool name is the discoverability prefix. Anyone searching `vite-plugin` on npm or GitHub finds your ecosystem.
83
-
84
- **Scoped package pattern** (modern, recommended for new ecosystems):
85
- ```
86
- @babel/core
87
- @babel/plugin-transform-arrow-functions
88
- @babel/preset-env
89
- @inquirer/prompts
90
- @inquirer/select
91
- @clack/prompts
92
- @clack/core
93
- ```
94
- Scopes solve namespace pollution on npm (no risk of `babel-plugin-x` colliding with unaffiliated packages) and signal official vs community packages clearly.
95
-
96
- **Hybrid pattern** (many mature projects use both):
97
- - Official packages: `@org/package-name`
98
- - Community packages: `tool-plugin-feature` (flat, community convention)
99
- - Example: Babel has `@babel/*` for official, but community still publishes `babel-plugin-*`
100
-
101
- **Org-prefix for repos** (official plugins as repos, not just npm):
102
- ```
103
- tailwindcss-typography (tailwindlabs/tailwindcss-typography)
104
- tailwindcss-forms (tailwindlabs/tailwindcss-forms)
105
- vite-plugin-react (vitejs/vite-plugin-react)
106
- addon-designs (storybookjs/addon-designs)
107
- biome-vscode (biomejs/biome-vscode)
108
- ```
109
-
110
- **Key insight**: The repo naming convention you choose defines what appears in GitHub search. If your org is `mytools` and plugins are `mytools-plugin-*`, searching GitHub for `mytools-plugin` finds your ecosystem. If you use `@mytools/*` as npm scope, that helps npm discoverability but is invisible in GitHub search (which searches repo names, not package names).
111
-
112
- ### 5. How Successful Projects Grew into Ecosystem Orgs
113
-
114
- **Vite (vitejs)**: Started as Evan You's project, moved to `vitejs` org. Official plugins (`vite-plugin-react`, `vite-plugin-vue`) live in the org. Created `vite-ecosystem-ci` (a repo, not a tool) to validate community plugin compatibility. The org is deliberately minimal — core tools only.
115
-
116
- **Babel (babel)**: Owned the `babel` org name. Migrated from flat `babel-*` packages to `@babel/*` scoped monorepo. This was a major v7 transition and became a blueprint for ecosystem migrations. The monorepo in `babel/babel` contains 100+ packages.
117
-
118
- **Tailwind CSS (tailwindlabs)**: "Labs" signals commercial entity. The company name is `tailwindlabs` but the framework is `tailwindcss`. Official plugins use `tailwindcss-*` naming (not `tailwindlabs-*`), keeping the product name as the brand.
119
-
120
- **Nuxt (nuxt)**: Claimed the bare `nuxt` org name. Has a `modules` repo (not a mono-repo, but a registry) that tracks community modules. This shows a third pattern: the org doesn't have to host all plugins — it can host the registry that points to them.
121
-
122
- **ESLint (eslint)**: Owns `eslint` org. The community plugin convention is `eslint-plugin-*` (flat). ESLint itself has moved toward official language plugins living in the org as `eslint/json`, `eslint/css`. The plugin naming predates scopes and the ecosystem is too large to migrate.
123
-
124
- **Prisma (prisma)**: Owns the bare `prisma` name. Uses descriptive repo names without redundant prefixes (`prisma/studio`, `prisma/language-tools`) because the org itself provides the namespace.
125
-
126
- ### 6. The npm Scope as Identity
127
-
128
- When you register an npm org, you get a scope. The scope and the GitHub org name do not have to match — but aligning them reduces confusion:
129
-
130
- ```
131
- GitHub org: vitejs npm scope: (none used, flat vite-plugin-*)
132
- GitHub org: babel npm scope: @babel
133
- GitHub org: SBoudrias npm scope: @inquirer (personal account, named scope)
134
- GitHub org: bombshell-dev npm scope: @clack
135
- GitHub org: antfu-collective npm scope: (individual packages under various scopes)
136
- ```
137
-
138
- **Best practice for new projects (2024+)**:
139
- 1. Register `@yourorgname` npm scope matching your GitHub org
140
- 2. Publish `@yourorgname/core`, `@yourorgname/cli`, `@yourorgname/plugin-x`
141
- 3. This creates a clear signal: anything under `@yourorgname` is official
142
-
143
- npm scoped packages must be lowercase and follow `@scope/package-name` where both scope and name match `[a-z0-9-._~!$&'()*+,;=:@]` (effectively: lowercase letters, numbers, hyphens, dots).
144
-
145
- ### 7. What Makes a GitHub Org Name Feel Credible vs Try-Hard
146
-
147
- **Credibility signals**:
148
- - The org name is clean, lowercase, and easy to type
149
- - It either matches the project/company name exactly, or uses a recognized convention (js, dev, labs, team)
150
- - The README/description is professional without being marketing-speak
151
- - Stars, contributors, and commit activity are visible
152
- - Verified domain in the org profile
153
- - MIT or Apache-2.0 license (signals you want people to use it)
154
- - Pinned repos showcase the actual tools, not meta-content
155
-
156
- **Try-hard signals**:
157
- - Name is excessively clever or requires explanation unrelated to the tool
158
- - Org created recently with 1-2 repos, attempting ecosystem naming before the ecosystem exists
159
- - Claims to be a "framework", "platform", or "ecosystem" in description when it is a library
160
- - Plugin or contrib template repos set up before any community exists
161
- - Version numbers in org names or repo names
162
- - Multiple repos that are all stubs
163
-
164
- **The "abstract name" exception**: Names like `unjs` (Unified JavaScript), `oven-sh`, `bombshell-dev`, `charmbracelet`, and `antfu-collective` are abstract or unusual — but they work because:
165
- 1. The org produced genuinely useful tools first
166
- 2. The naming is internally consistent (unjs has the `un*` prefix theme)
167
- 3. There is a clear website/brand behind it
168
-
169
- **The CLI/agent tooling context**: For CLI tools and agent tooling specifically, naming that signals **reliability and professional maintenance** matters more than cleverness. Developers integrating a tool into their workflow need confidence it will be maintained. Names like `drizzle-team` (people behind it) or `vitest-dev` (dev org) signal ongoing stewardship better than a cute name with no backing.
170
-
171
- ### 8. The "Collective" and Multi-Maintainer Pattern
172
-
173
- When a project outgrows a single person, the org becomes a stewardship signal:
174
-
175
- **antfu-collective**: Anthony Fu created this to house tools that are now maintained by a team, distinct from his personal projects. The name signals "started by antfu, now community-owned."
176
-
177
- **reactjs vs facebook/react**: Meta owns `facebook/react` (the actual repo), but the `reactjs` org houses documentation, localization, and community tooling. This separation is governance, not just naming.
178
-
179
- **withastro**: Astro chose `withastro` (a verb phrase: "build with Astro") rather than `astro` (the adjective/noun) because `astro` was taken. The `with` prefix became a semantic feature — it communicates the framework's value proposition.
180
-
181
- ---
182
-
183
- ## Code Examples
184
-
185
- ### npm Package Naming Patterns
186
-
187
- ```json
188
- // Modern scoped package setup (package.json)
189
- {
190
- "name": "@mytool/core",
191
- "version": "1.0.0",
192
- "description": "Core library for MyTool"
193
- }
194
-
195
- // Official plugin naming
196
- {
197
- "name": "@mytool/plugin-react",
198
- "peerDependencies": {
199
- "@mytool/core": ">=1.0.0"
200
- }
201
- }
202
-
203
- // Community plugin convention (flat naming)
204
- {
205
- "name": "mytool-plugin-svelte",
206
- "keywords": ["mytool", "mytool-plugin"]
207
- }
208
- ```
209
-
210
- ### GitHub Org Structure Pattern (hub-and-spoke)
211
-
212
- ```
213
- org: mytooldev (since "mytool" was taken)
214
- repos:
215
- mytool ← core tool (clean name inside the org namespace)
216
- mytool-docs ← documentation site
217
- mytool-vscode ← editor integration
218
- plugins ← monorepo for official plugins
219
- ecosystem-ci ← compatibility testing
220
- awesome-mytool ← community curated list
221
-
222
- npm scope: @mytool (registered separately, org name mismatch is fine)
223
- packages:
224
- @mytool/core
225
- @mytool/plugin-react
226
- @mytool/plugin-vue
227
- @mytool/cli
228
- ```
229
-
230
- ### Plugin Registry Pattern (Nuxt-style)
231
-
232
- ```
233
- org: mytool
234
- repos:
235
- mytool ← framework
236
- modules ← registry (JSON list of community modules)
237
- module-builder ← scaffolding for community module authors
238
- examples ← reference implementations
239
-
240
- Community modules live in their own orgs, listed in mytool/modules registry.
241
- ```
242
-
243
- ### Choosing Between Naming Strategies (Decision Tree)
244
-
245
- ```
246
- Is your bare name available on GitHub?
247
- YES → Claim it immediately, align npm scope
248
- NO → What is your context?
249
-
250
- Are you a company/team with multiple tools?
251
- YES → Use company/brand name as org (oven-sh, charmbracelet, tailwindlabs)
252
- Tool names become clean repo names within the org
253
-
254
- Are you an individual or small team with ONE main tool?
255
- → Add suffix to tool name:
256
- - New project (2023+): prefer -dev or -team
257
- - JS framework: -js still acceptable but dated
258
- - Commercial entity: -labs, -hq
259
- - Community project: -collective, just describe it
260
-
261
- Is it a standards body or protocol spec?
262
- → Use full spelled-out name (modelcontextprotocol, tc39)
263
- ```
264
-
265
- ---
266
-
267
- ## Common Pitfalls
268
-
269
- | Pitfall | Why It Happens | How to Avoid |
270
- |---------|---------------|--------------|
271
- | Registering org name before tool exists | Squatting on good names | Validate the project first; names can be changed |
272
- | npm scope and GitHub org name diverge confusingly | npm org was available when GitHub wasn't | Accept the mismatch, document it clearly in README |
273
- | Plugin naming without a scheme | No upfront planning | Pick `@org/plugin-x` or `toolname-plugin-x` at v0.1, stick to it |
274
- | Org name requires explanation in every README | Too clever / abstract | Names that need a glossary entry hurt onboarding |
275
- | Copying ecosystem structure before community exists | Premature architecture | Set up the registry/monorepo when you have 3+ active plugins |
276
- | `-js` suffix for non-JavaScript tools | Historical pattern cargo-culted | Use `-dev`, `-team`, or project-neutral suffix |
277
- | Claiming org but leaving it private | Security squatting / confusion | Either make the org public with a pinned description or skip it |
278
- | Org description says "ecosystem" with 2 repos | Credibility gap | Let stars and contributors prove scale before claiming it |
279
-
280
- ---
281
-
282
- ## Best Practices
283
-
284
- 1. **Claim both your bare name and fallback variants immediately** — register `mytool`, `mytooljs`, `mytool-dev` on GitHub and npm, even if unused, to prevent squatting. Transfer the unused ones to a redirect later.
285
-
286
- 2. **Align your npm scope with your GitHub org name** (or document the mismatch clearly). `@drizzle` npm scope + `drizzle-team` GitHub org creates no confusion because `drizzle-team`'s README links to `@drizzle` on npm.
287
-
288
- 3. **Use scoped npm packages for official plugins** and document the community convention for unofficial ones. Example: "Official plugins are `@mytool/plugin-*`; community plugins should follow `mytool-plugin-*`."
289
-
290
- 4. **Put the canonical tool name as the repo name inside the org**, not the org name. `vitejs/vite` reads better than `vitejs/vitejs`. The org provides the namespace; the repo can be clean.
291
-
292
- 5. **Ship the tools before building the ecosystem scaffolding.** Credibility flows from shipped, starred tools. An org with 1k stars on its main repo earns more trust than an org with 0-star plugin template stubs.
293
-
294
- 6. **For CLI and agent tooling**: favor names that signal reliability. `drizzle-team` and `vitest-dev` communicate "maintained by real people actively developing this" which matters when someone is evaluating whether to depend on your tool in their workflow.
295
-
296
- 7. **Add a verified domain to your GitHub org profile.** This takes minutes and adds significant authority signal, especially for developer tools where the domain is the documentation home.
297
-
298
- 8. **The "awesome-mytool" repo signals community health.** Creating and maintaining it, or linking to it from the org profile, shows users there is a community, not just an org.
299
-
300
- 9. **Keep the plugin naming convention in your docs from day 1.** ESLint has `eslint-plugin-*` documented clearly; Vite has `vite-plugin-*`. Community plugins self-organize around documented conventions.
301
-
302
- 10. **If you use a parent company name as the org** (like `oven-sh` for Bun), ensure the domain `oven.sh` or equivalent is prominently linked from the org. The org name will be opaque to new visitors; the domain resolves the mystery.
303
-
304
- ---
305
-
306
- ## Patterns Reference
307
-
308
- ### The Suffix Taxonomy
309
-
310
- | Suffix | Signal | Best For |
311
- |--------|--------|----------|
312
- | (none) | Owns the concept / high authority | Top-tier projects, lucky squatters |
313
- | `-js` | "JavaScript project" | Pre-2022 JS frameworks (dated now) |
314
- | `-dev` | "Development organization" | Modern tools, testing frameworks |
315
- | `-hq` | "Headquarters / canonical home" | Mid-sized projects, single tools |
316
- | `-labs` | "Company, innovation-focused" | Commercial orgs, design systems |
317
- | `-team` | "Humans behind the project" | ORMs, infra tools, warm branding |
318
- | `-ui` | "User interface component scope" | Component libs when UI is core identity |
319
- | `-collective` | "Community-owned, not one person" | Personal brand scaling to team |
320
- | `with{name}` | "Build with X" verb positioning | Frameworks describing their role |
321
- | `{company}` | Parent brand as org | Multi-tool shops, commercial entities |
322
-
323
- ### Known Naming Workaround Gallery
324
-
325
- | Project | Ideal Name | Actual Org | Strategy |
326
- |---------|-----------|------------|----------|
327
- | Vue.js | vue | vuejs | +js suffix |
328
- | React | react | reactjs (community) | +js suffix |
329
- | Vite | vite | vitejs | +js suffix |
330
- | Vitest | vitest | vitest-dev | -dev suffix |
331
- | Astro | astro | withastro | with- prefix |
332
- | Biome | biome | biomejs | +js suffix |
333
- | Storybook | storybook | storybookjs | +js suffix |
334
- | Tailwind | tailwind | tailwindlabs | -labs suffix (company) |
335
- | Drizzle ORM | drizzle | drizzle-team | -team suffix |
336
- | Bun | bun | oven-sh | parent company name |
337
- | Clack | clack | bombshell-dev | parent brand name |
338
- | shadcn/ui | shadcn | shadcn-ui | descriptor suffix |
339
- | Anthropic | anthropic | anthropics | +s (minimal change) |
340
- | Deno | deno | denoland | +land (playful) |
341
- | pkgx | pkgx | pkgxdev | +dev suffix |
342
-
343
- ---
344
-
345
- ## Further Reading
346
-
347
- | Resource | Type | Why Recommended |
348
- |----------|------|-----------------|
349
- | [vitejs org](https://github.com/vitejs) | GitHub Org | Canonical example of +js suffix with clean internal naming |
350
- | [tailwindlabs org](https://github.com/tailwindlabs) | GitHub Org | Best example of -labs company org with tool-name repos |
351
- | [withastro org](https://github.com/withastro) | GitHub Org | The "with" prefix strategy and multi-tool org structure |
352
- | [charmbracelet org](https://github.com/charmbracelet) | GitHub Org | Company-as-org with thematic tool naming |
353
- | [drizzle-team org](https://github.com/drizzle-team) | GitHub Org | -team suffix credibility pattern |
354
- | [vitest-dev org](https://github.com/vitest-dev) | GitHub Org | -dev suffix for modern JS tooling |
355
- | [unjs org](https://github.com/unjs) | GitHub Org | Abstract collective name that works because of shipping |
356
- | [antfu-collective org](https://github.com/antfu-collective) | GitHub Org | Personal brand scaling to community stewardship |
357
- | [modelcontextprotocol org](https://github.com/modelcontextprotocol) | GitHub Org | Full-name org for protocol/spec authority |
358
- | [oven-sh org](https://github.com/oven-sh) | GitHub Org | Parent company as org; clean repo names within |
359
- | [bombshell-dev org](https://github.com/bombshell-dev) | GitHub Org | Creative parent brand name for CLI tooling |
360
- | [babel org](https://github.com/babel) | GitHub Org | @babel/* scoped monorepo migration blueprint |
361
- | [nuxt org](https://github.com/nuxt) | GitHub Org | Registry-based ecosystem (not monorepo) model |
362
- | [anthropics org](https://github.com/anthropics) | GitHub Org | +s suffix pattern; SDK naming conventions |
363
- | [shadcn-ui org](https://github.com/shadcn-ui) | GitHub Org | Descriptor suffix when personal account holds bare name |
364
-
365
- ---
366
-
367
- *Generated by /learn from 24 sources.*
368
- *See `resources/oss-org-naming-patterns-sources.json` for full source metadata.*