From 5c34c24a9f40a107eea7db0b9817302a5972a751 Mon Sep 17 00:00:00 2001 From: Niko Sams Date: Wed, 18 Mar 2026 12:21:22 +0100 Subject: [PATCH 1/5] Improve AGENTS.md with clearer instructions and dev-pm docs (#5336) Co-authored-by: Claude Opus 4.6 --- AGENTS.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 1a5e188a59..880b5d50e2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,14 +10,14 @@ When running in the cloud/web environment and repo is cloned from scratch, if required you can: -1. Install dependencies +1. Install dependencies (**only** run if not yet done by eg. pipeline setup, check if `node_modules` exists) - `NODE_USE_ENV_PROXY=1 ./install.sh` -2. Run build for packages you are working on +2. Run build for packages you are working on (**only** run if build file doesn't exist yet, check if `lib` exists in package) - `pnpm --recursive --filter '' run build` **If Docker is available:** -- You can start the full demo application using dev-pm and access it at localhost +- You can start the full demo application using dev-pm and access it at localhost. Do **not** use docker compose directly, always use dev-pm and start `demo-docker`. **If Docker is not available:** @@ -83,22 +83,35 @@ This repository includes a demo application which is showcasing the libraries. **Api:** Demo backend API (NestJS, PostgreSQL) -- Start using `pnpm exec dev-pm @demo-api` +- Start using `pnpm exec dev-pm start @demo-api` - access at: http://localhost:4000/ **Admin:** Demo admin app (Vite, React, Apollo) -- Start using `pnpm exec dev-pm @demo-admin` +- Start using `pnpm exec dev-pm start @demo-admin` - access at: http://localhost:8000/ - Usually Login as "Admin" in the IDP Login Page **Site:** Demo frontend site (Next.js) -- Start using `pnpm exec dev-pm @demo-site` +- Start using `pnpm exec dev-pm start @demo-site` - access at: http://localhost:3000/ + +### dev-pm + +Use dev-pm for managing demo processes: +- command: `pnpm exec -- dev-pm` +- config: `dev-pm.config.ts` + +Common commands: +- start script/service: `pnpm exec -- dev-pm start scriptName` +- start group `pnpm exec -- dev-pm start @group` +- view status `pnpm exec -- dev-pm status` +- view logs `pnpm exec -- dev-pm logs --lines 100 scriptName` + ## Packages ### Admin (`packages/admin/`) From 9016b17937476bf23bc8ff87e69a08fd4bff673f Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 12:41:00 +0100 Subject: [PATCH 2/5] Merge pull request #5335 from vivid-planet/copilot/add-pnpm-install-agent-skills Add install-agent-skills step to copilot-setup-steps workflow --- .github/workflows/copilot-setup-steps.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index df3a3d7cf2..44a3f8d4d3 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -192,6 +192,8 @@ jobs: - run: CI=false pnpm run copy-project-files + - run: pnpm run install-agent-skills + - name: create site-config-envs run: pnpm run create-site-configs-env From 71ce212e0a653c7786b38275ffad5b6e825a2e61 Mon Sep 17 00:00:00 2001 From: Niko Sams Date: Thu, 19 Mar 2026 08:44:30 +0100 Subject: [PATCH 3/5] Demo API: extend lint to verify that the API can start and generated files are up to date (#5136) --- demo/api/package.json | 7 ++++--- demo/api/src/db/ormconfig.ts | 1 + package.json | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/demo/api/package.json b/demo/api/package.json index b18fda2ca2..7739ca9beb 100644 --- a/demo/api/package.json +++ b/demo/api/package.json @@ -21,10 +21,11 @@ "intl:compile": "pnpm run intl:compile:comet-demo", "intl:compile:comet-demo": "formatjs compile-folder --format simple --ast lang/comet-demo-lang/api lang-compiled/comet-demo-api", "intl:extract": "formatjs extract \"src/**/*.ts*\" --ignore '**/*.{test,spec}.{ts,tsx}' --ignore ./**.d.ts --out-file lang-extracted/en.json --format simple --throws", - "lint": "pnpm run api-generator && pnpm run intl:compile && run-p lint:prettier lint:eslint lint:tsc", - "lint:ci": "pnpm run api-generator && pnpm run intl:compile && run-p lint:prettier lint:eslint lint:tsc lint:generated-files-not-modified", + "lint": "pnpm run api-generator && pnpm run intl:compile && run-p lint:prettier lint:eslint lint:tsc lint:api-can-start", + "lint:api-can-start": "MIKRO_ORM_NO_CONNECT=true dotenv -e ../../.env.secrets -e ../../.env.local -e ../../.env -e ../.env.site-configs -- ts-node --transpile-only -r tsconfig-paths/register src/console.ts --help", + "lint:ci": "pnpm run api-generator && pnpm run intl:compile && run-p lint:prettier lint:eslint lint:tsc lint:api-can-start && pnpm run lint:generated-files-not-modified", "lint:eslint": "eslint --max-warnings 0 src/ '**/*.json' --no-warn-ignored", - "lint:generated-files-not-modified": "git diff --exit-code HEAD -- $(find src -type f -path '*/generated/*')", + "lint:generated-files-not-modified": "git diff --exit-code HEAD -- schema.gql block-meta.json $(find src -type f -path '*/generated/*')", "lint:prettier": "pnpm exec prettier --check '*.{ts,js,json,md,yml,yaml}'", "lint:tsc": "tsc --project ./tsconfig.lint.json", "mikro-orm": "dotenv -e .env.secrets -e .env.local -e .env -e .env.site-configs -- mikro-orm", diff --git a/demo/api/src/db/ormconfig.ts b/demo/api/src/db/ormconfig.ts index 381758bc16..8b9b779199 100644 --- a/demo/api/src/db/ormconfig.ts +++ b/demo/api/src/db/ormconfig.ts @@ -18,6 +18,7 @@ export const ormConfig = createOrmConfig( }, namingStrategy: EntityCaseNamingStrategy, debug: false, + connect: process.env.MIKRO_ORM_NO_CONNECT !== "true", dataloader: DataloaderType.ALL, discovery: { getMappedType(type: string, platform) { diff --git a/package.json b/package.json index c8f2be73f5..36804db496 100644 --- a/package.json +++ b/package.json @@ -52,8 +52,8 @@ "browser:demo:admin": "dotenv -- sh -c 'open-cli $ADMIN_URL'", "browser:demo:site": "dotenv -- sh -c 'open-cli $SITE_URL'", "browser:demo:jaeger": "dotenv -- sh -c 'open-cli http://localhost:$JAEGER_UI_PORT'", + "setup:ci": "pnpm --filter '@comet/cli' --filter '@comet/eslint-plugin' run build && pnpm run create-site-configs-env && pnpm run copy-project-files", "install-agent-skills": "pnpm exec comet install-agent-skills --config agent-skills.json", - "setup:ci": "pnpm run copy-project-files", "setup:download-oauth2-proxy": "dotenv -- sh -c 'pnpm exec comet download-oauth2-proxy -v $OAUTH2_PROXY_VERSION'", "setup:download-mitmproxy": "dotenv -- sh -c 'pnpm exec comet download-mitmproxy -v $MITMPROXY_VERSION'" }, From e3039f9260eaf983dcad6d640fc642880fc6ae85 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:14:48 +0100 Subject: [PATCH 4/5] Demo dev-pm config: Remove demo-api-storybook from demo-api and demo groups (#5342) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: nsams <50764+nsams@users.noreply.github.com> --- dev-pm.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/dev-pm.config.ts b/dev-pm.config.ts index 36005d6914..278fe1e1c5 100644 --- a/dev-pm.config.ts +++ b/dev-pm.config.ts @@ -223,7 +223,6 @@ export default defineConfig({ { name: "demo-api-storybook", script: "pnpm --filter comet-demo-api run storybook", - group: ["demo-api", "demo"], }, // group demo login From 6145beaf8b48b9c5c827e3f4b235c09b02efee2f Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:15:31 +0100 Subject: [PATCH 5/5] Demo dev-pm config: Move demo-oidc-provider and demo-oauth2-proxy to demo-admin group (#5343) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: nsams <50764+nsams@users.noreply.github.com> --- dev-pm.config.ts | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/dev-pm.config.ts b/dev-pm.config.ts index 278fe1e1c5..3e28ad8776 100644 --- a/dev-pm.config.ts +++ b/dev-pm.config.ts @@ -195,6 +195,17 @@ export default defineConfig({ group: ["demo-admin", "demo"], waitOn: ["tcp:$API_PORT"], }, + { + name: "demo-oidc-provider", + script: "pnpm run dev:oidc-provider", + group: ["demo-admin", "demo"], + }, + { + name: "demo-oauth2-proxy", + script: "pnpm run dev:oauth2-proxy", + group: ["demo-admin", "demo"], + waitOn: ["tcp:$IDP_PORT", "tcp:$ADMIN_PORT"], + }, //group demo api { @@ -225,19 +236,6 @@ export default defineConfig({ script: "pnpm --filter comet-demo-api run storybook", }, - // group demo login - { - name: "demo-oidc-provider", - script: "pnpm run dev:oidc-provider", - group: ["demo-login", "demo"], - }, - { - name: "demo-oauth2-proxy", - script: "pnpm run dev:oauth2-proxy", - group: ["demo-login", "demo"], - waitOn: ["tcp:$IDP_PORT", "tcp:$ADMIN_PORT"], - }, - //group demo site { name: "demo-site",