Metadata-Version: 2.4
Name: ninjacli
Version: 0.1.0
Summary: Add your description here
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=2.15.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: readchar>=4.2.1
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.2.0
Requires-Dist: setuptools>=80.9.0
Requires-Dist: twine>=6.2.0
Requires-Dist: wheel>=0.45.1
Dynamic: license-file
Dynamic: requires-python

ninjacli/
│
├── src/
│ └── ninjacli/
│ ├── **init**.py
│ ├── main.py # CLI entry point
│ │
│ ├── cli/
│ │ ├── commands/ # explain, generate, refactor, chat
│ │ ├── interactive.py # REPL mode
│ │ └── router.py # command dispatcher
│ │
│ ├── ai/
│ │ ├── client.py # AI API abstraction
│ │ ├── prompts.py # system + task prompts
│ │ └── models.py # provider config
│ │
│ ├── config/
│ │ ├── loader.py # load/save config
│ │ └── schema.py # config structure
│ │
│ ├── ui/
│ │ ├── theme.py # colors, styles
│ │ ├── printer.py # success/error/info
│ │ └── logo.py
│ │
│ ├── core/
│ │ ├── context.py # project context
│ │ ├── files.py # file reading
│ │ └── history.py # conversation memory
│ │
│ └── utils/
│ └── validators.py
│
├── pyproject.toml # UV-managed
├── README.md
├── LICENSE
└── .gitignore
