Skip to main content

CLI, agent, architecture, audit, and SDK toolkit for the ForkTex self-managed software factory

Project description

forktex

PyPI Python License

AI-powered development toolkit: agent, cloud infrastructure, delivery standard enforcement, and architecture discovery in a single forktex command.

Install

One-liner (Linux / macOS):

curl -sSL install.forktex.com/sh | sh

One-liner (Windows, PowerShell 5.1+):

iwr -useb install.forktex.com/ps | iex

The installer detects Python ≥ 3.12, prefers pipx (isolated install), falls back to pip --user, and seeds ~/.forktex/ (POSIX) or %APPDATA%/forktex/ (Windows) automatically. If your system Python is older it prints OS-specific install hints (deadsnakes, brew, winget, dnf).

Manual:

pipx install forktex             # recommended — isolates deps
# or
pip install --user forktex
# Optional: web scraping support (Playwright)
pipx install forktex[web] && playwright install

Requires Python 3.12+. Tested on 3.12, 3.13, 3.14. Covers Ubuntu 24.04 LTS, Fedora 41+, Homebrew Python on macOS, and Windows 3.12+. Debian 12 stable users on system Python need apt install -t bookworm-backports python3.12 or deadsnakes.

Quick Start

# AI agent — interactive chat with tool calling (bare forktex drops you in)
forktex

# AI agent — single-shot question (scriptable)
forktex intelligence ask "What does this project do?"

# AI agent — orchestrated task
forktex intelligence run "Add error handling to src/app.py"

# Cloud — start local stack from forktex.json manifest
forktex cloud up --env local --build

# Cloud — deploy to production
forktex cloud deploy <server-id>

# FSD — check delivery standard compliance
forktex fsd check

# FSD — generate ISO audit evidence
forktex fsd report

Pillars

Pillar What it does Key commands
Intelligence AI agent with tool calling. Reads code, runs commands, applies patches. forktex (chat), forktex intelligence ask/run/scrape
Cloud Deploy and manage infrastructure. Blue-green deploys from forktex.json manifests. forktex cloud up, forktex cloud deploy, forktex cloud server
Network Identity, projects, tasks, worklogs, channels. forktex network connect, forktex network status
FSD ForkTex Standard for Delivery. Verify compliance, generate ISO audit evidence. forktex fsd check, forktex fsd report

The bare forktex menu shows each service in its brand colour with a terminal-native ASCII rendering of its mark — cloud as a full 8-arm radial, intelligence as a head-with-body, network as a diagonal X.

CLI Commands

Three services — cloud, intelligence, network — sit at the same level in the command tree. Each exposes its own operations plus the identical credential pair connect / disconnect. A top-level forktex status aggregates credential state across all three.

forktex                      Bare: menu-driven root loop (auto-upgrades to chat)
forktex status               Aggregate credential state (cloud + intelligence + network)
forktex info                 Project + environment summary

forktex cloud
  connect / disconnect       Authenticate / remove credentials
  init                       Scaffold forktex.json manifest
  up / down                  Start / stop stack
  deploy                     Blue-green deployment
  server | project | vault   Per-resource subgroups
  status / logs / events     Monitoring

forktex intelligence
  connect / disconnect       Authenticate / remove credentials
  status                     API health + whoami
  ask "..."                  Single-shot question
  run "..."                  Orchestrated task
  scrape <url>               Agentic browser scraper
  index-ecosystem            Knowledge ingestion

forktex network
  connect / disconnect       Authenticate / remove credentials
  status                     identity_me round-trip

forktex fsd                  Delivery-standard checks + ISO evidence
forktex arch discover        C4 auto-discovery
forktex overview             Ecosystem overview
forktex git status-all       Multi-repo git operations

Chat REPL

Bare forktex opens the menu; if intelligence is reachable, pressing Enter drops you into the chat REPL (a full-screen prompt_toolkit app).

Slash commands (type / for a live dropdown; Tab accepts):

/help          show this list
/status        aggregate credential state
/connect       <service> [--new]   idempotent login-or-register
/disconnect    <service>           remove saved credentials
/cards         toggle service cards (hidden by default)
/clear         clear visible buffer
/history       show full transcript
/tools         list local tool-server tools
/menu          exit chat back to menu
/quit          exit forktex

Keybindings (quick-casts):

Ctrl+K   toggle service cards                Ctrl+L   clear visible buffer
Ctrl+H   show full transcript                Ctrl+D   exit to menu
Tab      autocomplete slash / service        Enter    submit

Menu keys (pre-chat): c / i / n drill into service help, s status, r refresh probes, h hide cards, q quit, Enter → chat (when intelligence reachable). Typing / opens the same live dropdown as in chat.

Credentials — one verb, three services

