Skip to main content

Lime AI — An agentic markdown runner.

Project description

Margarita logo

Lime

A code agent with programmable markdown files

Lime wants you have fun programming Agents/LLMs and bring back more control into your hands.

Features

  • Get all the benefits of margarita files now with agentic capabilities.
  • Bring your favourite coding agent (Copilot for now) (roadmap for Claude code, codex and more soon)
  • React like composability through includes [[ my-component is_admin=true ]]
  • Store variables in state, and have the LLMs update/fetch state as needed.
  • Don't waste tokens on having LLMs run functions. Run it locally and then pass the results to the LLM.
  • Forget context explosion issues. Surgically control what context is sent to the LLM.
  • Add only the tools you need for a query. Nuke them, then add others and repeat. This keeps context size small and relevant.

Example

// file:example.mgx
---
description: Add metadata
team: Can put anything in metadata
---

// Import python functions for use with @effect func
from math import add, subtract, multiply, load_files

// Supports all markdown. Places this into the agent's context.
<<
You are an expert mathematician.
Your task is to solve addition problems accurately and efficiently.

When given a problem, you should:
1. Read the problem carefully.
2. Identify the two numbers to be added.
3. Calculate the sum of the two numbers.
4. Provide the final answer clearly.
>>

// Include other margarita files into the context
[[ create-a-react-component.mg ]]

// Execute a loop 
for i in items:
    // run Python functions and store results in state.
    @effect func add(12, test.data) => result

// The agent can access/ set state variables too!
<<
Add 12 + test.data and store the result in the variable 'result'.
>>

// Add tools, note: AddToolParam extends BaseModel from pydantic
@effect tools add(params: AddToolParams) => int

// Run the agent using tools and the context you built up.
@effect run

// clear the context and tools after running to avoid context explosion in future runs.
@effect context clear
@effect tools clear

// use the state result variables with a new context.
<<
Validate the following:
- The addition tool correctly adds two numbers.
- The subtraction tool correctly subtracts two numbers.
- The multiplication tool correctly multiplies two numbers.
- The load_files function correctly loads and reads files from the specified directory.
>>

// conditonal logic
if result.failed:
    <<
    The test failed. Please review the implementation of the math tools and the
    load_files function for any errors.
    >>
    @effect run
else:
    // We're done!

Hopefully this gives you a taste of the possibilities with Lime!

Installation

Run the following command for your platform to install Lime:

Linux:

curl -fsSL https://raw.githubusercontent.com/Banyango/lime/main/install-linux.sh | bash -s -- --option

MacOS:

curl -fsSL https://raw.githubusercontent.com/Banyango/lime/main/install-macos.sh | bash -s -- --option

Windows (PowerShell):

iwr -useb https://raw.githubusercontent.com/Banyango/lime/main/install-windows.ps1 | iex

Logo Designed by Freepik

Class documentation standard

See the project class documentation standard for required docstring sections and concrete examples (data class, service class, abstract/base class): docs/class-documentation.md

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

lime_ai-0.1.4.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

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

lime_ai-0.1.4-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

Details for the file lime_ai-0.1.4.tar.gz.

File metadata

  • Download URL: lime_ai-0.1.4.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lime_ai-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8f65f3af7c316748ed21639c789adf839df87f11d01320f8ebd46b753fd6c4aa
MD5 90670292d54007f99e9b5e7ecc8892bc
BLAKE2b-256 60f10119fdbc8294dcf94c57ce5dab76fa23fb66e918e8cddbdb5038f9817764

See more details on using hashes here.

File details

Details for the file lime_ai-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: lime_ai-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 52.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lime_ai-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7f8b4ace76e5462eeb325a909947bd54c15fa334d378d7699799a4e03fc3123b
MD5 4fb137c5bdc4b02dbc97072c291c0a87
BLAKE2b-256 7786a022da133a961d0f8f0c2bf0bd0922d216d2fec4c01a38fca8d0ac3e444e

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