s-m-r-t
Open the s-m-r-t source on GitHub Switch to dark color scheme
← All packages
Business & operations v0.57.40

@happyvertical/smrt-projects

Provider-neutral projects, repositories, issues, pull requests, and the time workflows re-exported from smrt-timesheets.

Source ↗

What it gives you

Provider-neutral projects, repositories, issues, pull requests, and the time workflows re-exported from smrt-timesheets.

This package is one focused part of the s-m-r-t stack. Its decorated models participate in the same manifest, tenancy, persistence, and generated-interface conventions as the rest of the framework.

Managed delivery uses durable handoffs

ProjectIntegration holds credential grants for ManagedProjectClient. DevelopmentRequest and WorkLink carry requested work; ProjectDeliveryEvent replays idempotently; PreviewApproval records the approval boundary; AssistanceRequest and AssistanceEvent retain escalation evidence.

Service billing and repository sync retain correction paths

ServiceTimeEntry, ServiceChargeSnapshot, and ServiceCompensationSnapshot are owned by smrt-timesheets and re-exported here unchanged, on the same tables. SubscriptionServiceCommercialResolver prices client work through smrt-subscriptions; provider compensation is a separate resolver and snapshot. The time-entry Svelte components are re-exported from smrt-timesheets too. Repository, issue, and pull-request sync supports GitHub, GitLab, Bitbucket, and Azure. incorporateFeedback can preview or roll back Living Spec changes, while Project.analyzeHealth evaluates the synchronized project.

Issues do not need a repository

Issue and Label carry an optional repositoryId and an optional projectId, so an issue can belong to a project alone. hasRepository gates every provider call: sync is a no-op, state changes stay local, and getRepository throws. The schema change adds the project columns and relaxes repository_id to nullable; db:migrate generates it.