Skip to main content

🚀 Nushyax

Nushyax is a framework-agnostic developer CLI that lets you run common project commands using short, memorable aliases — without caring which framework, tool, or stack you’re using.

Think of it as a universal command layer on top of Django, Flask, Next.js, Docker, Node, and more.


✨ Why Nushyax?

Every framework has its own long, repetitive commands:

python manage.py runserver
flask run --debug
npm run dev
docker-compose up -d

With Nushyax, you run everything through a single, explicit interface:

nushyax exec s
nushyax exec d
nushyax exec b

Same aliases. Same muscle memory. Any framework.


🧠 How it works (high level)

  1. Auto-detects your project framework
  2. Loads framework-specific defaults
  3. Merges them with your global + local config
  4. Resolves aliases → real commands
  5. Executes them via nushyax exec

All of this happens automatically.


📦 Supported frameworks (auto-detected)

Framework Detection signal
Django manage.py
Flask Flask(__name__), .flaskenv, deps
Next.js next.config.*, next dependency
Node.js package.json
Docker docker-compose.yml

More frameworks (FastAPI, Rails, Spring) are planned.


⚡ Installation

pip install nushyax

Make sure your virtual environment is activated.


🚀 Quick start

1️⃣ Initialize configuration

nushyax init

This creates a .nushyax.yaml file with smart defaults for your detected framework.


2️⃣ Run commands using aliases

All project commands are executed explicitly via exec:

nushyax exec s   # start server
nushyax exec d   # dev / debug mode
nushyax exec b   # build

This keeps execution clear, predictable, and unambiguous.


🧾 Example .nushyax.yaml

framework: django

aliases:
  s: run
  mm: makemigrations
  m: migrate

commands:
  run:
    desc: Start development server
    exec: python manage.py runserver

You are free to rename, override, or add commands.


🌍 Configuration layers (important)

Nushyax merges configuration from three levels:

  1. Framework defaults (built-in)
  2. Global user config
    ~/.nushyax/config.yaml
    
  3. Project config
    .nushyax.yaml
    

Priority:

project > global > defaults

🧩 Commands

nushyax init

Generate a project config file.

nushyax init
nushyax init --force

nushyax list

List all available commands and aliases for the current project.

nushyax list

nushyax describe <alias>

Show what an alias resolves to.

nushyax describe s

nushyax exec <alias>

Execute a resolved command.

nushyax exec s
nushyax exec s --dry-run

All project commands are executed through exec by design.


🔍 Framework detection philosophy

Nushyax uses robust detection, not rigid rules.

Instead of relying on one fixed file, it looks for:

  • Strong signals (e.g. manage.py, Flask(__name__))
  • Dependency hints
  • Environment clues

This makes Nushyax work in real-world projects, not just ideal ones.


🔐 Safety & clarity

  • Commands are explicitly executed via exec
  • No hidden or implicit execution
  • --dry-run lets you preview commands before running

🧱 Project structure

nushyax/
├── cli.py          # Typer CLI entry
├── detector.py     # Framework detection
├── templates.py    # Default templates
├── config.py       # Config loading & merging
├── dispatcher.py   # Alias resolution
├── runner.py       # Command execution

🛣 Roadmap

  • FastAPI support
  • Multi-framework monorepo support
  • nushyax doctor (diagnostics)
  • Plugin system
  • Shell autocompletion

🤝 Contributing

Contributions are welcome.

Ideas:

  • Add new framework detectors
  • Improve robustness
  • Write docs & examples

📄 License

MIT License


💡 Philosophy

One brain. One muscle memory. Any framework.

Nushyax exists to reduce context switching, not replace frameworks.

Release files for nushyax 0.1.0

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

Source distribution (sdist)

Source distribution for nushyax 0.1.0
File Size Uploaded
nushyax-0.1.0.tar.gz 9.1 kB Details

Built distribution (wheel)

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

Total release size: 17.5 kB

Release files / nushyax-0.1.0.tar.gz

Download URL nushyax-0.1.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e8bfc7f43e156f3cf7a56b29d7a85252e7e19706dbc6b1edfccf1faf921a7482
BLAKE2b-256 checksum
How to use checksums
ef2ae967771edab0aa74fba331e829fd383dea5c4e148748fc5088612b7234c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / nushyax-0.1.0-py3-none-any.whl

Download URL nushyax-0.1.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
100546dcb8580989f5930ce8712cbaa64fe63566e55425b99166fd50dd6190ee
BLAKE2b-256 checksum
How to use checksums
12cd423be9ca26d693982af5597a64fdfce187cd4cc43d7217d3c6261d57efc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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