forktex status                                              # aggregate table (all 3 services)
forktex cloud connect                                       # email/password + org select (or --api-key ftx-…)
forktex intelligence connect                                # idempotent: login or register, then issue key
forktex intelligence connect --new                          # force register
forktex network connect --endpoint http://localhost:9000 \
                        --email you@example.com
forktex <service> disconnect [--global]                     # remove saved creds

Every service understands the same option set: --endpoint/--url, --email, --password, --api-key, --global, --new. Credentials live at ~/.forktex/{cloud,intelligence,network}.json (global) or <project>/.forktex/… (per-project). See the forktex directory spec.

Ecosystem

forktex-core             Shared PostgreSQL/Redis primitives
forktex-cloud            Cloud platform SDK (httpx client)
forktex-intelligence     Intelligence API SDK (LLM, embeddings, search)
forktex-network          Network platform SDK (identity, projects, channels)
      |        |        |        |
      +--------+--------+--------+
                       |
                  forktex          CLI + agent + FSD (this package)

Each SDK is independently versioned and published to PyPI. forktex re-exports their surfaces under forktex.cloud, forktex.intelligence, and forktex.network as convenience shims.

Configuration

Variable Description Default
FORKTEX_INTELLIGENCE_ENDPOINT Intelligence API endpoint https://intelligence.forktex.com/api
FORKTEX_INTELLIGENCE_API_KEY Intelligence API key (required for AI features)
FORKTEX_DEBUG Enable debug output false

Settings are also read from ~/.forktex/ (global) and .forktex/ (project-level) config files. Run forktex <service> connect to configure each service interactively.

The full on-disk layout — every file under .forktex/ and ~/.forktex/, what writes it, whether it's gitignored — is defined by the forktex directory spec and enforced in code via forktex_cloud.paths.

Development

# Editable install with the dev group (pytest, ruff, pyright, pip-audit, respx)
poetry install --with dev

# Run tests
make test

# Run the full publish gate (format-check + lint + license-check + audit + test + build)
make ci

# Regenerate Makefile from forktex.json
forktex fsd makefile sync

make ci is the single command that gates a publish: it format-checks, lints, verifies dual-license headers across every source file, audits dependencies for known CVEs, runs the test suite, and builds the wheel + sdist with twine check — finishing with a "safe to: make publish-test / make publish" banner. The same chain runs in GitHub Actions on every push and PR across Python 3.12 / 3.13 / 3.14.

License headers

Every source file carries the AGPL-3.0 + Commercial dual-license SPDX header, applied idempotently via:

make license-check    # CI gate — fails if any source file is missing the header
make license-fix      # add or refresh headers across src/, tests/, scripts/
make license-strip    # remove headers (used before license-model changes)

Developing against sibling SDK checkouts

Swap the installed forktex-cloud, forktex-intelligence, and forktex-network with editable installs from ../cloud/sdk-py, ../intelligence/sdk-py, ../network/sdk-py:

make dev-link-sdks              # editable from siblings
export FORKTEX_DEV_SIBLING_SDKS=1   # adds "(dev-linked)" to `forktex --version`
# …iterate on SDK sources — imports pick up changes without a reinstall…
make dev-unlink-sdks            # restore pinned PyPI versions

License

Dual-licensed — AGPL-3.0-or-later for open-source use, commercial for everything else (proprietary products, SaaS without source release, redistribution in closed-source form). See LICENSE and NOTICE for the full terms.

Commercial licensing inquiries: info@forktex.com.

The 1.0.0 release on PyPI remains under MIT; from 1.0.1 onwards the package ships AGPL-3.0+Commercial.

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

forktex-0.2.3.tar.gz (155.8 kB view details)

Uploaded Source

Built Distribution

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

forktex-0.2.3-py3-none-any.whl (276.5 kB view details)

Uploaded Python 3

File details

Details for the file forktex-0.2.3.tar.gz.

File metadata

  • Download URL: forktex-0.2.3.tar.gz
  • Upload date:
  • Size: 155.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for forktex-0.2.3.tar.gz
Algorithm Hash digest
SHA256 79217ddc844465b7a7e1b8030a0329c08b928b706252900c9b1060b4210c2385
MD5 3faa676e41462f262295e8b491484505
BLAKE2b-256 c7331ea4fc2f912caa9f25d17621b3aef8580a8e7afe26afeaabd2f4dbc86e23

See more details on using hashes here.

File details

Details for the file forktex-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: forktex-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 276.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for forktex-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e02c22b530112e9cabfa3bfbdd7070d655eec3b67d793095fc5f2856d7408034
MD5 fef2e25c0f2eaf143c98af11fdd3beed
BLAKE2b-256 16a86c6db178d7337adb26772a1c0257ad1ce11d8231bd3fcc0ce37b30a7db89

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