Skip to content

Commit dcc9f21

Browse files
V48 (specification-implementation): VCS hierarchy as vcs-generics + generic-vcs/*
Reorganize VCS like measurements/pipelines: packages/vcs-generics holds AbstractVCSProvider primitives; packages/generic-vcs/{github,gitlab,bitbucket,git} hold provider implementations. Keep @bitcode/vcs|github|gitlab|bitbucket|git as compatibility re-exports. Wire workspaces, tsconfig, factory lazy-loads, and docs.
1 parent a800e0a commit dcc9f21

71 files changed

Lines changed: 1095 additions & 1059 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

BITCODE_SPEC_V48_NOTES.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1584,3 +1584,18 @@ Prepared catalogs (`ASSET_PACK_ABSOLUTES_CATALOG`, lens catalogs) live in
15841584
`@bitcode/asset-packs-synthesis`. `agent-generics` re-exports measure factories
15851585
for compatibility; prefer package-direct imports in new code.
15861586

1587+
## VCS hierarchy modularization (Garrett, 2026-07-13)
1588+
1589+
```
1590+
@bitcode/vcs-generics # packages/vcs-generics (was packages/vcs)
1591+
→ @bitcode/generic-vcs-github # packages/generic-vcs/github
1592+
→ @bitcode/generic-vcs-gitlab
1593+
→ @bitcode/generic-vcs-bitbucket
1594+
→ @bitcode/generic-vcs-git # Git operation bridge
1595+
```
1596+
1597+
Compatibility shims remain at `@bitcode/vcs`, `@bitcode/github`, `@bitcode/gitlab`,
1598+
`@bitcode/bitbucket`, `@bitcode/git`. Prefer hierarchy package names in new code.
1599+
`generic-tools/vcs` and `generic-agents-vcs` are tools/agents over the VCS layer,
1600+
not provider packages.
1601+

FAMILIARIZATION.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,20 @@ inside `agent-generics` until inverted onto pure Execution + LLM registry.
173173

174174
Factories: `factoryAgent`, `factoryAgentWithPTRR` in `agent-generics`.
175175

176+
### 3.2.0 VCS
177+
178+
```
179+
@bitcode/vcs-generics VCS primitives (AbstractVCSProvider, factory, service)
180+
181+
@bitcode/generic-vcs-{github|gitlab|bitbucket} Provider implementations
182+
@bitcode/generic-vcs-git Git-shaped bridge over providers
183+
184+
@bitcode/generic-tools-vcs / generic-agents-vcs Tools + agent over VCS
185+
```
186+
187+
Package paths: `packages/vcs-generics/`, `packages/generic-vcs/*`.
188+
Compatibility shims: `@bitcode/vcs`, `@bitcode/github`, …
189+
176190
### 3.2 Tools
177191

178192
```
@@ -346,7 +360,11 @@ public entries remain stable (`./deposit-asset-pack-options`, `./depository-sear
346360
| --- | --- |
347361
| `auth` | Wallet local identity, Bitcoin wallet client, OAuth provider, Supabase auth redirect, QA telemetry |
348362
| `github` / `gitlab` / `bitbucket` | VCS providers |
349-
| `vcs` + `generic-tools/vcs` | VCS abstraction + tools |
363+
| `vcs-generics` | VCS primitives (`AbstractVCSProvider`, factory, service) |
364+
| `generic-vcs-github` / `-gitlab` / `-bitbucket` | Nested provider implementations |
365+
| `generic-vcs-git` | Git operation bridge over providers |
366+
| `vcs` / `github` / … | BC re-exports of vcs-generics / generic-vcs-* |
367+
| `generic-tools/vcs` + `generic-agents-vcs` | VCS tools and agent (not providers) |
350368
| `git` | Git operation bridge |
351369
| `supabase` | Supabase clients |
352370
| `notion`, `figma`, `jira`, `circleci`, … | External service adapters |

internal-docs/BITCODE_SOURCE_LAYOUT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ packages/generic-<family>/ # README only (no package.json)
210210
| `generic-llms/` | `xAI/`, `OpenAI/`, `Anthropic/`, `Google/`, `defaults/`, `registry/` | `@bitcode/generic-llms-*` (+ aggregator `@bitcode/generic-llms`) |
211211
| `generic-generations/` | `failsafes/`, `thinkings/` | `@bitcode/generic-generations-failsafes`, `-thinkings` |
212212
| `generic-measurements/` | `measure-agent/`, `absolutes/`, `needinesses/` | `@bitcode/generic-measurements-*` |
213+
| `generic-vcs/` | `github/`, `gitlab/`, `bitbucket/`, `git/` | `@bitcode/generic-vcs-*` |
214+
| `vcs-generics/` | (package root) | `@bitcode/vcs-generics` |
213215
| `asset-packs/` | `synthesis/`, `settle/` | `@bitcode/asset-packs-synthesis`, `-settle` |
214216
| `generic-doc-comment-plugins/` | `doc-developing/` | `@bitcode/doc-comment-developing` |
215217

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"packages/generic-llms/*",
1616
"packages/generic-generations/*",
1717
"packages/generic-measurements/*",
18+
"packages/generic-vcs/*",
1819
"packages/asset-packs/*",
1920
"packages/generic-doc-comment-plugins/*",
2021
"packages/pipelines/*",

packages/bitbucket/package.json

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
11
{
22
"name": "@bitcode/bitbucket",
33
"version": "1.0.0",
4-
"description": "Bitbucket provider implementation, OAuth, and MCP tools",
5-
"main": "dist/index.js",
6-
"types": "dist/index.d.ts",
7-
"scripts": {
8-
"build": "tsc",
9-
"test": "jest",
10-
"test:coverage": "jest --coverage",
11-
"test:watch": "jest --watch",
12-
"type-check": "tsc --noEmit"
13-
},
4+
"description": "Compatibility re-export of @bitcode/generic-vcs-bitbucket",
5+
"main": "src/index.ts",
6+
"types": "src/index.ts",
7+
"exports": { ".": "./src/index.ts" },
148
"dependencies": {
15-
"@bitcode/vcs": "workspace:*",
16-
"@bitcode/logger": "workspace:*",
17-
"@bitcode/supabase": "workspace:*"
18-
},
19-
"devDependencies": {
20-
"@types/jest": "^29.5.0",
21-
"jest": "^29.5.0",
22-
"ts-jest": "^29.1.0",
23-
"typescript": "^5.0.0"
9+
"@bitcode/generic-vcs-bitbucket": "workspace:*"
2410
}
25-
}
11+
}

packages/bitbucket/src/index.ts

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,6 @@
11
/**
2-
* Bitbucket - Bitbucket VCS provider implementation
3-
*
4-
* Provides Bitbucket integration via the unified VCS abstraction.
5-
* Clean provider export without former dependency seams.
6-
*
7-
* @doc-package
8-
* version: 1.0.0
9-
* pattern: vcs-provider
10-
* philosophy: "One provider, clean interface"
2+
* @deprecated Prefer `@bitcode/generic-vcs-bitbucket`.
3+
* Compatibility re-export of packages/generic-vcs/bitbucket.
114
*/
12-
13-
import BitbucketProvider from './providers/bitbucket-provider';
14-
export { BitbucketAuth } from './auth';
15-
export { BitbucketConnections } from './connections';
16-
17-
// Export the provider class for direct usage
18-
export { BitbucketProvider };
19-
20-
// Default export for VCS factory pattern
21-
export default BitbucketProvider;
5+
export * from '@bitcode/generic-vcs-bitbucket';
6+
export { default } from '@bitcode/generic-vcs-bitbucket';

