FTAI CLI tool for linting, formatting, and converting .ftai files.
Project description
📜 FTAI — Foundational Traceable AI Interface
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
- License: Apache 2.0
- Governance: GOVERNANCE.md
- Security Disclosure: SECURITY.md
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aecf32ef3b40be3bcc5f3f42825e5c86dcc489b8b05abdade4704d144b0fff7b
|
|
| MD5 |
6f9c2a75aba857eecfdedb3bf465c833
|
|
| BLAKE2b-256 |
e27964a89ee2d4c96f2b2e73ae4260614edceaa8aad8d35c6844c824765c63f6
|
Provenance
The following attestation bundles were made for ftai-1.0.0.tar.gz:
Publisher:
publish.yml on FolkTechAI/ftai-spec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ftai-1.0.0.tar.gz -
Subject digest:
aecf32ef3b40be3bcc5f3f42825e5c86dcc489b8b05abdade4704d144b0fff7b - Sigstore transparency entry: 812362087
- Sigstore integration time:
-
Permalink:
FolkTechAI/ftai-spec@d1944096bf22fb28f00859f327662323c1305849 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/FolkTechAI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1944096bf22fb28f00859f327662323c1305849 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bd6f4a75363935e534e77ca74cc88c63a276d5135ce3b3b0aade3abac042271
|
|
| MD5 |
789af8c783481b6265e5e60ccba3a2d0
|
|
| BLAKE2b-256 |
0e74e66c8011fd94b64b7550d2c8bf0fa73198409a9ded1e7f2b8307bae49521
|
Provenance
The following attestation bundles were made for ftai-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on FolkTechAI/ftai-spec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ftai-1.0.0-py3-none-any.whl -
Subject digest:
1bd6f4a75363935e534e77ca74cc88c63a276d5135ce3b3b0aade3abac042271 - Sigstore transparency entry: 812362100
- Sigstore integration time:
-
Permalink:
FolkTechAI/ftai-spec@d1944096bf22fb28f00859f327662323c1305849 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/FolkTechAI
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1944096bf22fb28f00859f327662323c1305849 -
Trigger Event:
release
-
Statement type: