Creating a new project¶
Choose a template variant¶
See Project variants for available project template variants.
Choose a project name¶
Project names must meet GitHub's repository name criteria.
Python project names¶
Python project names must meet the Python package name criteria.
If you choose to publish your project on PyPI, the project name will be
used as the package name (e.g. for pip install).
Tip
If you plan to publish your project on PyPI, ensure:
- You have an active PyPI account
- Your desired package name is available!
Create a GitHub repository¶
Create a repository on GitHub for your new project. Set Repository name to your chosen project name.
Generate new project from template¶
-
In the directory where the new project should be created, run Copier:
copier copy "gh:smkent/copier-project" ./project_nameCopier will prompt for project information. Answer the prompts to configure your project. When complete, Copier will create your new project in
./project_name. -
Change to the new project directory:
cd ./project_name
Initialize the project¶
To complete project initialization, run:
mise run init
This will:
- Create the local git repository
- Install tools, dependencies, and git hooks (same as
mise install) - Create an initial commit with the newly created project contents
-
Add your GitHub repository as the
originremote (whenproject_visibility: public)Note
The
originremote will be set to the repository's HTTP url.To push using
ssh, configure git with ansshURL for your project:git config --local url."git@github.com:".pushInsteadOf https://github.com/git can be configured to push using
sshfor all GitHub projects by changing--localto--global:git config --global url."git@github.com:".pushInsteadOf https://github.com/
Push repository to GitHub¶
Push your new project to your GitHub repository:
git push -u origin main
Your project's contents should now be visible on GitHub!