Conversation
- Add copier.yml configuration with project questions - Template package.json with conditional dependencies (husky, lint-staged) - Template tsconfig.json with strict mode conditional - Template README.md with dynamic package manager and conditional sections - Add .copier-answers.yml.jinja for tracking template versions - Move all project files to template/ subdirectory - Add jinja2 extension support and skip_if_exists rules - Configure template suffix as .jinja Template supports: - Custom project name, description, author - Optional devcontainer setup - Optional Husky git hooks - Configurable TypeScript strict mode - Package manager selection (bun/npm/yarn/pnpm) - Git initialization toggle
- Remove env validation (env.ts) and Zod dependency - Remove graceful shutdown (graceful-shutdown.ts) - Simplify src/index.ts to simple Hello World - Remove .env.example file - Update Makefile tests to remove checks for removed files - Update README to remove references to removed features - Update copier.yaml to remove .env from skip_if_exists
- Combine test-thorough, test-minimal, test-full, and test-app-runs into single 'test' command - Remove redundant configuration testing (template is now simpler with fewer options) - Single comprehensive test that validates generation, build, and runtime - Update README to reflect simplified testing approach - Reduces from ~150 lines to ~50 lines in Makefile
- Remove references to removed features (Vitest, env validation, multiple licenses) - Update features list to match current template (Husky/secretlint always enabled, MIT only) - Simplify template questions list (removed license and testing options) - Update structure to show actual files (removed __tests__, .env.example) - Clarify this is a minimal starter, not production-ready framework - Remove outdated information about coverage thresholds and package manager options
- Add Copier badge and generation instructions at top (showcases template usage) - Remove excessive deployment platform guides (Fly.io, Railway, Render, DigitalOcean) - Remove monorepo conversion guide (too advanced for minimal starter) - Remove production checklist (not relevant for Hello World example) - Simplify Quick Start section (remove Prerequisites heading, combine into one section) - Keep essential sections: Features, Quick Start, Dev Tools, Git Hooks, Structure, Config, Contributing, License - README now serves as both template showcase AND useful project documentation
- Replace apt-get Python installation with astral-sh/setup-uv@v4 action - Use uvx to run Copier (no venv needed) - Removes ~10-15 seconds from CI pipeline - Cleaner, more modern approach - Remove manual PATH management
- Remove leftover lines from previous Python venv approach - Keep only single 'make build' command
- Rename dependabot.yml -> dependabot.yaml - Rename docker-compose.yml -> docker-compose.yaml (both template and workspace) - Rename .copier-answers.yml.jinja -> .copier-answers.yaml.jinja - Update all references in devcontainer.json files - Update references in README.md, .gitignore, and deploy.yaml - Consistent .yaml extension throughout the project
- Rename devcontainer.json -> devcontainer.json.jinja
- Ensures {{ project_name }} variable is processed by Copier
- Fixes template artifact check in make test
- @types/node: 20.5.1 -> 24.9.1 - @typescript-eslint/eslint-plugin: 6.21.0 -> 8.46.2 - @typescript-eslint/parser: 6.21.0 -> 8.46.2 - eslint: 8.50.0 -> 9.38.0 - eslint-config-prettier: 9.0.0 -> 10.1.8 - husky: 8.0.3 -> 9.1.7 - lint-staged: 15.2.10 -> 16.2.6 - @secretlint/secretlint-rule-preset-recommend: 8.0.0 -> 11.2.5 - secretlint: 8.0.0 -> 11.2.5 All tests passing with updated dependencies.
- Replace .eslintrc.json with eslint.config.js (flat config) - Add 'type': 'module' to package.json for ES modules - Add @eslint/js and typescript-eslint packages - Fix import order in eslint.config.js - All tests passing with ESLint 9.38.0
- Copier generates .copier-answers.yml (not .yaml) - Update deploy workflow to remove both .yml and .yaml variants - Prevents copier metadata from appearing in PRs to main
- Changed rules from object to array format - Simplified to just use preset-recommend without custom allows - Fixes 'secretlintrc should have required rules property' error - Compatible with secretlint 11.2.5
- Remove deprecated husky.sh sourcing (deprecated in v9, will fail in v10) - Use 'bun run secretlint' instead of 'bunx secretlint' to use local packages - Use 'bun run lint-staged' instead of 'bunx' for consistency - Add secretlint script to package.json - Fixes 'Failed to load rule module' error in git hooks
- Update prepare script from 'husky install' to 'husky' (v9 standard) - Update copier task from 'bunx husky install' to 'bunx husky' - Add git hook validation to make test - Tests now verify pre-commit hooks actually run - Eliminates 'DEPRECATED' warnings from Husky v9 - All tests passing with hooks validated
- Separate 'test' target: validates with git hooks (like Python template) - Separate 'build' target: no git init for CI/CD pipeline use - Add 'clean' target to remove build_output - Use --no-cache for bun install to avoid timeout issues - Remove verbose test output, focus on hook validation - Cleaner, more maintainable structure
- Remove 'bun run prepare' as it's already called by 'bun install' - Add debug output to see actual hook failures - Hooks are already installed by copier task and reinstalled by bun install - Fixes 'Hooks failed' error in make test
- Set git user.email and user.name before commit - Fixes 'empty ident name not allowed' error in CI - Allows git commit to succeed in environments without global config
- Format markdown template files (CHANGELOG, CONTRIBUTING, README) - Format .secretlintrc.json.jinja - Add formatting step to build process - Pre-formatted templates reduce post-generation formatting needs - All checks passing
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.
No description provided.