Skip to main content

dfm — Developer Foundation Model

CI License: MIT Platform: macOS on Apple Silicon Python 3.12+

A coding agent that runs entirely on your Mac. DFM edits, builds, tests, repairs and verifies code using on-device models: Apple FM for routing and short text, and a local MLX model for code. Repository knowledge comes from RepoCanon, RepoKG and, optionally, Reflex.

DFM sends no code or prompts to hosted models. Other network access (GitHub, package registries) is off or requires approval, per policy.

Status: early (0.0.1). Commands and configuration may change.

Requirements

  • macOS on Apple Silicon, Python 3.12+, uv, Git.
  • Memory for the local model: the recommended 27B model (4-bit) needs about 18.5 GB at its default context, so 32 GB or more is recommended. dfm setup picks a model that fits.
  • Optional: Apple Intelligence, for Apple FM.

Quick start

git clone https://github.com/NehharShah/dfm && cd dfm
uv sync --extra mlx
uv run dfm doctor                          # check this machine
uv run dfm setup                           # choose a local model
uv run dfm                                 # interactive session in this repository

Or install it as a command: uv tool install dfm-agent (from PyPI).

dfm in a repository starts an interactive session: type what you want done, watch each step run, and /undo the last request if you don't want it. Single commands such as dfm implement "fix the failing test" do one task and exit.

How it works

  • The model proposes one action at a time (read, search, patch, run, test). DFM executes it, reruns the tests after every edit, and reports only what a command verified.
  • Every command is classified and checked against policy, then runs in a per-command macOS sandbox. Destructive, production and mainnet actions require a typed confirmation. DFM does not commit, push or rewrite history.
  • Repository files, issues and CI logs reach the model as untrusted data, with secrets redacted.
  • Memory checks, thermal pacing, reasoning budgets and a persistent prompt cache keep the model usable alongside other apps.

Modes: ask, plan, implement, review, security-review, ci, fix-pr, implement-issue, benchmark. Full list: command reference.

Documentation

Guide · Architecture · Commands · Configuration · Policy · Threat model · Troubleshooting · Design decisions

Contributing and security

See CONTRIBUTING.md and AGENTS.md. Report vulnerabilities privately as described in SECURITY.md. Changes: CHANGELOG.md.

License and notices

DFM is released under the MIT License and is provided "as is", without warranty of any kind. DFM runs commands and changes files on your machine. Its safeguards reduce risk but do not eliminate it. Review its changes before you commit them.

Models are third-party software under their own licenses, and you are responsible for complying with the license of any model you download. RepoCanon, RepoKG and Reflex are separate projects under their own licenses.

Apple, Apple Intelligence, Apple Silicon and macOS are trademarks of Apple Inc. DFM is an independent project and is not affiliated with or endorsed by Apple.

Metadata

Release files for dfm-agent 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dfm-agent 0.0.4
File Size Uploaded Provenance Actions
dfm_agent-0.0.4.tar.gz 284.7 kB With provenance Details for dfm_agent-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dfm-agent 0.0.4
File Interpreter ABI Platform Actions
dfm_agent-0.0.4-py3-none-any.whl Python 3 none any Details for dfm_agent-0.0.4-py3-none-any.whl

Total release size: 645.7 kB

Release files / dfm_agent-0.0.4.tar.gz

Download URL dfm_agent-0.0.4.tar.gz
Size 284.7 kB
Tags Source
SHA-256 checksum
How to use checksums
399398d200868004e2984c13bc9bdcc6895fdeed7bd34e6390adf284325f84e4
BLAKE2b-256 checksum
How to use checksums
692cb767b18b8195896fd398f84af4d9e396003fccfd49926a1f59f6829b8264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / dfm_agent-0.0.4-py3-none-any.whl

Download URL dfm_agent-0.0.4-py3-none-any.whl
Size 360.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
196f0464254c48bc71038bc26f3e4477d0365029db0e81ba8d3c4d2e3673431c
BLAKE2b-256 checksum
How to use checksums
4ff74ce4c0e27138923a0a8f558d962fd102c94b521ad62984cc8a0001a03d95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for dfm-agent 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for dfm_agent-0.0.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page