MCPcopy Index your code
hub / github.com/42futures/firm

github.com/42futures/firm @0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.5.0 ↗ · + Follow
1,063 symbols 3,466 edges 113 files 273 documented · 26% updated 3mo ago0.5.0 · 2026-02-06★ 8214 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Firm: Business-as-code

A text-based work management system for technologists.

Firm CLI demo

Why Firm?

Modern businesses are natively digital, but lack a unified view. Your data is scattered across SaaS tools you don't control, so you piece together answers by jumping between platforms.

Think of your business as a graph: organizations link to people, people link to projects, projects link to tasks, and so on. Firm lets you define these relationships in plain text files.

Version controlled, locally stored and structured as code with the Firm DSL. This structured representation of your work, business-as-code, makes your business accessible to yourself and to the robots that help you run it.

Features

  • Everything in one place: Organizations, contacts, projects, and their relationships.
  • Own your data: Plain text files and tooling that works on your machine.
  • Open data model: Tailor to your business with custom schemas.
  • Automate anything: Search, report, integrate, whatever. It's just code.
  • AI-ready: Bots can easily read, write, and query your business structure.

Quick start

Install Firm

With Homebrew:

brew tap 42futures/firm
brew install firm

Or download from Github releases: https://github.com/42futures/firm/releases

Initialize your workspace

cd my_workspace
firm init

Add an entity

firm add --type organization --id megacorp --field name "Megacorp Ltd."

Query your data

firm list organization
firm query 'from organization | where name contains "Megacorp"'

Read the full documentation to learn more.

Contributing

Contributions are welcome. Please feel free to submit an issue or pull request.

License

Firm is licensed under AGPL-v3. That means you can use and extend Firm freely. If you build commercial extensions or services on top of Firm, those must also be open source under AGPL-v3.

See LICENSE for full details.

Core symbols most depended-on inside this repo

parse_source
called by 88
firm_lang/src/parser/dsl/source.rs
with_field
called by 84
firm_core/src/entity.rs
execute
called by 82
firm_mcp/src/tools/get.rs
with_optional_field
called by 65
firm_core/src/schema/mod.rs
create_entity
called by 55
firm_core/src/graph/query/order.rs
entities
called by 49
firm_lang/src/parser/dsl/parsed_source.rs
error
called by 48
firm_cli/src/ui.rs
parse_query
called by 38
firm_lang/src/parser/query/parser.rs

Shape

Function 820
Method 152
Enum 46
Class 45

Languages

Rust100%

Modules by API surface

firm_core/src/graph/query/order.rs40 symbols
firm_core/src/graph/query/filter/numeric.rs37 symbols
firm_lang/src/generate/from_value.rs36 symbols
firm_core/src/graph/query/filter/string.rs36 symbols
firm_core/src/field.rs35 symbols
firm_lang/tests/parser_entity_tests.rs33 symbols
firm_core/src/graph/query/filter/list.rs31 symbols
firm_core/src/graph/mod.rs31 symbols
firm_core/src/graph/query/types.rs25 symbols
firm_lang/src/parser/query/parser.rs24 symbols
firm_cli/src/ui.rs24 symbols
firm_lang/tests/parser_query_tests.rs23 symbols

For agents

$ claude mcp add firm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page