@digitalafarin/cms-cli
v0.4.2
Published
Installer/wiring CLI for DigitalAfarin CMS in Django + Next.js projects
Downloads
938
Maintainers
Readme
@digitalafarin/cms-cli
Installer/wiring CLI for adding DigitalAfarin CMS to existing Django + Next.js projects.
Basic usage
npx @digitalafarin/cms-cli initFor split folders:
npx @digitalafarin/cms-cli init --backend backend --frontend frontendThe CLI:
- installs
digitalafarin-cms[all]through pip; - adds the CMS settings helper to Django;
- mounts
/api/cms/v1/; - runs Django migrations unless
--skip-migrateis used; - installs
@digitalafarin/cms-next; - creates
.env.localdefaults and a Next.js CMS client adapter.
It does not overwrite an existing Next.js route or page renderer.
Add the visual CMS Admin under /cms
To wire the backend/frontend and also scaffold the separate Next.js admin application:
npx @digitalafarin/cms-cli init \
--backend backend \
--frontend frontend \
--with-admin \
--admin-dir cms-admin \
--admin-base-path /cms \
--admin-api-url https://api.example.com/api/cms/v1 \
--admin-port 3001Or scaffold only the admin application:
npx @digitalafarin/cms-cli admin \
--admin-dir cms-admin \
--admin-base-path /cms \
--admin-api-url https://api.example.com/api/cms/v1 \
--admin-port 3001The generated admin app is a standalone Next.js application. It can be reverse-proxied from the main website domain so editorial users visit https://example.com/cms/ without a separate CMS subdomain.
The generated cms-admin/deploy/nginx.cms.conf contains the Nginx location block.
Doctor
npx @digitalafarin/cms-cli doctordoctor reports detected Django and Next.js application directories without modifying the project.
Useful flags
--backend DIR
--frontend DIR
--python CMD
--skip-install
--skip-migrate
--django-package SPEC
--next-package SPEC
--with-admin
--admin-package SPEC
--admin-dir DIR
--admin-base-path /cms
--admin-api-url URL
--admin-port 3001
--force-adminPackage override flags are useful when testing local release artifacts.
Local archives
npx ./digitalafarin-cms-cli-0.4.0.tgz init \
--django-package ../digitalafarin_cms-0.4.0-py3-none-any.whl \
--next-package ../digitalafarin-cms-next-0.4.0.tgz \
--with-admin \
--admin-package ../digitalafarin-cms-admin-0.4.0.tgzThe release CI installs packed SDK, CLI and Admin packages into a clean temporary consumer, executes the installed binaries and verifies that /cms scaffolding is complete.
