Metadata-Version: 2.4
Name: djinn-ui
Version: 0.1.3
Summary: A shadcn-style component installer for Django.
Author-email: Joseph John <josephjbassey@gmail.com>
License: MIT License
        
        Copyright (c) 2026 SoJab Team
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/josephjbassey/djinn
Project-URL: Repository, https://github.com/josephjbassey/djinn
Project-URL: Bug Tracker, https://github.com/josephjbassey/djinn/issues
Keywords: django,shadcn,components,cli,frontend
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.4.1
Requires-Dist: tabulate>=0.10.0
Requires-Dist: requests>=2.33.0
Requires-Dist: importlib-resources; python_version < "3.9"
Requires-Dist: tailwind-merge>=2.0.0
Requires-Dist: mcp>=1.0.0
Dynamic: license-file

# Djinn UI

**Djinn is a shadcn-style component system for Django.**

It lets developers visually build, install, and own UI components directly inside their Django projects using a simple CLI.

---

## ✨ Philosophy

Djinn is NOT a UI framework.

Djinn is a **source-code delivery system**.

Once a component is installed, it belongs to your project — fully editable, fully owned.

---

## ⚡ Features

* CLI-based component installation (`init`, `add`, `list`, `view`, `docs`)
* Registry-driven architecture with custom namespace routing (e.g. `@internal/`)
* Model Context Protocol (MCP) Server for AI Assistant integrations (Claude Code, Cursor)
* Copy-paste ownership model (like shadcn/ui)
* Django-native templates with `{% cn %}` tailwind-merge utility tag
* TailwindCSS-based styling with dynamic CSS variables
* Alpine.js / HTMX support
* Versioned components with a diff/update system

---

## 📦 Installation (CLI)

```bash
pip install djinn-ui
```

---

## 🚀 Quick Start

Initialize Djinn in your Django project:

```bash
python -m djinn init
```

Add a component from the default registry:

```bash
python -m djinn add button
```

Add a component from a custom namespace (configured in `djinn.json`):

```bash
python -m djinn add @internal/dashboard-card
```

Other useful commands:

* `python -m djinn view card`: Preview a component's source code before installing.
* `python -m djinn docs button`: Open the documentation for a component in your browser.
* `python -m djinn info`: Display your current project configuration and registries.
* `python -m djinn mcp`: Start the Model Context Protocol (MCP) server to allow AI assistants (like Cursor and Claude Code) to install components for you automatically.

---

## 🧩 Example Component Usage

```django
{% load djinn_tags %}
<div class="{% cn 'base-classes' dynamic_class %}">
  {% include "components/button.html" %}
</div>
```

---

## 📁 Registry System

Djinn components are stored in a remote registry:

* Each component is versioned
* Includes templates, logic, and metadata
* CLI fetches and installs directly into your project

---

## 🏗 Architecture

```
Registry → CLI → Django Project
```

No runtime dependency.
No locked library.
You own the code.

---

## 🔮 Roadmap

* Visual Component Builder (Djinn Canvas)
* AI component generator
* Component marketplace
* Figma import
* Team registries

---

## 🤝 Contribution

We welcome contributions to:

* Registry components
* CLI improvements
* Documentation
