feat(raijin): generate project scaffolds#863
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e61e4155c0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
… into fix/raijin-package-artifact-contract # Conflicts: # .yarn/releases/yarn.mjs # package.json
fix(raijin): restore package artifact exports
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 143097fb55
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8a6360f517
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fce1af9fe8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 48b459d391
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const child = spawn(file, args, { | ||
| stdio: 'inherit', | ||
| shell: false, |
There was a problem hiding this comment.
Launch Windows command shims through a shell
On Windows, the yarn and builder executables placed in the script environment are .cmd shims, which child_process.spawn cannot execute with shell: false. Consequently, yarn workspace @atls/yarn-cli build fails immediately at the nested yarn invocation (and would likewise fail at builder), whereas the previous Yarn-script implementation used Yarn's portable shell. Select the platform-specific .cmd executable or enable a shell on Windows.
Useful? React with 👍 / 👎.
Task
makeScriptEnvwrappers without Corepack re-entry; keep the package-script setup hook limited to the managed Node loadergenerate projectas the project-generation slice under [Epic] Generation architecture #803:yarn/plugin-generateowns the Clipanion command and project presentation,yarn/raijin/src/application/generation/project/scaffoldowns the typed application scenario, andyarn/raijin/src/infrastructure/generation/projectowns the Angular, Yarn, and generated GitHub workflow adapterscode/code-schematicsandplugin-schematicsroute with the bundled@atls/raijinAngular collection resolved through packageschematicsmetadataGCR_*, and old action-version baselinegenerate projectpreserves existingpackage.jsonscripts and does not rewrite oldstart: "yarn node dist/index.js"entries toyarn service startoryarn renderer startHow to verify
Main scenario
Context: Disposable PnP and
node-modulesmonorepos use the checked-in Yarn runtime and a packed current@atls/raijinAction: Run
yarn generate projectforprojectandlibraryfrom nested workspace directoriesExpected result: Yarn resolves the installed Raijin package, materializes its bundled Angular collection from package metadata, and writes the exact variant scaffold files with the expected
package.json,tsconfig.json,.gitignore, Husky, and GitHub workflow contentContext: An existing workspace has its own
package.jsonscripts and project-specific.gitignoreAction: Run
yarn generate projectagainst that workspaceExpected result: The scaffold applies the generated baseline, preserves existing scripts as-is, and merges
.gitignorewithout treating script migration as part of generationContext: Raijin is installed with its current package manifest
Action: Render generated GitHub workflows for project and library scaffolds
Expected result: Workflow actions are resolved from the generated workflow policy, Node is derived from the installed
@types/nodemajor, publishing usesNPM_TOKEN, and project image workflows target GHCR withGITHUB_TOKENContext: A Raijin command delegates to a nested Yarn command under project PnP
Action: Run formatting, type checking, tests, and package builds through the checked-in runtime
Expected result: Yarn materializes its own command wrappers without nested Corepack package resolution, while the managed Node loader and project PnP state remain active
Additional scenario
Context: A disposable workspace requests an unsupported scaffold type
Action: Run
yarn generate project --type serviceExpected result: The command exits with code
1, reports the typed validation failure, and leaves the target unchangedContext: The collection provider is unavailable, the collection is corrupt, or a schematic rule fails after staging tree changes
Action: Execute the application scenario through the Yarn and Angular infrastructure adapters
Expected result: The scenario returns a typed failure, releases temporary package files, and commits no partial tree writes
Proofs
Full consumer validation also reproduces the separate stock Next monorepo Tailwind/PnP defect tracked by [Bug] Stock Next monorepo with Tailwind fails under Yarn PnP #868. It occurs after command invocation reaches Next and is not handled by this remediation.
Repository and version validation