@contractspec/example.crm-pipeline
v3.7.33
Published
CRM Pipeline - Contacts, Companies, Deals, Tasks
Downloads
2,499
Readme
@contractspec/example.crm-pipeline
Website: https://contractspec.io
CRM Pipeline - Contacts, Companies, Deals, Tasks.
What This Demonstrates
- Multi-entity domain model (Contact, Company, Deal, Task).
- Deal pipeline with stage enums, operations, and test-specs.
- Event-driven architecture (contact, deal, task events).
- Presentation layer with dashboard and pipeline views.
- React UI with pipeline board, hooks, modals, overlays, renderers, and a server-mode shared
DataTablefor deals. - Shared table capabilities including sorting, pagination, multi-row selection, column visibility, pinning, resizing, and expandable deal details.
- Feature definition and capability pattern.
- Seeders and mock data.
Running Locally
From packages/examples/crm-pipeline:
bun run devbun run buildbun run testbun run typecheck
Usage
Use @contractspec/example.crm-pipeline as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
Architecture
src/crm-pipeline.feature.tsdefines a feature entrypoint.src/dealis part of the package's public or composition surface.src/docs/contains docblocks and documentation-facing exports.src/entities/contains domain entities and value objects.src/eventsis part of the package's public or composition surface.src/example.tsis the runnable example entrypoint.src/handlers/contains handlers or demo adapters wired to contract surfaces.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./crm-pipeline.featureresolves through./src/crm-pipeline.feature.ts. - Export
./dealresolves through./src/deal/index.ts. - Export
./deal/deal.enumresolves through./src/deal/deal.enum.ts. - Export
./deal/deal.operationresolves through./src/deal/deal.operation.ts. - Export
./deal/deal.schemaresolves through./src/deal/deal.schema.ts. - Export
./deal/deal.test-specresolves through./src/deal/deal.test-spec.ts. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/crm-pipeline.docblockresolves through./src/docs/crm-pipeline.docblock.ts. - Export
./entitiesresolves through./src/entities/index.ts. - The package publishes 44 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run test— bun test --pass-with-no-testsbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run validate— contractspec validate "src/**/*"bun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/lib.design-system,@contractspec/lib.example-shared-ui,@contractspec/lib.identity-rbac,@contractspec/lib.runtime-sandbox, ...
