Skip to main content

Interactive CLI tool for building .gitignore files

Project description

gno

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.0.tar.gz (14.2 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.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gno-0.1.0.tar.gz
  • Upload date:
  • Size: 14.2 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.0.tar.gz
Algorithm Hash digest
SHA256 b32cc17318d2d0adefda441ae240c32d9d17c2e2568251ada19cc125954e0f56
MD5 93fa8719c161a8502c3f1a00a6011a6c
BLAKE2b-256 8a01ff1d16f227bbb333ea79497e8ed497627f4ea005b42e7cebd36e6d9f2e73

See more details on using hashes here.

Provenance

The following attestation bundles were made for gno-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: gno-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d9ea70359c1b2dd1c54c66fdfae76c991dd73955383abb0b2bf17e24d35db67
MD5 3e879d5eed0c8cf1748eabe015c977c5
BLAKE2b-256 8c5314014cebac9487c852fc2a59ee36d10a439c57bb4e0052260223c20b7362

See more details on using hashes here.

Provenance

The following attestation bundles were made for gno-0.1.0-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