First-party declarative Contacts CRM module for Deft
PowerShell
0
5 commits
updated Sep 19, 2026
The first-party CRM module for Deft. It
adds a relationship workspace without adding domain-specific CRM code to Deft
core. The installable product is one declarative file:
deft.module.json. It contains no JavaScript, SQL,
remote installer, credentials, or executable payload.
Current release: 1.8.0
Canonical manifest digest:
sha256:495075181043c6cb95ad4080ea894faa6c1b798b3eb2db97571d0b53ff0cbdaf
| Collection | Purpose | Included views |
|---|---|---|
| Contacts | People, roles, ownership, status, tags, and contact history | Table, status board, form, details |
| Companies | Accounts and organizations, industry, ownership, and status | Table, status board, form, details |
| Deals | Opportunity value, stage, close date, company, and primary contact | Pipeline, close timeline, table, form, details |
| Activities | Calls, emails, meetings, and notes related to CRM records | Timeline, table, form, details |
The company text field on Contacts remains in the manifest so records made
with Contacts 1.0 stay readable. New records should use the normalized
company_id relationship.
Deft core renders the manifest, stores its records in the generic multi-tenant module tables, and applies the same governance used by native Deft data:
module_record_* operations. Reads and writes follow the workspace's module
access and approval settings.These capabilities come from a compatible Deft runtime. This repository is a declarative domain model, not an alternate execution environment.
deft.module.json from a trusted checkout or tagged release of this
repository.com.deft.contacts), version, and digest before
applying it.Deft v1 intentionally does not install modules from URLs and does not execute
code or assets from a module repository. Do not upload this README, the fixture
data, or the screenshots directory; only upload deft.module.json.
The authoritative validator lives in Deft. With sibling checkouts:
workspace/
├── Deft/
└── deft-module-contacts/
run either:
./scripts/validate.ps1
./scripts/validate.sh
Pass a different Deft checkout as the first argument when needed. The helpers
run corepack pnpm module:check <this-repository> from that checkout and verify
the expected 1.8.0 digest. See CONTRIBUTING.md for the
release rules.
fixtures/demo-records.json is documentation
data, not an import format. Every person and company is fictional; emails,
websites, and domains use the reserved .test suffix, and phone numbers use
the fictional 555-01xx range.
The screenshot capture contract is in
screenshots/README.md. Screenshots are deliberately
captured from Deft rather than mocked in this repository.
GNU Affero General Public License v3.0 only (AGPL-3.0-only). If you modify
this module and make it available to users over a network, AGPL section 13
requires offering those users the corresponding source. See LICENSE.
5 commits
PowerShell
58.1%
Shell
41.9%
First-party declarative Contacts CRM module for Deft
PowerShell
0
5 commits
updated Sep 19, 2026
The first-party CRM module for Deft. It
adds a relationship workspace without adding domain-specific CRM code to Deft
core. The installable product is one declarative file:
deft.module.json. It contains no JavaScript, SQL,
remote installer, credentials, or executable payload.
Current release: 1.8.0
Canonical manifest digest:
sha256:495075181043c6cb95ad4080ea894faa6c1b798b3eb2db97571d0b53ff0cbdaf
| Collection | Purpose | Included views |
|---|---|---|
| Contacts | People, roles, ownership, status, tags, and contact history | Table, status board, form, details |
| Companies | Accounts and organizations, industry, ownership, and status | Table, status board, form, details |
| Deals | Opportunity value, stage, close date, company, and primary contact | Pipeline, close timeline, table, form, details |
| Activities | Calls, emails, meetings, and notes related to CRM records | Timeline, table, form, details |
The company text field on Contacts remains in the manifest so records made
with Contacts 1.0 stay readable. New records should use the normalized
company_id relationship.
Deft core renders the manifest, stores its records in the generic multi-tenant module tables, and applies the same governance used by native Deft data:
module_record_* operations. Reads and writes follow the workspace's module
access and approval settings.These capabilities come from a compatible Deft runtime. This repository is a declarative domain model, not an alternate execution environment.
deft.module.json from a trusted checkout or tagged release of this
repository.com.deft.contacts), version, and digest before
applying it.Deft v1 intentionally does not install modules from URLs and does not execute
code or assets from a module repository. Do not upload this README, the fixture
data, or the screenshots directory; only upload deft.module.json.
The authoritative validator lives in Deft. With sibling checkouts:
workspace/
├── Deft/
└── deft-module-contacts/
run either:
./scripts/validate.ps1
./scripts/validate.sh
Pass a different Deft checkout as the first argument when needed. The helpers
run corepack pnpm module:check <this-repository> from that checkout and verify
the expected 1.8.0 digest. See CONTRIBUTING.md for the
release rules.
fixtures/demo-records.json is documentation
data, not an import format. Every person and company is fictional; emails,
websites, and domains use the reserved .test suffix, and phone numbers use
the fictional 555-01xx range.
The screenshot capture contract is in
screenshots/README.md. Screenshots are deliberately
captured from Deft rather than mocked in this repository.
GNU Affero General Public License v3.0 only (AGPL-3.0-only). If you modify
this module and make it available to users over a network, AGPL section 13
requires offering those users the corresponding source. See LICENSE.
5 commits
PowerShell
58.1%
Shell
41.9%