Skip to main content

Naissance

A more dramatic Git Repository Genesis Utility.

Naissance creates both local and remote repositories in one shot. No context switching between terminal and browser — just run one command and your repo is alive.

Philosophy

Naissance is meant to get out of the way. The goal is always to minimize friction between "I want a repo" and "the repo exists." No prompts, no decisions at runtime, no context switching. You type one command, naissance handles the rest, and you're already writing code. Every design choice should serve this principle.


Installation

# Clone and install
git clone https://github.com/DODO-unique/Naissance.git
cd Naissance
pip install .

Requirements

Note: gh is a crucial dependency — naissance uses it to create remote repositories. Without it, the tool cannot function. If gh is not installed, naissance will detect this at startup and suggest how to install it:

  ⨯ GitHub CLI (gh) is not installed or not on PATH

Install it from cli.github.com, then run gh auth login to authenticate.


Quick Start

# Create a new repo "horizon" in the current directory
naissance horizon

# That's it. Local + remote, done.

What happens

┼─────────────────────────────────────────────────────────────┼
|       _   __      _
|      / | / /___ _(_)_____________ _____  ________
|     /  |/ / __ `/ / ___/ ___/ __ `/ __ \/ ___/ _ \
|    / /|  / /_/ / (__  |__  ) /_/ / / / / /__/  __/
|   /_/ |_/\__,_/_/____/____/\__,_/_/ /_/\___/\___/
|                                        v2.0.1
|
|            Git Repository Genesis Utility
┼─────────────────────────────────────────────────────────────┼

  Birthing repository...

  ✓ git found
  ✓ gh authenticated
  ✓ Path resolved: C:\Code\horizon
  ✓ Directory created
  ✓ GitHub repository created (private)
  ✓ Git initialized
  ✓ README.md
  ✓ .gitignore
  ✓ Initial commit
  ✓ Pushed to main

  ✨ horizon is alive.

Usage

naissance <repo_name> [--apath] [--name NAME] [--public]
Flag Description
repo_name Name or path of the repo. Resolved relative to CWD. Use . for current directory.
--apath Treat repo_name as an absolute path
--name NAME Override the remote repository name (defaults to directory name)
--public Create the remote repo as public (default: private)
-v, --version Show version

Examples

# Relative path — creates ./horizon
naissance horizon

# Nested path — creates ./projects/horizon
naissance projects/horizon

# Current directory — uses folder name as repo name
naissance .

# Absolute path
naissance "C:\Code\horizon" --apath

# Different remote name than the directory
naissance horizon --name my-cool-project

# Public repo
naissance horizon --public

How It Works

Naissance detects the state of the target directory and adapts:

State What naissance does
Doesn't exist Creates the directory → gh repo create --clone → scaffolds README + .gitignore → commits → pushes
Empty directory git init → scaffolds → gh repo create --source → pushes
Has files, no git git init → scaffolds → stages all → commits → gh repo create --source → pushes
Already git-initialized Checks no remote exists → gh repo create --source → pushes

All decisions (visibility, scaffold files, commit message) are driven by defaults.yml — zero interactive prompts during execution.


Configuration

Edit defaults.yml next to the package to change defaults:

version: "2.0.1"
visibility: "private"          # "private" or "public"
create_readme: true
create_gitignore: true
prompt_description: false
default_branch: "main"
initial_commit_message: "initial commit"

Error Handling

Naissance never leaks raw tracebacks. All errors are caught and displayed cleanly:

  ⨯ git is not installed or not on PATH
  ⨯ GitHub CLI is not authenticated. Run: gh auth login
  ⨯ Remote repository already exists: horizon
  ⨯ Permission denied: C:\Protected\path

License

MIT


See Also

Metadata

Release files for naissance 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for naissance 2.0.1
File Size Uploaded Provenance
naissance-2.0.1.tar.gz 12.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for naissance 2.0.1
File Interpreter ABI Platform
naissance-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.1 kB

Release files / naissance-2.0.1.tar.gz

Download URL naissance-2.0.1.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2a51336ab35e199eb5cf2be7017f4b5df54265963f5d0f9d256cc558168dc609
BLAKE2b-256 checksum
How to use checksums
ddc72f32256671422cbe4a3e3168cd61b9a3dbd4aa5ba182d481c5469756e0bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / naissance-2.0.1-py3-none-any.whl

Download URL naissance-2.0.1-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b511ad2ca4f4aad63702edf3f0687cdcb596da6dafa39024b665c7405f966349
BLAKE2b-256 checksum
How to use checksums
64daf88b1e067e95943ef1e34be089f6e1a5b1b5eb6ddd8f4edf4a3f474a383d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for naissance 2.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page