Skip to content

📌 Tracking: Rolling out v2 and automated updates to other repositories I work on #1966

Closed
@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Update (April 2025): This work has mostly completed. See #2145 for tracking of making automated updates fully inferable: i.e. not needing a create-typescript-app.config.js config file. milestone/8 Transition Mode Automation tracks issues in that area.


Now that create-typescript-app@v2 is stable (#1831 -> #1955) and adhering to the long-term vision of using Bingo (#1181), I'd like to roll out the v2 to other repositories I'm a maintainer on.

But there's a catch: I'd like this rollout to include getting each repository auto-updating to the latest version of the template. #1965 tracks adding a Block to enable them to do that. 🤖

Automatic refers to whether the repositories are able to fully infer their current options without a create-typescript-app.config.js. Running the following command should be enough to initialize most repositories:

npx create-typescript-app --add-cta-transitions
Repos with refinements that aren't yet inferable can use an explicit config file
// create-typescript-app.config.js
// 👋 Hi! This is an optional config file for create-typescript-app (CTA).
// Repos created with CTA or its underlying framework Bingo don't use one by default.
// A CTA config file allows automatic updates to the repo that preserve customizations.
// For more information, see Bingo's docs:
//   https://www.create.bingo/execution#transition-mode
// Eventually these values should be inferable, making this config file unnecessary:
//   https://github.com/JoshuaKGoldberg/bingo/issues/128
import { createConfig } from "create-typescript-app";

export default createConfig({
  refinements: {
    // ...
  },
});
pnpm add create-typescript-app -D;
npx create-typescript-app

Status key:

  • ✅: Done
  • 👀: In Review
  • ⏳: In Progress
  • 🛠️: Blocked on CTA/Bingo issue
  • ⚪️: To do
  • 🛑: Blocked on external issue
Status Issue PR Automatic
all-contributors-auto-action#898 all-contributors-auto-action#900 🛠️
all-contributors-for-repository#771 all-contributors-for-repository#772
all-contributors-inferred#81 all-contributors-inferred#82 🛠️
all-properties-lazy#26 all-properties-lazy#27
are-docs-informative#683 are-docs-informative#686 🛠️
cached-factory#20 cached-factory#22 🛠️
co-author-to-username#414 co-author-to-username#415
console-table-without-index#332 console-table-without-index#334 🛠️
cspell-populate-words#24 cspell-populate-words#25 🛠️
debug-for-file#64 debug-for-file#69 🛠️
description-to-co-authors#197 description-to-co-authors#201 🛠️
emoji-platform-data#600 emoji-platform-data#607 🛠️
eslint-fix-utils#75 eslint-fix-utils#79 🛠️
eslint-plugin-erasable-syntax-only#46 eslint-plugin-erasable-syntax-only#51 🛠️
formatly#74 formatly#81 🛠️
get-github-auth-token#374 get-github-auth-token#375 🛠️
github-default-labels#26 github-default-labels#27 🛠️
github-sponsors-to-markdown#729 github-sponsors-to-markdown#749 🛠️
github-username-to-emails#563 github-username-to-emails#565 🛠️
import-local-or-npx#25 import-local-or-npx#26
JoshuaKGoldberg#402 JoshuaKGoldberg#406 🛠️
new-github-repository#12 🛠️
notion-rich-text-to-markdown#373 notion-rich-text-to-markdown#389
npm-username-to-packages#298 npm-username-to-packages#299 🛠️
object-strings-deep#17
octokit-from-auth#18 octokit-from-auth#19
package-json-validator#172 package-json-validator#178 🛠️
populate-all-contributors-for-repository#14 populate-all-contributors-for-repository#15 🛠️
prettier-plugin-curly#629 prettier-plugin-curly#630 🛠️
prune-github-notifications#200 prune-github-notifications#201 🛠️
refined-saved-replies#1048 refined-saved-replies#1051 🛠️
release-it-action#477 release-it-action#479 🛠️
remove-dependencies#52 remove-dependencies#59 🛠️
set-github-repository-labels#15 set-github-repository-labels#16 🛠️
should-semantic-release#546 should-semantic-release#547 🛠️
text-table-fast#349 text-table-fast#362 🛠️
tidelift-me-up#664 tidelift-me-up#684 🛠️
ts-function-inliner#205 tidelift-me-up#206 🛠️
without-undefined-properties#12 without-undefined-properties#13 🛠️
zod-tsconfig#17 zod-tsconfig#19 🛠️
eslint-plugin-package-json#969 eslint-plugin-package-json#993 🛠️
🛑 console-fail-test#1041 console-fail-test#1046 ⚪️
🛑 emojipedia#44 emojipedia#45 ⚪️
🛑 eslint-plugin-expect-type#821 eslint-plugin-expect-type#825 🛠️
🛑 github-username-to-emails-site#763 ⚪️
🛑 mock-react-redux#72 ⚪️
🛑 sentences-per-line#779 ⚪️
🛑 sinon-timers-repeatable#871 sinon-timers-repeatable#894
🛑 stoptalking#657 ⚪️
🛑 tidelift-me-up-site#845 ⚪️
🛑 ts-api-utils#727 ⚪️

Metadata

Metadata

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions