Skip to main content

Interactive CLI tool for building .gitignore files

Project description

gno

Ruff PyPI - Version PyPI - Downloads

Interactive CLI tool for building .gitignore files

gno (pronounced "noh") helps you create .gitignore files interactively with a beautiful split-pane TUI interface. It fetches templates from GitHub's official gitignore repository and caches them locally for fast access.

Features

  • Interactive TUI - Split-pane interface with live preview
  • 230+ Templates - All templates from GitHub's gitignore repository
  • Smart Search - Filter templates by name or description
  • Smart Merging - Append to existing files without duplicates
  • Offline Support - Templates cached locally after first fetch
  • Multiple Output Modes - Interactive, generate, preview

Installation

# Using uv (recommended)
uv tool install gno

# Or run directly without installing
uvx gno

# Using pipx
pipx install gno

# Using pip
pip install gno

Usage

Interactive Mode

Launch the TUI by running gno without arguments:

gno

Controls:

  • Up/Down or j/k - Navigate templates
  • Space - Toggle selection
  • / - Search templates
  • s - Save and exit
  • ? - Show help
  • q - Quit

Command Line

# Generate .gitignore from templates
gno generate python node

# Preview without saving
gno generate python --preview

# Save to custom path
gno generate rust -o backend/.gitignore

# Append to existing file (smart merge)
gno generate go --append

# List all templates
gno list

# Search templates
gno list python

# Show template content
gno show python

# Update template cache
gno update

Examples

Create a Python project .gitignore

gno generate python

Create a full-stack project .gitignore

gno generate python node

Add templates to existing .gitignore

gno generate terraform --append

Template Sources

Templates are fetched from:

Cache

Templates are cached in ~/.gno/templates.json for offline access and faster startup. Run gno update to refresh the cache.

Development

# Clone the repository
git clone https://github.com/OseSem/gno
cd gno

# Install dependencies
uv sync

# Run the CLI
uv run gno

# Run tests
uv run pytest

# Run linting
uv run ruff check .
uv run black --check .

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gno-0.1.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gno-0.1.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file gno-0.1.1.tar.gz.

File metadata

  • Download URL: gno-0.1.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gno-0.1.1.tar.gz
Algorithm Hash digest
SHA256 08fc03eeb071e0f8ab037878695ebcfb7d7bbad1227ac1d675792dc00b24f8e8
MD5 d2f2c52ade19b4feda57388cd2d735a7
BLAKE2b-256 902743f457c5ef720e832455071ec8f50d034f94986cfe9fcd103fc55104c038

See more details on using hashes here.

Provenance

The following attestation bundles were made for gno-0.1.1.tar.gz:

Publisher: release.yml on OseSem/gno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gno-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gno-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gno-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d58bd7c95f48cf5a2450feca4eaf9f9a8fa620362dcefa9a885004732d24f6f8
MD5 da2cf351f13f6a5677c22325eef30ea8
BLAKE2b-256 3909b5e5d4b1a6b63fc5f97bb78a8ac2009b9e5f2f5dcb8074281f4c150733ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for gno-0.1.1-py3-none-any.whl:

Publisher: release.yml on OseSem/gno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page