Skip to content

Commit 93705f9

Browse files
durandomclaude
andauthored
feat: add boost workspace scaffold (#3259)
* feat: add boost workspace scaffold Boost is a rewrite of the augment plugin. This initial PR establishes the workspace structure and CODEOWNERS so maintainers have full autonomy for subsequent plugin development. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: remove non-scaffolder files from boost workspace Keep only files that the workspace scaffolder would generate. Additional config files can be added as needed during plugin development. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add yarn.lock so Yarn Berry treats boost as a separate project Without a yarn.lock, Yarn walks up to the root package.json and fails because boost isn't listed in a root workspaces field. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: generate resolved yarn.lock for boost workspace CI runs yarn install --immutable which requires a fully resolved lockfile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use empty include in tsconfig until plugins are added tsc fails with TS18003 when include globs match zero files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add files array to tsconfig to prevent TS18003 on empty workspace When both files and include are specified, tsc accepts empty include globs without erroring. Restored include paths for when plugins are added. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: format README with workspace prettier config Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add .gitignore to exclude .yarn/ from clean working directory check CI's ensure-clean-working-directory step fails because yarn install creates .yarn/ which isn't gitignored. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 611bd81 commit 93705f9

9 files changed

Lines changed: 17992 additions & 0 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
/workspaces/adoption-insights @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @rohitkrai03 @karthikjeeyar @eswaraiahsapram
1919
/workspaces/ai-integrations @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @redhat-developer/rhdh-ai @rohitkrai03 @karthikjeeyar @lucifergene @johnmcollier @gabemontero
2020
/workspaces/augment @redhat-developer/rhdh-plugins-maintainers @pkliczewski @rrbanda @durandom
21+
/workspaces/boost @redhat-developer/rhdh-plugins-maintainers @durandom @gabemontero
2122
/workspaces/app-defaults @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @rohitkrai03 @christoph-jerolimov
2223
/workspaces/bulk-import @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-plugins @rm3l @redhat-developer/rhdh-ui @debsmita1 @its-mitesh-kumar
2324
/workspaces/extensions @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @christoph-jerolimov @karthikjeeyar
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "public",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"privatePackages": {
11+
"tag": false,
12+
"version": false
13+
}
14+
}

workspaces/boost/.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Yarn
5+
.pnp.*
6+
.yarn/*
7+
!.yarn/patches
8+
!.yarn/plugins
9+
!.yarn/releases
10+
!.yarn/sdks
11+
!.yarn/versions
12+
13+
# Build output
14+
dist
15+
dist-types
16+
17+
# Coverage
18+
coverage

workspaces/boost/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Boost Workspace
2+
3+
This workspace contains the Boost plugin family for Red Hat Developer Hub.
4+
5+
Boost is a rewrite of the [Augment](../augment/) plugin.
6+
7+
## Plugins
8+
9+
| Plugin | Description |
10+
| ------------- | ----------- |
11+
| _coming soon_ | |
12+
13+
## Development
14+
15+
```bash
16+
# Install dependencies
17+
yarn install
18+
19+
# Start the dev server
20+
yarn start
21+
22+
# Run tests
23+
yarn test:all
24+
25+
# Build all plugins
26+
yarn build:all
27+
```

workspaces/boost/backstage.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{ "version": "1.45.0" }

workspaces/boost/catalog-info.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: backstage.io/v1alpha1
2+
kind: Component
3+
metadata:
4+
name: boost
5+
description: AI assistant plugin for Backstage — a rewrite of the augment plugin.
6+
spec:
7+
type: website
8+
owner: durandom
9+
lifecycle: experimental

workspaces/boost/package.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"name": "@internal/boost",
3+
"version": "1.0.0",
4+
"private": true,
5+
"engines": {
6+
"node": "22 || 24"
7+
},
8+
"scripts": {
9+
"start": "backstage-cli repo start",
10+
"build:all": "backstage-cli repo build --all",
11+
"build:api-reports": "yarn build:api-reports:only --tsc",
12+
"build:api-reports:only": "backstage-repo-tools api-reports -o ae-wrong-input-file-type,ae-undocumented --validate-release-tags",
13+
"build:knip-reports": "backstage-repo-tools knip-reports",
14+
"tsc": "tsc",
15+
"tsc:full": "tsc --skipLibCheck true --incremental false",
16+
"clean": "backstage-cli repo clean",
17+
"test": "backstage-cli repo test",
18+
"test:all": "yarn prettier:check && yarn lint:all && backstage-cli repo test --coverage",
19+
"fix": "backstage-cli repo fix",
20+
"lint": "backstage-cli repo lint --since origin/main",
21+
"lint:all": "backstage-cli repo lint",
22+
"prettier:check": "prettier --check .",
23+
"prettier:fix": "prettier --write .",
24+
"chores": "yarn prettier:fix && yarn lint:all --fix && yarn tsc:full && yarn build:api-reports && yarn test:all",
25+
"new": "backstage-cli new --scope @red-hat-developer-hub",
26+
"postinstall": "cd ../../ && yarn install"
27+
},
28+
"workspaces": {
29+
"packages": [
30+
"packages/*",
31+
"plugins/*"
32+
]
33+
},
34+
"repository": {
35+
"type": "git",
36+
"url": "https://github.com/redhat-developer/rhdh-plugins",
37+
"directory": "workspaces/boost"
38+
},
39+
"devDependencies": {
40+
"@backstage/cli": "^0.34.5",
41+
"@backstage/e2e-test-utils": "^0.1.1",
42+
"@backstage/repo-tools": "^0.16.0",
43+
"@changesets/cli": "^2.27.1",
44+
"knip": "^5.27.4",
45+
"node-gyp": "^9.0.0",
46+
"prettier": "^3.7.4",
47+
"typescript": "^5.9.0"
48+
},
49+
"resolutions": {
50+
"@types/react": "^18",
51+
"@types/react-dom": "^18"
52+
},
53+
"prettier": "@backstage/cli/config/prettier",
54+
"lint-staged": {
55+
"*.{js,jsx,ts,tsx,mjs,cjs}": [
56+
"eslint --fix",
57+
"prettier --write"
58+
],
59+
"*.{json,md}": [
60+
"prettier --write"
61+
]
62+
},
63+
"maintainers": [
64+
"@durandom",
65+
"@gabemontero"
66+
]
67+
}

workspaces/boost/tsconfig.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"extends": "@backstage/cli/config/tsconfig.json",
3+
"include": [
4+
"packages/*/src",
5+
"packages/*/config.d.ts",
6+
"plugins/*/src",
7+
"plugins/*/config.d.ts",
8+
"plugins/*/dev",
9+
"plugins/*/migrations"
10+
],
11+
"files": [],
12+
"exclude": ["node_modules", "**/node_modules"],
13+
"compilerOptions": {
14+
"outDir": "dist-types",
15+
"rootDir": ".",
16+
"jsx": "react-jsx"
17+
}
18+
}

0 commit comments

Comments
 (0)