Skip to main content

Adopt-and-thin SDLC governance framework

Project description

Emkeel

Adopt-and-thin SDLC governance for AI-assisted teams. Emkeel turns a repo into a governed project: every change flows ticket → branch → PR → deterministic CI gates → human-approved merge → the ticket closes itself. "done" is a computed fact, never a self-attested flag — enforcement lives server-side (CI + branch protection), out of the agent's reach.

Install (quick reference)

Emkeel is a zero-dependency Python CLI (needs Python 3.11+). New to the command line? Jump to the step-by-step guide below.

Platform Install
Windows py -m pip install --user pipxpy -m pipx ensurepathpipx install emkeel
macOS brew install pipxpipx install emkeel
Linux (with admin/sudo) sudo apt install pipxpipx install emkeel
Linux/server without sudo pip install --user --break-system-packages emkeel (safe — zero deps)

Upgrade: pipx upgrade emkeel · Check version: emkeel version (Switching from pip to pipx? Run pip uninstall emkeel first to avoid two copies.)

Getting started — step by step (Linux)

Two ways to set up: AI-assisted (recommended) or manual. Both start by installing Emkeel once.

First: install Emkeel (one time)

  1. Open a terminal — press Ctrl + Alt + T (or search "Terminal" in your apps).
  2. Check Python: type python3 --version. You need 3.11+.
  3. Install (copy-paste the whole line):
    sudo apt install -y pipx && pipx ensurepath && pipx install emkeel
    
    sudo asks for your login password (the one you use to sign in). Nothing shows on screen while you type it — that's normal. Then close the terminal and open a new one.

    No sudo / "not in the sudoers file"? You're not an admin. Use this (no admin, safe — Emkeel has no dependencies): pip install --user --break-system-packages emkeel

  4. Confirm: type emkeel version → should say emkeel 0.1.x.

⭐ Option A — AI-assisted (recommended)

  1. Open your project in your AI editor. Open VS Code (or Cursor) and open your project folder (File → Open Folder). New project? Make an empty folder and open that.

  2. Open the AI chat panel — in VS Code with Claude Code, click the Claude icon in the sidebar. (Cursor: open the chat with Ctrl/Cmd+L.)

  3. Type this in the chat:

    Set up Emkeel in this repo: run emkeel onboard and follow it.

    The assistant explains each step in plain language as it goes, and asks whether this is a trial (it cleans everything up afterwards) or a real adoption.

  4. It will also ask you three things — answer with your details:

    • your GitHub repo — like acme/web
    • your Jira address — like https://acme.atlassian.net
    • your Jira project key — like SCRUM
  5. The assistant scaffolds everything (on a branch + PR) and gives you a few links to finish. 🔒 Security — important: create your Jira token and paste it into GitHub's secret page (the link the assistant gives you) or into a local .env file — NEVER paste a token or password into the chat. The assistant never needs to see your secrets.

  6. Merge the small PR the assistant opens. Done — your repo is governed by Emkeel.

Option B — Manual (no AI)

Prefer to do it yourself? On a new branch, run (with your details):

git checkout -b chore/SCRUM-1-adopt-emkeel
emkeel init . --github-repo OWNER/REPO --jira-url https://you.atlassian.net --jira-project KEY

It creates the files and prints the same connect links — follow them. Same rule: secrets go in GitHub's secret page or .env, never shared in plain text.

Managing Emkeel

There are three separate things, so "remove" means different things — pick the one you want:

You want to… Command What it touches
Upgrade the tool pipx upgrade emkeel the emkeel program on your machine
Check the version emkeel version (also flags a newer one on PyPI)
Un-govern a repo (remove Emkeel's files) emkeel eject (alias: emkeel uninstall) the repo's wiring: workflows, emkeel.toml, .env.example, AGENTS.md, CLAUDE.md. Keeps emkeel-governance/ (your history) — add --purge to delete that too.
Re-govern a repo (undo an eject) emkeel init (or emkeel onboard) re-creates the wiring; your emkeel-governance/ history is kept (unless you had used --purge)
Uninstall the tool pipx uninstall emkeel removes the emkeel program from your machine

emkeel eject does NOT remove the tool — it reverses emkeel init inside one repo. It's a safe dry-run by default; add --yes to apply. It never strips lines you already had in .gitignore/.gitattributes. (And emkeel onboard installs nothing — it only prints the guide.)

To remove Emkeel completely:

emkeel eject --purge --yes   # in the repo: wiring + governance folder
pipx uninstall emkeel        # the tool, from your machine

Use one install method — don't mix pipx with pip --user/venv (that creates conflicting copies). Updates are safe: your repo's CI pins emkeel~=0.MINOR.0, so it auto-takes patches and minors; a breaking major (e.g. 0.2.0) is opt-in (you bump the pin).

What you get

  • Deterministic CI gates (server-side, can't be skipped): every change links a ticket; features carry a spec with acceptance criteria; the full test suite runs on every PR.
  • AI review-assist — a per-criterion verdict against the spec before you merge.
  • Auto-close — merging transitions the linked Jira ticket to Done.
  • Clean separation — governance artifacts live in one emkeel-governance/ folder, never shipped.

See docs/lifecycle.md for the model.


Licensed under Apache-2.0 — © 2026 EMillion Networking LTD (see LICENSE / NOTICE).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emkeel-0.1.16.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emkeel-0.1.16-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file emkeel-0.1.16.tar.gz.

File metadata

  • Download URL: emkeel-0.1.16.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for emkeel-0.1.16.tar.gz
Algorithm Hash digest
SHA256 4e38ad2230ea93cde6511c506bc7ef56846ca4678b91573f4973c98618af232b
MD5 6bd70ffd80d6aae893041b3cc52db0cb
BLAKE2b-256 ee54f2f9b3d2fc381f12d3ddfd4e725a75d6d91ad9724dbb9bbe2bfdca09e411

See more details on using hashes here.

Provenance

The following attestation bundles were made for emkeel-0.1.16.tar.gz:

Publisher: release.yml on emillionnetworking-ltd-labs/emkeel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emkeel-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: emkeel-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for emkeel-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 1418a6ff45a9347f7762bf184c1590e4d60d17f13a6188a725ef20cbd4bf44e8
MD5 03d149286fa3477903cac315c8cb62e0
BLAKE2b-256 73b43b7df80a31f04e1883613e0e0e7125b8104bfa00740e016bdcdb830d054b

See more details on using hashes here.

Provenance

The following attestation bundles were made for emkeel-0.1.16-py3-none-any.whl:

Publisher: release.yml on emillionnetworking-ltd-labs/emkeel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page