AI-Native Python sets you on a paved road of automated guardrails, where each commit is instantly checked for security, quality, and compliance.
It works seamlessly with GitHub Copilot, Cursor, Claude, Windsurf, and other leading AI coding agents to route their output through fully instrumented pipelines of tests, security scans, and release automation.
Make your tools meet every requirement on the first pass, letting you ship faster without loosening safety or standards.
- 🤖 Well-established and tested AI tooling rulesets/instructions
- 🚀 Modern, lightning fast Python development with
uv - 🧪 Automated testing with
pytestwith 100% coverage - 🔍 Code quality checks on every commit with
pre-commit - 🔐 Security scanning with SBOM generation, vulnerability scanning, and license checks
- ⚙️ Never think about upstream vulnerabilities again with automated dependency upgrades
- 📦 Ensure usability across all major platforms with multi-platform Docker builds
- 🔄 Automated versioning and releasing with
python-semantic-release
For more details, see our documentation.
-
Create an empty GitHub repository
-
Ensure you have
brewinstalled -
Generate a project with the same name as the repo you just made:
# Install the prerequisites brew install uv # Initialize your project uvx --with gitpython cookiecutter gh:zenable-io/ai-native-python
Note
Check out our video walkthrough here
Now that you've generated the initial repository you can configure any required repository settings such as rulesets/branch protections. This can be done via Infrastructure as Code (IaC) or manually, but ostensibly by this point your repository is aligned with your organizational practices and you're ready to start adding features.
Tip
Consider a tool like OpenSSF allstar to monitor these settings automatically.
To make a change to the project, just replace the NotImplementedError placeholder and you're all set!
# Enter the project directory
cd $(ls -td * | head -1)
# Checkout a new branch for your initial content
git checkout -b initial-content
# Check for `NotImplementedError`s and address them as a part of adding your business logic
grep -r NotImplementedError *