Metadata-Version: 2.4
Name: django-camomilla-cms
Version: 6.5.0
Summary: Django powered cms
Author-email: Lotrèk <dimmitutto@lotrek.it>
License: MIT
Project-URL: Homepage, https://github.com/camomillacms/camomilla-core
Keywords: cms,django,api cms
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Wagtail
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Django>=4.2
Requires-Dist: django-modeltranslation<0.20.0,>=0.19.17
Requires-Dist: djsuperadmin<1.0.0,>=0.11
Requires-Dist: djangorestframework<3.17,>=3.10
Requires-Dist: django-structured-json-field>=1.5.1
Requires-Dist: django-structured-metaobjects>=1.0.0
Requires-Dist: pydantic>=2.10.3
Requires-Dist: pydantic-core>=2.27.0
Requires-Dist: Pillow<12.0.0,>=9.1.0
Requires-Dist: django-admin-interface<1.0.0,>=0.30.1
Requires-Dist: django-ckeditor<7.0.0,>=6.7
Requires-Dist: django-tinymce<5.0.0,>=4.1.0
Requires-Dist: python-magic<0.5,>=0.4
Requires-Dist: django_jsonform>=2.23
Requires-Dist: inflection>=0.5.1
Requires-Dist: uritemplate>=4.2.0
Requires-Dist: django-reversion>=5.0.0
Provides-Extra: avif
Requires-Dist: pillow-avif-plugin>=1.4; extra == "avif"
Dynamic: license-file

