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.
Getting started
You'll need: Python 3.11+, pipx (sudo apt install pipx on
Debian/Ubuntu), git, a GitHub account, and a Jira account + a project.
-
Install Emkeel — use pipx (one method; see the note below):
pipx install emkeel # already have it? → pipx upgrade emkeel
-
Open your project in your editor — an existing repo, or a new empty folder.
-
Run the guided setup:
emkeel onboardPaste its output to your AI coding agent (VS Code + Claude Code, Cursor, …) and it sets the repo up in your language, handing you the exact links for the steps only you can do (create secrets, turn on branch protection). Or follow the printed steps yourself.
Managing Emkeel
| Action | Command |
|---|---|
| Install | pipx install emkeel |
| Upgrade (already installed) | pipx upgrade emkeel |
| Check version / updates | emkeel version |
| Set up a repo | emkeel onboard (AI-guided) · or emkeel init (manual, below) |
| Remove from a repo | emkeel uninstall (preview; add --yes to apply — keeps emkeel-governance/) |
| Remove the tool | pipx uninstall emkeel |
Use one install method. With pipx,
pipx install emkeeldetects an existing install and tells you topipx upgrade emkeel— so a re-run never makes a mess. Don't mix pipx withpip --user/venv; that creates shadowing, conflicting installs. No pipx available? A venv is idempotent too:python3 -m venv .venv && . .venv/bin/activate && pip install -U emkeel.Updates are safe: your repo's CI pins
emkeel~=0.MINOR.0— it auto-takes patches and minors; a breaking major (e.g.0.2.0) is opt-in (you bump the pin).
Manual setup (no AI)
# existing repo
emkeel init . --github-repo OWNER/REPO --jira-url https://you.atlassian.net --jira-project KEY
# new project
mkdir my-project && cd my-project && git init
emkeel init . --github-repo OWNER/REPO --jira-url https://you.atlassian.net --jira-project KEY
emkeel init is non-clobbering (add --dry-run to preview) and prints the exact links to
finish setup. Full guide: docs/install.md.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file emkeel-0.1.10.tar.gz.
File metadata
- Download URL: emkeel-0.1.10.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1029fec4ed08f76884f954602a22dc0af9cee09e41da4fc6a201d67c9617a360
|
|
| MD5 |
15960d863d0a3b7006545c365a907472
|
|
| BLAKE2b-256 |
8fb5cfa55f778247ace8cd07d455b004158342dee23db32146f1f4abedc1ef02
|
Provenance
The following attestation bundles were made for emkeel-0.1.10.tar.gz:
Publisher:
release.yml on emillionnetworking-ltd-labs/emkeel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
emkeel-0.1.10.tar.gz -
Subject digest:
1029fec4ed08f76884f954602a22dc0af9cee09e41da4fc6a201d67c9617a360 - Sigstore transparency entry: 1751156754
- Sigstore integration time:
-
Permalink:
emillionnetworking-ltd-labs/emkeel@6c2f4b8caebcad7961cc36275a75991984df04f8 -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/emillionnetworking-ltd-labs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6c2f4b8caebcad7961cc36275a75991984df04f8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file emkeel-0.1.10-py3-none-any.whl.
File metadata
- Download URL: emkeel-0.1.10-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac7be04cfb804efe5679f6def71279cbb79e9c264d16cb1ab6c7f03b2a86e58e
|
|
| MD5 |
c557f171f9e0f89020af3608dd849592
|
|
| BLAKE2b-256 |
8d8f452c91c835b804d167e0c70724e78773193bc9ed749acc1a15f2c958ab0f
|
Provenance
The following attestation bundles were made for emkeel-0.1.10-py3-none-any.whl:
Publisher:
release.yml on emillionnetworking-ltd-labs/emkeel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
emkeel-0.1.10-py3-none-any.whl -
Subject digest:
ac7be04cfb804efe5679f6def71279cbb79e9c264d16cb1ab6c7f03b2a86e58e - Sigstore transparency entry: 1751156927
- Sigstore integration time:
-
Permalink:
emillionnetworking-ltd-labs/emkeel@6c2f4b8caebcad7961cc36275a75991984df04f8 -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/emillionnetworking-ltd-labs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6c2f4b8caebcad7961cc36275a75991984df04f8 -
Trigger Event:
release
-
Statement type: