Skip to main content

Synara reusable CLI tool

Project description

Synara Framework: AI Agent Prompts & Architecture

License: Apache 2.0 Python Version Status

This project defines and implements the Synara Framework, a robust architecture for orchestrating autonomous Multi-Agent systems using a strict Prompt-as-Code philosophy. This framework controls behavior, optimizes context windows, and raises the reliability of AI Agents throughout the software development lifecycle by decoupling agent intelligence from rigid execution logic.


📖 Documentation Hub

The Synara Framework documentation has been divided into modular guides for easier navigation:


🚀 Installation

Synara provides a standalone CLI (synara-ai) that can be installed globally via pipx or brew.

Option 1: Install via pipx (Recommended)

This is the recommended way to install Python CLIs as it creates an isolated environment.

pipx install git+https://github.com/DamianosDev/harness_engineers.git@develop

Option 2: Install via Homebrew

You can install the CLI directly from the source code using the provided Homebrew formula:

brew install ./Formula/synara-ai.rb

⚡ Core Principles

The Synara system operates on four main technical pillars:

  1. Prompt-as-Code: Agent intelligence, behavior, and roles must be defined explicitly in Markdown files with YAML frontmatter (.synara/agents/*.md), completely decoupled from Python execution code.
  2. Context Engineering: Deliver exactly what the agent needs through a Context Pack (intentional context compression), rather than stuffing the entire codebase. This prevents the AI from hallucinating.
  3. No Vibes Allowed: Force the AI to perform structured, step-by-step planning and reasoning before writing any code.
  4. Anti-Slop: Constraint the output format via an Output Contract, automatically rejecting wordy or redundant responses and preventing unrelated logic changes.

📜 Prompt-as-Code Architecture

Synara strictly enforces that all Agent definitions must live in Markdown files, not hardcoded in Python. This guarantees modularity, easy maintenance, and protects the system from architectural regression.

Dynamic Agent Loading

When an agent is requested, the system uses the markdown_loader.py module to dynamically parse the Markdown files located in .synara/agents/*.md.

Each file must contain a YAML Frontmatter block:

---
name: code-reviewer
description: Expert code reviewer specializing in SOLID principles and clean architecture.
model: models/gemini-3.1-pro-high
tools:
  - view_file
  - run_command
---

The content below the frontmatter serves as the Agent's specific System Prompt.

AST Guardrails

To prevent future developers or AI systems from regressing into a hardcoded architecture, the project utilizes strict AST (Abstract Syntax Tree) unit tests (tests/test_architecture_guardrails.py). If any large string constant (prompt) is detected directly inside the Python agent controllers, the CI pipeline will instantly fail.

Project details


Download files

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

Source Distribution

synara_ai-0.1.0.tar.gz (73.1 kB view details)

Uploaded Source

Built Distribution

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

synara_ai-0.1.0-py3-none-any.whl (89.0 kB view details)

Uploaded Python 3

File details

Details for the file synara_ai-0.1.0.tar.gz.

File metadata

  • Download URL: synara_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 73.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for synara_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 02560a4f72dbbf7927251be2051eccddbbdcff559188e805ad520708f4cfdca3
MD5 04c781ee17d587fb72ec5911f8f83638
BLAKE2b-256 d06d36ae85b0a460db8bc27befe2ff04a3adbb59f37ec10c1f5cde3bfd4c7eab

See more details on using hashes here.

File details

Details for the file synara_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: synara_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 89.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for synara_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59310a67f15670d573b75286ae0b5ce8be0e71170c6516ee487d48c64047108d
MD5 0a79d85c99219486d4a8cd6b4228290f
BLAKE2b-256 278d55b221964503376d9cb5dab01441aa5989ccb5847899d59e8cd226e623dd

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 Pingdom Monitoring Sentry Error logging StatusPage Status page