[![PyPI](https://img.shields.io/pypi/v/django-camomilla-cms?style=flat-square)](https://pypi.org/project/django-camomilla-cms)
[![Django Versions](https://img.shields.io/badge/django-4.2%20%7C%205.2-blue?style=flat-square)](https://www.djangoproject.com/)
[![Build](https://img.shields.io/github/actions/workflow/status/camomillacms/camomilla-core/ci.yml?branch=master&style=flat-square)](https://github.com/camomillacms/camomilla-core/actions)
[![Last Commit](https://img.shields.io/github/last-commit/camomillacms/camomilla-core?style=flat-square)](https://github.com/camomillacms/camomilla-core/commits/master)
[![Contributors](https://img.shields.io/github/contributors/camomillacms/camomilla-core?style=flat-square)](https://github.com/camomillacms/camomilla-core/graphs/contributors)
[![Open Issues](https://img.shields.io/github/issues/camomillacms/camomilla-core?style=flat-square)](https://github.com/camomillacms/camomilla-core/issues)
[![Codecov](https://img.shields.io/codecov/c/github/camomillacms/camomilla-core?style=flat-square)](https://app.codecov.io/gh/camomillacms/camomilla-core/tree/master/camomilla)
[![License](https://img.shields.io/github/license/camomillacms/camomilla-core?style=flat-square)](./LICENSE)


<br>
<br>
<br>
<br>
<div align="center">
    <picture>
        <source media="(prefers-color-scheme: dark)" srcset="https://camomillacms.github.io/camomilla-core/images/camomilla-logo-dark.svg?v=1">
        <source media="(prefers-color-scheme: light)" srcset="https://camomillacms.github.io/camomilla-core/images/camomilla-logo-light.svg?v=1">
        <img alt="Fallback image description" src="https://camomillacms.github.io/camomilla-core/images/camomilla-logo-light.svg?v=1" style="width: 250px; height: auto;">
    </picture>
</div>
<h3 align="center"">Our beloved Django CMS</h3>
<br>

## ⭐️ Features

<!-- Highlight some of the features your module provide here -->

- 🧘‍♀️ &nbsp;Built on top of the django framework
- 🥨 &nbsp;Beaked page abstract model to let you manage everything you need as a page.
- 🏞️ &nbsp;Optimized media management with autoresize
- 👯 &nbsp;Enable relations inside django JSONFields
- ⚡️ &nbsp;AutoCreate api endpoints from models
- 🚧 &nbsp;Enable JsonSchema directly in models endpoints

Camomilla is a Django CMS that allows you to create and manage your website's content with ease. It provides a simple and intuitive interface for managing pages, media, and other content types. Camomilla is built on top of the Django framework, which means it inherits all the features and benefits of Django framework.
We try to continuously improve Camomilla by adding new features and fixing bugs. You can check the [CHANGELOG](./CHANGELOG.md) to see what has been added in the latest releases.

## 📦 Quick Start

Here you can find some quick setup instructions to get started with Camomilla. For more detailed information, please refer to the [documentation](https://camomillacms.github.io/camomilla-core/).

> [!TIP]
>
> #### Env Virtualization 👾
>
> Use a virtualenv to isolate your project's dependencies from the system's python installation before starting. Check out [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/) for more information.

Install django-camomilla-cms and django from pip

```bash
$ pip install django
$ pip install django-camomilla-cms>=6.0.0
```

Create a new django project

```bash
$ django-admin startproject <project_name>
$ cd <project_name>
```

Create a dedicated folder for camomilla migrations

```bash
$ mkdir -p camomilla_migrations
$ touch camomilla_migrations.__init__.py
```

Create migrations and prepare the database

```bash
$ python manage.py makemigrations camomilla
$ python manage.py migrate
```

Add camomilla and camomilla dependencies to your project's INSTALLED_APPS

```python
# <project_name>/settings.py

INSTALLED_APPS = [
    ...
    'camomilla', # always needed
    'camomilla.theme', # needed to customize admin interface
    'djsuperadmin', # needed if you whant to use djsuperadmin for contents
    'modeltranslation', # needed if your website is multilanguage (can be added later)
    'rest_framework',  # always needed
    'rest_framework.authtoken',  # always needed
    ...
]
```

Run the server

```bash
$ python manage.py runserver
```

## 🤖 AI-readable docs (llms.txt / MCP)

The documentation site is built with [VitePress](https://vitepress.dev/) and ships machine-readable bundles for AI tools, generated automatically on every docs build:

- **`llms.txt`** — a curated index of the docs ([camomillacms.github.io/camomilla-core/llms.txt](https://camomillacms.github.io/camomilla-core/llms.txt))
- **`llms-full.txt`** — the entire documentation concatenated into one file ([…/llms-full.txt](https://camomillacms.github.io/camomilla-core/llms-full.txt))

Point any `llms.txt`-aware tool (Claude Code, Cursor, Windsurf, …) at those URLs. To expose the docs to an MCP client, run the community [`mcpdoc`](https://github.com/langchain-ai/mcpdoc) server against the hosted `llms.txt` — no extra hosting required:

```bash
uvx --from mcpdoc mcpdoc --urls "Camomilla:https://camomillacms.github.io/camomilla-core/llms.txt" --transport stdio
```

> Working **on** camomilla with Claude Code? The repo also ships two skills under `.claude/skills/` — `camomilla-usage` (building on top of camomilla) and `camomilla-internal-architecture` (editing camomilla's source). They load automatically; no MCP needed.

## 🧑‍💻 How to Contribute

We welcome contributions to Camomilla! If you want to contribute, please read our [contributing guide](./CONTRIBUTING.md) for more information on how to get started.

### 🚀 Local Development (uv)

We use [uv](https://github.com/astral-sh/uv) for fast dependency management and isolated environments.

1. Install uv (one time):
    macOS / Linux:
    ```bash
    curl -LsSf https://astral.sh/uv/install.sh | sh
    ```
    Homebrew:
    ```bash
    brew install uv
    ```
2. Create a new venv inside the project (one time):
    ```bash
    uv venv
    source .venv/bin/activate
    ```
2. Sync dependencies (runtime + dev):
    ```bash
    make install
    ```
3. Run tests:
    ```bash
    make test
    ```
4. Format & lint:
    ```bash
    make format lint
    ```

### 🤖 AI-assisted contributing (bring your own agent)

Camomilla ships a **tool-agnostic agent setup** so you can contribute with whatever AI coding assistant you prefer. The single source of truth is [`AGENTS.md`](./AGENTS.md) at the repo root — the cross-editor standard that Cursor, OpenAI Codex, Aider, Gemini CLI, GitHub Copilot, Zed and others read automatically. It carries the dev commands, conventions, repository map, a "gotchas" section, and pointers to the deep references.

Per-tool entry points are **thin adapters that defer to `AGENTS.md`** (no duplicated, drift-prone instructions):

| Tool | Reads | Notes |
|---|---|---|
| Most agents (Cursor, Codex, Aider, Gemini CLI, Zed, …) | `AGENTS.md` | Auto-detected; nothing to configure. |
| Claude Code | `CLAUDE.md` → imports `AGENTS.md` | Also auto-loads two skills under `.claude/skills/` (`camomilla-usage`, `camomilla-internal-architecture`). |
| GitHub Copilot | `.github/copilot-instructions.md` → points to `AGENTS.md` | Recent Copilot reads `AGENTS.md` natively too. |

The two **deep references** under `.claude/skills/` are plain Markdown — open them with any agent or editor, not just Claude: `camomilla-usage/SKILL.md` (building on top of camomilla) and `camomilla-internal-architecture/SKILL.md` (editing camomilla's source). The published docs also expose an [`llms.txt`](https://camomillacms.github.io/camomilla-core/llms.txt) for AI ingestion.

Using a tool that needs an explicit instructions path? Point it at `AGENTS.md`.

