Casbin-editor is a web-based Casbin model and policy editor. It's based on Next.js + TypeScript.
Use the Casbin-editor to write your Casbin model and policy in your web browser. It provides functionality such as syntax highlighting and code completion, just like an IDE for a programming language.
Try it at either:
- Apache Casbin Editor (official ASF deployment): https://casbin-editor.apache.org/
- Apache Casbin website: https://casbin.apache.org/editor
Casbin-editor is a pure frontend Javascript project. It uses node-casbin to perform policy enforcement. It's notable that node-casbin can be used either in frontend Javascript or Node.js.
This project can be viewed as an example for using node-casbin in the browser.
The public site is not published with GitHub Pages anymore. CI builds the static Next.js output and pushes it to the repository’s asf-site branch; Apache Infrastructure then serves it at https://casbin-editor.apache.org/.
- Workflow: .github/workflows/master.yml (
Build and Deploy) - Triggers: push to
master,workflow_dispatch, and pull requests (PRs only run build; they do not publish) - Build:
yarn installandyarn build(static export to theout/directory) - ASF metadata: root
.asf.yamlis copied toout/.asf.yamlbefore publish so the published tree includes the file Infra expects - Publish: peaceiris/actions-gh-pages with
publish_branch: asf-site,publish_dir: ./out, andforce_orphan: true(each deploy replaces the branch history for a clean site-only tree)
Repository settings for GitHub Pages (if any) are unrelated to this flow; the live editor URL is the ASF domain above.
yarn install
yarn devOpen browser: http://localhost:3000/
yarn build
# Make sure port 3000 is not in use
yarn startOpen browser: http://localhost:3000/
This project supports being built as an Electron app:
yarn install
yarn distIf the packaged app cannot load the local out/ bundle, it falls back to loading https://casbin-editor.apache.org/ in the window.