add CI, repo security, and hygiene#2
Merged
Conversation
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
anandpant
marked this pull request as ready for review
March 27, 2026 04:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the baseline repository automation that was missing after the initial package merge. The repo had Nx configured locally, but there were no GitHub workflows for basic quality gates, no repository security policy, and no dependency automation. That meant build, lint, and test status only existed on local machines, while GitHub security settings were mostly still disabled even though this repository is public and eligible for free protections.
The result was a gap between the local Nx setup and the actual repository posture. Contributors could merge changes without GitHub enforcing the same checks the workspace is already designed to run. Security reporting and supply-chain automation were also not discoverable from the repo itself.
Root Cause
The workspace had solid local Nx targets, but the GitHub-facing layer had not been wired up yet. There was no
.githubdirectory, no workflow generated from Nx, noSECURITY.md, no Dependabot config, and no README signal showing CI or DeepWiki indexing. There was also a caching correctness issue in the lint target: it linted root docs and workflow files, but Nx was not treating those files as lint inputs, so cache hits could become stale for repo-level changes.Fix
The PR generates and then trims a GitHub Actions CI workflow around the existing Nx targets so PRs and pushes to
mainrunlint,test,typecheck, andbuildforfoundry-ai. It also adds a weekly Dependabot configuration for npm packages and GitHub Actions.On the repository side, it adds a real security policy, updates the README to reflect current tool versions and CI status, and adds the lightweight DeepWiki badge link requested for auto-refresh/index pickup. It also updates the small set of viable dependency bumps in the workspace:
nx,@nx/js, andai.The Nx configuration is tightened so repo-level files that are part of linting are also part of the lint cache inputs. That makes the new CI behavior defensible instead of depending on stale cache assumptions for docs and workflow changes.
Validation
I ran the full uncached Nx path on this branch:
pnpm exec nx run-many -t lint test typecheck build --projects=foundry-ai --skipNxCache --outputStyle=staticpnpm exec nx run foundry-ai:clean --outputStyle=staticI also enabled the free GitHub repository security features available to this public repository:
allow_update_branchdelete_branch_on_mergemainbranch protection with the required CI check, 1 approving review, stale review dismissal, and conversation resolutionI did not run the live Foundry suite because it requires credentials and external service access.