Skip to content

Conversation

@Dargon789
Copy link
Owner

beeman and others added 30 commits April 23, 2025 02:02
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: remove autofix github workflow script

* fix: tip alert in README
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Snyk has created this PR to upgrade @clack/prompts from 0.7.0 to 0.11.0.

See this package in npm:
@clack/prompts

See this project in Snyk:
https://app.snyk.io/org/apichanmittare/project/0c3e0cce-7a92-4f94-90ba-e7eaa0eac00f?utm_source=github&utm_medium=referral&page=upgrade-pr
…ana-foundation#196)

* fix: fully support file/folder renaming and content replacement in init script

* chore: remove extra underscrore

* fix: logging and avoid inline if-statements
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Description
-----------
The "should handle errors gracefully" test was intentionally
triggering errors to verify error handling, but `console.error`
was not mocked to suppress output, causing noisy `stderr` logs
during test despite all tests passing.

Testing the introduced fix
--------------------------
```
npm run test
```
All tests will now pass cleanly without `stderr` error output.
…ve-repokit-dependency

refactor: remove repokit dependency and replace with local utilities
…n/ci

fix: run ci script as part of e2e test
Dargon789 and others added 22 commits January 13, 2026 03:25
Snyk has created this PR to upgrade semver from 7.7.2 to 7.7.3.

See this package in npm:
semver

See this project in Snyk:
https://app.snyk.io/org/apichanmittare/project/0c3e0cce-7a92-4f94-90ba-e7eaa0eac00f?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <[email protected]>
* fix: update solana docs url