packages/generic-vcs/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# generic-vcs
2+
3+
Nested VCS **provider** implementations of `@bitcode/vcs-generics` primitives.
4+
5+
## Hierarchy
6+
7+
```
8+
@bitcode/vcs-generics # types, AbstractVCSProvider, factory, service, cache
9+
10+
@bitcode/generic-vcs-github # github/
11+
@bitcode/generic-vcs-gitlab # gitlab/
12+
@bitcode/generic-vcs-bitbucket # bitbucket/
13+
@bitcode/generic-vcs-git # git/ (operation bridge over providers)
14+
```
15+
16+
## Packages
17+
18+
| Path | Package | Role |
19+
| --- | --- | --- |
20+
| `github/` | `@bitcode/generic-vcs-github` | GitHub provider (+ App auth) |
21+
| `gitlab/` | `@bitcode/generic-vcs-gitlab` | GitLab provider |
22+
| `bitbucket/` | `@bitcode/generic-vcs-bitbucket` | Bitbucket provider |
23+
| `git/` | `@bitcode/generic-vcs-git` | Git-shaped operation bridge via VCS providers |
24+
25+
Compatibility shims at `packages/{github,gitlab,bitbucket,git,vcs}/` re-export the
26+
new package names (`@bitcode/github`, `@bitcode/vcs`, …). Prefer hierarchy package names in new code.
27+
28+
Related (not providers): `@bitcode/generic-tools-vcs` / `@bitcode/generic-agents-vcs`
29+
are tools/agents over the VCS layer, not provider implementations.
File renamed without changes.

packages/bitbucket/jest.config.cjs renamed to packages/generic-vcs/bitbucket/jest.config.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const path = require('path');
2-
const { createJestConfig } = require('../../jest.base.cjs');
2+
const { createJestConfig } = require('../../../jest.base.cjs');
33

44
module.exports = createJestConfig(__dirname, {
55
collectCoverageFrom: ['src/**/*.{ts,tsx}', '!src/**/*.d.ts'],
File renamed without changes.

0 commit comments

Comments
 (0)