Skip to main content

FTAI CLI tool for linting, formatting, and converting .ftai files.

Project description

📜 FTAI — Foundational Traceable AI Interface

License: Apache 2.0 CI


FTAI is a hybrid format for human–AI collaboration, designed to improve on JSON, Markdown, and YAML for AI-native workflows with a structured, minimal, human-readable protocol.

Built for serious AI developers, researchers, and agent architects — but accessible enough for new builders learning to speak to machines.


🚀 Why FTAI?

  • Readable by humans. Parseable by models.
  • Deterministic: Always yields the same structure across systems.
  • Traceable: Embeds rationale, constraints, and memory scopes directly.
  • Composable: Bridges cleanly into JSON, YAML, text embeddings, or pipelines.
  • Minimal: No noisy punctuation, no nested spaghetti.
  • Multimodal: Native support for image references and vision-capable models.

FTAI is Markdown for agents. JSON for intelligence. YAML for reasoning.


🖼️ Multimodal Support

FTAI natively handles image references for vision-capable AI models:

@image
  src: ./screenshot.png
  alt: Application dashboard
  context: User is asking about the error shown in the top-right

@task
  analyze the image and identify the error message
@end

Images can be:

  • Local file paths
  • Base64 encoded inline
  • URLs (when online processing is available)

This makes FTAI ideal for workflows involving screenshots, documents, diagrams, and visual context.


📦 Install

From PyPI (Recommended)

pip install ftai-py

From Source

git clone https://github.com/FolkTechAI/ftai-spec.git
cd ftai-spec
pip install -e .

⚡ Quick Start

# Lint an FTAI file
ftai lint myfile.ftai

# Lint with strict mode
ftai lint myfile.ftai --strict

# Lint with lenient mode (unknown tags as warnings)
ftai lint myfile.ftai --lenient

# Convert JSON to FTAI
ftai convert data.json > output.ftai

# Check version
ftai --version

🛠 What's Inside

File/Directory Purpose
src/ftai_linter/ Python package with CLI and linter
grammar/ftai.ebnf Formal syntax definition (EBNF)
grammar/FTAI_grammar_syntax_v1.6.md Human-readable grammar spec
parsers/swift/ Swift parser implementation
tests/vectors/pass/ Valid FTAI examples
tests/vectors/fail/ Invalid FTAI examples (for testing)
tools/json_to_ftai.py JSON → FTAI converter
spec/example/ Real-world FTAI examples

📝 Basic Syntax

@ftai v2.0 lang:en

@document
  title: "My First FTAI Document"
  author: "Your Name"
  created: 2026-01-09

@section Introduction
  This is a simple FTAI document demonstrating the format.

@task priority:high
  description: Review the quarterly report
  due: 2026-01-15
@end

@note
  Remember to check the appendix for supporting data.

Core Tags

Tag Purpose
@ftai Document header (required)
@document Document metadata (required)
@section Content section
@task Actionable task (requires @end)
@note Informational note
@warning Important warning
@config Configuration block (requires @end)
@memory Memory/context block (requires @end)
@image Image reference (multimodal)
@table Tabular data

🤝 Contributing

We welcome thoughtful contributors! All Pull Requests require signing our Contributor License Agreement (CLA) first.

Local Development

git clone https://github.com/FolkTechAI/ftai-spec.git
cd ftai-spec
pip install -e .
pip install pytest

# Run tests
pytest tests/ -v

# Test the CLI
ftai lint tests/vectors/pass/pass_minimal.ftai

🛡 License & Governance

FTAI is stewarded with transparent, reviewable releases — designed for long-term stability, not churn.


🌱 Built in the Open

FTAI is designed for the future of machine interaction: clear enough for a person, structured enough for a model, powerful enough for autonomous systems.

Built openly by FolkTech AI with contributions from the community.


© 2025-2026 FolkTech AI — Format maintained by Michael Folk and contributors.

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

ftai-1.0.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

ftai-1.0.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file ftai-1.0.0.tar.gz.

File metadata

  • Download URL: ftai-1.0.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ftai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 aecf32ef3b40be3bcc5f3f42825e5c86dcc489b8b05abdade4704d144b0fff7b
MD5 6f9c2a75aba857eecfdedb3bf465c833
BLAKE2b-256 e27964a89ee2d4c96f2b2e73ae4260614edceaa8aad8d35c6844c824765c63f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ftai-1.0.0.tar.gz:

Publisher: publish.yml on FolkTechAI/ftai-spec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ftai-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ftai-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ftai-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1bd6f4a75363935e534e77ca74cc88c63a276d5135ce3b3b0aade3abac042271
MD5 789af8c783481b6265e5e60ccba3a2d0
BLAKE2b-256 0e74e66c8011fd94b64b7550d2c8bf0fa73198409a9ded1e7f2b8307bae49521

See more details on using hashes here.

Provenance

The following attestation bundles were made for ftai-1.0.0-py3-none-any.whl:

Publisher: publish.yml on FolkTechAI/ftai-spec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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