* Version Packages (solana-foundation#206)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(test): error handling in search-and-replace test

Description
-----------
The "should handle errors gracefully" test was intentionally
triggering errors to verify error handling, but `console.error`
was not mocked to suppress output, causing noisy `stderr` logs
during test despite all tests passing.

Testing the introduced fix
--------------------------
```
npm run test
```
All tests will now pass cleanly without `stderr` error output.

* refactor: remove repokit dependency and replace with local utilities

* fix: update imports and Zod types for compatibility

* Version Packages

* fix: run ci script as part of e2e test

* test: skip community in regular tests

* skip again test workflow on PR since we tested it now skips community

* feat: make Kit Framework templates the default

* fix: remove buggy deduplication in init-script-rename

* chore: remove test templates job (solana-foundation#221)

* fix: apply path rename only to entry name, not full path

* Version Packages

* fix: enable automated npm publish to latest tag

* Version Packages

* feat: show setup progress for anchor templates

Add a dedicated task that runs the `setup` script (if present) with a descriptive message "Running setup (building program, generating client)" to improve UX during anchor template installation.

* Version Packages

* feat: support local template install for testing

* feat: add warning for installing local templates

---------

Co-authored-by: Bram Borggreve <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 0xObsidian <[email protected]>
Co-authored-by: guibibeau <[email protected]>
Co-authored-by: Gui Bibeau <[email protected]>
Co-authored-by: Sourav Mishra <[email protected]>
* Create old-bags-rest.md

Signed-off-by: Dargon789 <[email protected]>

* Update .changeset/old-bags-rest.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <[email protected]>

---------

Signed-off-by: Dargon789 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Create config.yml

148313f
484b187
49c4050
4539b38

Signed-off-by: Dargon789 <[email protected]>

* Update .circleci/config.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <[email protected]>

---------

Signed-off-by: Dargon789 <[email protected]>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
in commit `813773d4`, @beeman mentioned that `paths`
should be renamed to `in`.
This PR basically adds support for it + maintain
backward compatibility.

Feat added
----------
- Accepts `in` alias alongside `paths` in rename entries
- Normalizes `in` to `paths` in `InitScriptSchemaRename`
- Added tests for alias and existing `paths` behavior

Implementation test
-------------------
pnpm vitest run test/init-script-schema.test.ts
pnpm test

Co-authored-by: 0xObsidian <[email protected]>
* Create rude-eyes-check.md

Signed-off-by: Dargon789 <[email protected]>

* Update .changeset/rude-eyes-check.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <[email protected]>

---------

Signed-off-by: Dargon789 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Replace the GitHub Actions-based npm snapshot publishing workflow with a CircleCI-style workflow that runs tests using Bun via the CircleCI Node orb.

CI:

Introduce a new CircleCI-style test job using the node orb and Bun to run the test suite.
Remove the previous GitHub Actions steps that built the project and published npm snapshots to pkg.pr.new.
Signed-off-by: Dargon789 <[email protected]>
Chores:

Record a patch-level changeset for the create-solana-dapp package.
Signed-off-by: Dargon789 <[email protected]>
#2)

Snyk has created this PR to upgrade @beeman/repokit from 0.0.0-canary-20250801172233 to 0.0.0.

See this package in npm:
@beeman/repokit

See this project in Snyk:
https://app.snyk.io/org/apichanmittare/project/0c3e0cce-7a92-4f94-90ba-e7eaa0eac00f?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <[email protected]>
#22)

Snyk has created this PR to upgrade @beeman/repokit from 0.0.0-canary-20250801172233 to 0.0.0.

See this package in npm:
@beeman/repokit

See this project in Snyk:
https://app.snyk.io/org/apichanmittare/project/0c3e0cce-7a92-4f94-90ba-e7eaa0eac00f?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <[email protected]>
* Add .circleci/config.yml

* Create rude-eyes-check.md (#17)

* Create rude-eyes-check.md

Signed-off-by: Dargon789 <[email protected]>

* Update .changeset/rude-eyes-check.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <[email protected]>

---------

Signed-off-by: Dargon789 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update config.yml (#23)

Dargon789/fnm@472a8c5
Dargon789/foundry@fcfa587

Signed-off-by: Dargon789 <[email protected]>

---------

Signed-off-by: Dargon789 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <[email protected]>
* feat: add message to final note to install dependencies with skip install arg

* refactor: remove dummy test

* refactor: create helper to fetch package.json path from target dir

* feat: added changeset

* feat: pr build and test

* fix: pnpm version

* ci: scaffold publish

* ci: temp run on pr

* chore: update action version

* feat: publish

* docs: update the README to show different package managers and include @latest tag

* feat: rename template name based on package.json name property

* docs: update maintainers

* ci: remove old ci workflow

* refactor: update framework descriptions

* chore: add more examples to csd.sh

* chore: enable gill-next-tailwind-basic and gill-next-tailwind-counter templates

* refactor: clean up init script version check

* feat: add bun support

* refactor: clean up init script utils

* Version Packages (solana-foundation#158)



* fix: remove 'concurrency' parameter from build-step-decider

* fix: move publish-canary-releases script to .github/workflows

* Version Packages (solana-foundation#163)



* fix: add build step to publish-packages workflow

* Version Packages (solana-foundation#165)



* chore: enable e2e-test for gill-next-tailwind-basic and gill-next-tailwind-counter

* fix: add build step before publish-packages in canary workflow

* chore: enable template-react-vite-tailwind-{basic,counter} template

* Version Packages (solana-foundation#169)



* fix: gracefully handle git commits with no configured name and email

* chore: add Dockerfile for running ephemeral dev containers

* docs: add bun command to readme (solana-foundation#176)

Thanks!

* fix: update picocolors import to resolve SyntaxError in ESM module

* refactor: don't show the start script if instructions are provided

* feat: add Solana Mobile templates

* chore: add changeset

* Version Packages (solana-foundation#173)



* fix: tip alert in README (solana-foundation#182)

* chore: apply automated updates

* chore: don't run e2e tests when Markdown files are changed

* feat: add update notifier and skip version check option

* chore: rename github org solana-developers -> solana-foundation

* Version Packages (solana-foundation#186)



* chore: remove autofix github workflow script (solana-foundation#188)

* chore: remove autofix github workflow script

* fix: tip alert in README

* fix: tip alert in README

* feat: dynamic template lists by fetching them from registry url (solana-foundation#111)

* Version Packages (solana-foundation#190)



* feat: add list-template-ids option

* chore: use list-template-ids to dynamically populate template list

* chore: run e2e test nightly and with dispatch

* chore: update dependencies

* chore: add eslint-plugin-sort and eslint-plugin-prettier

* chore: add lefthook to automate linting/formatting

* fix: file/folder renaming and content replacement in init script (solana-foundation#196)

* fix: fully support file/folder renaming and content replacement in init script

* chore: remove extra underscrore

* fix: logging and avoid inline if-statements

* Revert "fix: file/folder renaming and content replacement in init script (solana-foundation#196)" (solana-foundation#203)

This reverts commit 096f365.

* chore: publish PRs to pkg.pr.new (solana-foundation#204)

* feat: add --minimal flag to that selects 'gill-next-tailwind-minimal'

* fix: update solana docs url

* Version Packages (solana-foundation#206)



* fix(test): error handling in search-and-replace test

Description
-----------
The "should handle errors gracefully" test was intentionally
triggering errors to verify error handling, but `console.error`
was not mocked to suppress output, causing noisy `stderr` logs
during test despite all tests passing.

Testing the introduced fix
--------------------------
```
npm run test
```
All tests will now pass cleanly without `stderr` error output.

* refactor: remove repokit dependency and replace with local utilities

* fix: update imports and Zod types for compatibility

* Version Packages

* fix: run ci script as part of e2e test

* test: skip community in regular tests

* skip again test workflow on PR since we tested it now skips community

* feat: make Kit Framework templates the default

* fix: remove buggy deduplication in init-script-rename

* chore: remove test templates job (solana-foundation#221)

* fix: apply path rename only to entry name, not full path

* Version Packages

* fix: enable automated npm publish to latest tag

* Version Packages

* feat: show setup progress for anchor templates

Add a dedicated task that runs the `setup` script (if present) with a descriptive message "Running setup (building program, generating client)" to improve UX during anchor template installation.

* Version Packages

* feat: support local template install for testing

* feat: add warning for installing local templates

---------

Co-authored-by: Tobey Codes <[email protected]>
Co-authored-by: Bram Borggreve <[email protected]>
Co-authored-by: nickfrosty <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tobey <[email protected]>
Co-authored-by: hyckomatej <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: 0x7EAB07 <[email protected]>
Co-authored-by: Arjun Porwal <[email protected]>
Co-authored-by: 0xObsidian <[email protected]>
Co-authored-by: guibibeau <[email protected]>
Co-authored-by: Gui Bibeau <[email protected]>
Co-authored-by: Sourav Mishra <[email protected]>
@codesandbox
Copy link

codesandbox bot commented Jan 15, 2026

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @Dargon789, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@snyk-io
Copy link

snyk-io bot commented Jan 15, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gemini-code-assist
Copy link

Summary of Changes

Hello @Dargon789, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a major architectural shift in how create-solana-dapp handles template discovery and project initialization. By externalizing template definitions and introducing a configurable menu system, it provides greater flexibility and easier maintenance. The enhanced initialization process ensures better developer experience with integrated version checks and an optional setup phase. The addition of CircleCI and lefthook further solidifies the project's development infrastructure, promoting consistent code quality and automated testing.

Highlights

  • Template Management Overhaul: The system for managing and selecting templates has been completely refactored. Instead of hardcoded lists, templates are now dynamically fetched from a remote templates.json URL, processed through a flexible menu configuration, and presented to the user. This includes new CLI options like --list-template-ids and --templates-url.
  • Enhanced Init Script Execution: The init script execution process has been significantly improved. It now includes robust version checks for Anchor and Solana, a more intelligent renaming logic that handles project names and template names, and an optional setup script that can be run post-installation for tasks like building programs or generating clients.
  • CI/CD and Git Hooks Integration: Continuous Integration (CI) has been integrated using CircleCI, with a new config.yml file added. Additionally, the project has transitioned from husky to lefthook for managing Git pre-commit and pre-push hooks, streamlining development workflows for linting and formatting.
  • Dependency Updates and Refinements: Key dependencies have been updated, including @clack/prompts to v0.11.0, which makes a previously vendored utility obsolete. The zod library for schema validation has been updated, and various internal utility functions have been refined for better code organization and maintainability.
Ignored Files
  • Ignored by pattern: .github/workflows/** (4)
    • .github/workflows/actions/install-dependencies/action.yml
    • .github/workflows/autofix.yml
    • .github/workflows/e2e-test.yml
    • .github/workflows/publish-pkg-pr-new.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Repository owner deleted a comment from vercel bot Jan 15, 2026
@Dargon789 Dargon789 merged commit 1f06ac0 into solana-foundation-(69b7717) Jan 15, 2026
10 of 13 checks passed
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a major refactoring to dynamically fetch templates, adds CircleCI configuration, migrates from Husky to Lefthook, and updates several dependencies. The changes are extensive and improve the project's architecture. However, I've identified a few critical issues that need to be addressed. The new CircleCI configuration is invalid and will fail. There's also a critical bug in the search-and-replace utility that was noted in the changelog as fixed but is still present in the code. Additionally, there are some medium-severity issues, including an unused dependency, a re-introduced bug in the init script, and duplicate changeset files. Please review the detailed comments for suggestions on how to resolve these issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants