Skip to main content

AEP — Autonomous Engineering Platform

A local-first engineering and DevSecOps control plane: policy-gated task orchestration, a versioned skill registry, real security/dependency/ infrastructure analysis, and cross-project intelligence — with a zero-config embedded PostgreSQL and a packaged web UI.

No PostgreSQL install. No Supabase. No remote database. No Node/npm.

Install

pip install aep-platform

Not yet published to PyPI. The package is built and verified but not uploaded. Until then, install from a clone — identical result: git clone <this-repo-url> aep && cd aep && python -m pip install .

Names differ on purpose: PyPI distribution aep-platform, Python import package aep, CLI command aep. (aep on PyPI is an unrelated project.)

Python 3.10–3.12. Not 3.13 — the embedded-PostgreSQL dependency publishes no 3.13 wheel yet.

Start

aep

Starts everything and prints where to go:

AEP starting...
Local database: READY  (C:\Users\you\AppData\Local\AEP)
Migrations:     READY
AI Provider:    NOT_CONFIGURED
UI:             READY
Runtime:        READY

Open: http://127.0.0.1:53017

Analyze an existing project

aep scan /path/to/project

AEP detects what the repository actually is — from evidence on disk, never from directory names — and runs only the checks that apply:

Detected:
  APPLICATION, PYTHON, TERRAFORM, CI_CD

SECURITY POSTURE
  Secrets       PASS
  SAST          SKIPPED
  Dependencies  PASS
  IaC           FAIL
  Containers    SKIPPED

Statuses are precise and not interchangeable:

Status Meaning
PASS / FAIL applicable, ran, clean / found something
SKIPPED not applicable — no Terraform files, no Chart.yaml, etc.
UNAVAILABLE applicable, but this AEP install can't provide it
BLOCKED applicable, but an external precondition (registry, credentials) prevents it

aep scan is read-only: it never modifies, installs into, commits to, or deploys the target repository. Remediation is a separate, explicit action. Add --json for machine-readable output.

aep security <path> and aep infra <path> give the same read-only analysis filtered to just security or just infrastructure — useful when that's all you want the answer to. Every pre-existing command (security-status, infra-status, tasks, events, …) still works exactly as before; scan/security/infra are additions, not replacements. aep --help shows a short, curated command list; every subcommand's own --help is unchanged.

What it does

  • Secret detection (built in — no external binary required)
  • SAST, dependency/CVE intelligence
  • Infrastructure analysis (Terraform / Kubernetes / Helm, built in)
  • Engineering health, remediation decisions, cross-project intelligence
  • Deny-by-default policy enforcement and a versioned skill registry
  • Durable execution history and evidence in local PostgreSQL + pgvector
  • Packaged web UI, served by AEP itself

Demo

aep demo run
aep demo run --scenario ambiguous

The second one is the interesting one: given an under-specified request ("make the database faster"), AEP refuses and asks for clarification rather than guessing at scope.

Diagnostics

There is no aep doctor. The same information comes from commands that already exist: aep / aep start (prints database, migrations, provider, UI, runtime at startup), aep status, aep progress, aep providers, aep demo readiness, aep --version (or -V).

aep demo readiness and aep demo run work the same whether you installed from a clone or from pip install aep-platform with no source repository present at all - neither needs /src/, /tests/, or a Git checkout at runtime (see BUGFIX.md BUG-0024).

External integrations (all optional)

AI providers, GitHub, cloud (AWS/Azure/GCP/OCI), and Kubernetes are optional and require your own credentials. AEP starts and runs fully without any of them, and reports each honestly as NOT_CONFIGURED, BLOCKED, or UNAVAILABLE rather than pretending.

Current limitations

  • Not yet on PyPI (install from a clone).
  • Python 3.13 unsupported (upstream wheel gap).
  • Container image scanning is BLOCKED — it needs registry access and a vulnerability database that cannot be shipped self-contained.
  • SAST needs the optional extra: pip install "aep-platform[sast]" (semgrep is 45–79MB, deliberately not forced on every install).
  • Install verified on Windows; macOS/Linux wheels exist but are not install-verified.

Documentation

Topic Where
Full README / phase history docs/README-FULL.md
Architecture & threat model ARCHITECTURE.md
Quick start (detailed) docs/QUICKSTART.md
Database & migrations docs/DATABASE.md
Demo walkthrough docs/DEMO.md · docs/DEMO-CARD.md
UI guide docs/UI-GUIDE.md
Known defects & fixes BUGFIX.md

Download files

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

Source Distribution

aep_platform-0.1.1.tar.gz (590.5 kB view details)

Uploaded Source

Built Distribution

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

aep_platform-0.1.1-py3-none-any.whl (511.1 kB view details)

Uploaded Python 3

File details

Details for the file aep_platform-0.1.1.tar.gz.

File metadata

  • Download URL: aep_platform-0.1.1.tar.gz
  • Upload date:
  • Size: 590.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for aep_platform-0.1.1.tar.gz
Algorithm Hash digest
SHA256 eececb22147a66f17be57915635ef3b737289d94579a61f5c65e05699926302a
MD5 c9cc13b0d05cab3385436d824140a0bb
BLAKE2b-256 e61e963b60455de93778149f745ea8870cfe5e0c245ddfd03ae998b8e9533944

See more details on using hashes here.

File details

Details for the file aep_platform-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: aep_platform-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 511.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for aep_platform-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 90185e55a3bf9a7eb920d22d7f9e3adfe6fc2f21f505d6c43611c46acbcfbb19
MD5 55198b49e5a1ccf35a827d771e0e8a76
BLAKE2b-256 c488084f7125405be42860e18d844903db9a95d708ab6b2401023f6aa773eddf

See more details on using hashes here.

Supported by

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