Git-backed skills, tools & context for AI agents
# Add to your Claude Code skills
git clone https://github.com/Bevel-Software/HexisHexis is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Bevel-Software. Git-backed skills, tools & context for AI agents. It has 50 GitHub stars.
Hexis's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Bevel-Software/Hexis" and add it to your Claude Code skills directory (see the Installation section above).
Hexis is primarily written in TypeScript. It is open-source under Bevel-Software on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Hexis against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
One place where your company's AI skills, tools and knowledge live: centrally managed, reviewed and access-controlled, and usable from any AI agent. The open-source core of the Bevel platform.
Under the hood, everything lives in a git repository you own, on any git
host: skills (SKILL.md folders), tool manuals (UTCP) with an encrypted
secrets vault, and knowledge. You get branches, change requests with owner
approval, role-based access, and a built-in remote MCP server (OAuth 2.1)
that agents connect to.
Watch the full walkthrough: connect an agent, use company context, review proposed changes, and manage team access.
Anyone can propose a new skill or improve an existing one. On protected branches, owners review the exact change and approve it before it becomes available to the team's agents.

Connect Claude to Hexis over MCP, then ask normally. Claude can discover and load the approved skill instructions and company context your role can access, without copying prompts between tools.

Cline can connect directly to Hexis as a remote Streamable HTTP MCP server. Install the public demo connection from the Cline CLI:
cline mcp install hexis --transport http https://demo.bevel.software/api/mcp --yes
Complete the OAuth sign-in in your browser when prompted. Cline then discovers
the skills, tools and context your Hexis role can access. For your own Hexis
deployment, replace demo.bevel.software with your deployment's host.
Add teammates to roles or grant access directly when needed. Everyone connects to the same workspace, while each person and their agent only sees what they are allowed to read.

demo.bevel.software is a public instance you can sign into with your Google account, populated with a fictional company's knowledge, skills and tools. The Start here page walks you through the whole loop: connect your own agent over MCP, have it build a sales deck from a skill, watch its proposed improvement arrive as a change request. The demo is shared and read-mostly (visitors propose, owners approve); everything below gets you the same thing with none of the limits.
We run it for you (hosting, upgrades, backups, SSO) and your team just signs in. Write to ali.raza@bevel.software.
You need: Docker with Compose on a server (or your laptop; one line below differs), and an empty git repository on any host (GitHub, GitLab, Bitbucket, Azure DevOps, self-hosted) to hold your knowledge base. The app seeds it with a starter template on first run.
git clone https://github.com/Bevel-Software/Hexis.git
cd Hexis
cp .env.example .env
Open .env and fill in the four required values (everything else can wait):
ADMIN_EMAIL=you@example.com # the deployment owner, always an admin
ADMIN_PASSWORD=pick-something # sign-in password; only with password login (SSO-only deployments drop it, see below)
JWT_SECRET=… # generate with the command below
SECRETS_ENC_KEY=… # generate with the command below
Generate the two secrets (run twice, paste one result into each):
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
# no Node installed? docker run --rm node:22-slim node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
For a public deployment, also set the origin values:
PUBLIC_BACKEND_URL=https://bevel.your-domain.com # public origin; OAuth redirects are built from it
PUBLIC_FRONTEND_URL=https://bevel.your-domain.com # same origin: the backend serves the SPA
Then start everything (Postgres + the app). Behind a reverse proxy (Coolify, Traefik, nginx; recommended):
docker compose -f docker-compose.yml up -d
Also set TRUST_PROXY to your proxy hop count (1 for a single proxy), so
rate limits see real client IPs instead of the proxy's.
The explicit -f skips docker-compose.override.yml, so the app publishes
no host port: your proxy reaches it on port 3001 over the compose
network. This is deliberate: a fixed published port makes every redeploy fail
with port is already allocated, because the replacement container starts
while the outgoing one still holds it.
Directly exposed (no proxy): plain docker compose up -d publishes
:3001; use APP_PORT=8080 docker compose up -d for a different host port.
Leave TRUST_PROXY unset here. With no proxy in front, trusting forwarded
headers would let clients spoof their own address.
Open your domain and sign in with ADMIN_EMAIL / ADMIN_PASSWORD.
Just trying it on your laptop? Same steps, minus the origin values: plain
docker compose up -d, then open http://localhost:3001.
The app asks for the things it could not guess, and tests them against the real host before saving:
main) is fine.Since the repo is empty, the app initialises it from the bundled template and
writes a roles.yaml whose first Admin is you. That's it: you're in the
workspace. Head to Skills & Tools to make your first group and skill, and to
Connect (in the app menu) to hook up an agent over MCP.
Prefer configuring by environment instead of the setup screen? Every one of
those values has an env var (KB_REPO_URL, GIT_TOKEN, DEFAULT_BRANCH, …);
anything set in the environment wins over the setup screen. See
.env.example.
Worth knowing in production:
pgdata
volume and your knowledge-base git repo; everything else is derivable.GET /api/health. First boot can take a minute or two while it
runs migrations and seeds the knowledge-base repo.OIDC_ISSUER_URL / OIDC_CLIENT_ID /
OIDC_CLIENT_SECRET (any spec-compliant provider) or configure it on the
setup screen, which shows you the redirect URI to register. For SSO-only
deployments set LOGIN_PASSWORD=false and drop ADMIN_PASSWORD. If your
issuer is multi-tenant (Google, Entra common), set
ALLOWED_EMAIL_DOMAINS. SSO auto-provisions accou