Kira's CLI to setup new projects
Project description
Kira Setup Bot
CLI utility to automate routine work with new projects.
Part of the @kira bots family.
kira-setup does not create a repository. It configures an existing GitLab
project so new repositories start with the same engineering standards.
Features
- Configures GitLab project defaults for a stricter merge flow
- Requires passing pipelines before merge
- Requires all discussions to be resolved before merge
- Sets fast-forward only merge strategy
- Configures merge request approval rules
- Protects the
masterbranch and release tags matchingv* - Enforces push rules for branch names and commit messages
- Prevents secret pushes and enables member checks
- Creates a standard label set for triage and workflow
- Configures container registry cleanup policy
Installation
Requirements:
- Python 3.11+
- An existing GitLab project
- A GitLab access token with permission to manage project settings
pip install kira-setup
Quick Start
Run the CLI against an existing project:
kira-setup group-or-user/project-name --token YOUR_ACCESS_TOKEN
For self-hosted GitLab:
kira-setup group-or-user/project-name \
--token YOUR_ACCESS_TOKEN \
--domain gitlab.example.com
To skip specific setup steps, repeat --skip with the stable step name:
kira-setup group-or-user/project-name \
--token YOUR_ACCESS_TOKEN \
--skip labels \
--skip protect-tags
Available --skip values:
starconfigurepush-rulesapproval-ruleslabelsprotect-branchesprotect-tagscleanup-policy
Why Use It
We use this CLI to make repository setup repeatable across projects.
Instead of applying the same GitLab rules manually every time, kira-setup
brings a new repository to the expected baseline in a single command.
Related Projects
kira: the full bots familykira-stale: stale issue and pull request automationkira-release: automated semantic releases
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kira_setup-0.2.0.tar.gz.
File metadata
- Download URL: kira_setup-0.2.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3427177103afdaab4a194348f76f2126cccb1d87fd72e7f235d26f2694da08d
|
|
| MD5 |
e534800c5ce0d53afa282cc7dc49330f
|
|
| BLAKE2b-256 |
bfbee2f4a43939bf2553269cf11ed27e5d55fcc1ba727710bc16aca235f580ed
|
Provenance
The following attestation bundles were made for kira_setup-0.2.0.tar.gz:
Publisher:
publish.yml on wemake-services/kira-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kira_setup-0.2.0.tar.gz -
Subject digest:
d3427177103afdaab4a194348f76f2126cccb1d87fd72e7f235d26f2694da08d - Sigstore transparency entry: 1840077222
- Sigstore integration time:
-
Permalink:
wemake-services/kira-setup@ed7c70edf9f7c02c93d6b3ebc812bcb479ca13d8 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/wemake-services
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed7c70edf9f7c02c93d6b3ebc812bcb479ca13d8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file kira_setup-0.2.0-py3-none-any.whl.
File metadata
- Download URL: kira_setup-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45445b36989b6a9d27397e10822a0ba1be1280d2a6c41badba1f039c9c5d9da9
|
|
| MD5 |
d8e3d548561db7fd2aecb5abb726946d
|
|
| BLAKE2b-256 |
338d574abc0b97474e8314d7fa35be4497f35c347f82567fea28bcd15bb9f09e
|
Provenance
The following attestation bundles were made for kira_setup-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on wemake-services/kira-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kira_setup-0.2.0-py3-none-any.whl -
Subject digest:
45445b36989b6a9d27397e10822a0ba1be1280d2a6c41badba1f039c9c5d9da9 - Sigstore transparency entry: 1840077480
- Sigstore integration time:
-
Permalink:
wemake-services/kira-setup@ed7c70edf9f7c02c93d6b3ebc812bcb479ca13d8 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/wemake-services
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed7c70edf9f7c02c93d6b3ebc812bcb479ca13d8 -
Trigger Event:
release
-
Statement type: