Metadata-Version: 2.4
Name: noxusai
Version: 1.0.0rc1
Summary: Build secure Django backends and modular Frappe business systems.
Project-URL: Documentation, https://github.com/AmrShalaby12/noxus-core/tree/main/docs
Project-URL: Issues, https://github.com/AmrShalaby12/noxus-core/issues
Project-URL: Repository, https://github.com/AmrShalaby12/noxus-core
Author: NOXUS AI
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Keywords: cli,django,erpnext,frappe,saas
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.11
Requires-Dist: click==8.3.3
Requires-Dist: jinja2==3.1.6
Requires-Dist: packaging==26.2
Requires-Dist: platformdirs==4.11.0
Requires-Dist: pydantic==2.12.5
Requires-Dist: pyyaml==6.0.3
Requires-Dist: rich==14.3.4
Requires-Dist: typer==0.27.0
Provides-Extra: dev
Requires-Dist: build==1.4.0; extra == 'dev'
Requires-Dist: django-cors-headers==4.9.0; extra == 'dev'
Requires-Dist: django-filter==25.2; extra == 'dev'
Requires-Dist: django==5.2.16; extra == 'dev'
Requires-Dist: djangorestframework-simplejwt==5.5.1; extra == 'dev'
Requires-Dist: djangorestframework==3.17.1; extra == 'dev'
Requires-Dist: drf-spectacular==0.29.0; extra == 'dev'
Requires-Dist: filetype==1.2.0; extra == 'dev'
Requires-Dist: gunicorn==23.0.0; extra == 'dev'
Requires-Dist: hatchling==1.31.0; extra == 'dev'
Requires-Dist: mypy==1.19.1; extra == 'dev'
Requires-Dist: pillow==12.3.0; extra == 'dev'
Requires-Dist: pip-audit==2.9.0; extra == 'dev'
Requires-Dist: pre-commit==4.5.1; extra == 'dev'
Requires-Dist: psycopg[binary]==3.3.2; extra == 'dev'
Requires-Dist: pyjwt==2.13.0; extra == 'dev'
Requires-Dist: pytest-cov==7.0.0; extra == 'dev'
Requires-Dist: pytest-django==4.12.0; extra == 'dev'
Requires-Dist: pytest-mock==3.15.1; extra == 'dev'
Requires-Dist: pytest==9.0.3; extra == 'dev'
Requires-Dist: python-json-logger==4.0.0; extra == 'dev'
Requires-Dist: ruff==0.15.6; extra == 'dev'
Requires-Dist: twine==6.2.0; extra == 'dev'
Requires-Dist: types-pyyaml==6.0.12.20250915; extra == 'dev'
Description-Content-Type: text/markdown

# NOXUS CORE

NOXUS CORE generates secure standalone Django website backends and assembles modular, self-hosted
Frappe business systems. ERPNext is optional and remains unmodified.

```bash
pip install noxusai
noxusai doctor
noxusai new
```

Install the CLI in a dedicated virtual environment or with `pipx`; do not install it into the same
Python environment as Frappe Bench. Bench 5.31.0 constrains a vulnerable Click 8.2 line, while NOXUS
locks the remediated Click 8.3.3 release. The generated Frappe runtime remains isolated in containers.

The project is currently preparing the `1.0.0rc1` release candidate. No package has been published;
install from a locally built wheel while developing.

## Who it is for

- Developers who need a professional content and contact API for a company website.
- Teams building modular CRM, inventory, projects, support, maintenance, transport, or education
  systems on Frappe.
- Community module authors who need a validated manifest, dependency resolver, permissions,
  workflows, reports, and repeatable Docker environment.

## Architecture

The Python distribution contains the Typer/Rich CLI, strict Pydantic schemas, safe Jinja templates,
NOXUS Frappe app sources, compiled React UI, and checksummed deployment resources. Generated website
projects are independent Django/DRF applications. SaaS projects run one isolated Frappe site and
database per tenant. See [the architecture and threat model](docs/architecture.md).

## Prerequisites

- Python 3.11–3.14 for the CLI; Frappe container images use Python 3.14.
- Git for source development and `--edge` only.
- Docker Engine and Docker Compose for SaaS and Docker website workflows.
- Node.js 24.18.0 for monorepo UI development; normal wheel users receive compiled assets.

Run `noxusai doctor --workflow website` or `noxusai doctor --workflow saas` for real checks.

## Local development

Linux and macOS:

```bash
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
noxusai --version
```

Windows PowerShell:

```powershell
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
noxusai --version
```

Install frontend dependencies with `npm install`. Run `make check test` on Unix or the equivalent
commands from the Makefile in PowerShell.

## Website generator

```bash
noxusai new website \
  --name acme-website \
  --database postgres \
  --auth both \
  --modules company,website,services,portfolio,team,contact,seo,media \
  --docker --yes
```

The generated README contains exact Docker and virtual-environment commands, migrations, seed data,
superuser creation, tests, health endpoints, and OpenAPI URLs.

## SaaS generator

```bash
noxusai new saas \
  --name acme-operations \
  --industry maintenance \
  --modules crm,inventory,maintenance \
  --with-erpnext --docker --yes
```

Stable creation extracts the versioned runtime bundled in the wheel. Development from an external
branch is explicit: `--edge --repository-url <url>`. The Community Deploy experience applies a
blueprint to the current site or produces local Docker/self-hosting instructions; it does not pretend
to provision cloud resources.

## Module development

```bash
noxusai module create repairs
noxusai module validate noxus_repairs
noxusai module list
```

Module manifests are schema-versioned and dependency installation is deterministic. ERPNext features
are adapters over an optional ERPNext installation, never core patches.

## Testing and deployment

- `make check` runs Python and frontend lint/type checks.
- `make test` runs fast Python and frontend tests.
- `make test-integration` runs service-dependent tests.
- `make test-e2e` runs Playwright.
- `make release-check-local` rebuilds the UI and release manifest, then validates every non-container
  release gate.
- `make release-check` additionally runs the destructive disposable container acceptance suites and
  remains mandatory before publication.

Deployment, backup, recovery, security, workflows, permissions, and troubleshooting documentation
lives under `docs/`. CI and release automation create artifacts but public publication remains behind
an explicit protected approval. Maintainers should follow the
[release and PyPI runbook](docs/releasing.md).

## Security, licensing, and contributing

Read [SECURITY.md](SECURITY.md) before reporting vulnerabilities and [CONTRIBUTING.md](CONTRIBUTING.md)
before submitting changes. Original NOXUS code and generated templates use GPL-3.0-or-later. Dependency
licenses remain their own; [licensing guidance](docs/licensing.md) is not legal advice.

The immediate roadmap is tracked with evidence in [PLANS.md](PLANS.md) and changes in
[CHANGELOG.md](CHANGELOG.md).
