Skip to content
View packages

GoSeedly Concrete & Masonry Kit / INSTALLATION

A clear path
to your workspace.

Bring the kit into your compatible Seedly installation, preserve existing work, and choose the starter content that fits your team.

01

Start with your Seedly project.

Use your separately obtained Seedly CRM 5.8.4 installation with extension API 1, a configured backend, and working authentication. Keep a private source checkpoint, including existing customizations. Use Node.js 20 or newer.

02

Run guided setup.

Extract the kit outside the Seedly source folder. From the kit directory, run node setup.mjs. The check identifies supported integration files, changed files, and destination conflicts before installation.

03

Build and connect.

Deploy the included required helper from your authoritative backend source before connected edits. Follow QUICKSTART.md with your project’s existing package manager. Build the web app, sign in, and open your existing /location/YOUR_LOCATION_ID address. Verify access, navigation, and your important CRM flows.

Install the interface.
Choose the starting content.

Frontend installation and optional account content are separate. The included original pour helper is required for connected creation, editing and starter setup. It preserves native account permissions and unrelated custom fields, re-checks the cure arithmetic along with the forms, crew, inspection date and weather hold rules, and compares the current record state before saving. It exposes no stage mutation at all, so pipeline stages stay in your CRM’s own views under your existing roles. Deploy the helper from your authoritative backend source before connected edits. Pipeline presets and workflow drafts remain optional. Follow QUICKSTART.md and STARTER_CONTENT.md for the exact integration. The frontend installer does not deploy your backend.

Pick your starting structure.

Starter setup offers Residential flatwork, Foundations and structural, Masonry and hardscape, Commercial and municipal bids. Select individual pipelines and drafts, or use a suitable existing pipeline with the exact stage needed by the chosen draft.

Adapt each workflow.

All nine workflows remain inactive drafts. Review their native triggers, internal tasks, notes, timing, and assignments before publishing in Seedly. Timed waits do not check whether a task is complete or the stage has changed. These examples do not send customer messages.

Explore sample mode.

Explore nine fictional jobs across the three weeks and all six job types, from a residential driveway to a 148 yard warehouse slab, with 14 inspection records and three weather holds. Two of those holds cover today so the active hatching is visible, one inspection is recorded as failed and three as passed so all three diamond states appear, and seven of the nine rows record cure days so the lightening band reads across the board. Example edits stay in the current page’s memory and reset on navigation or reload; sample jobs are never inserted into your CRM. Add ?example=1 to the home or custom-view URL. Leave sample mode to return to your real account.

INSTALLING WITH AN AI AGENT?

Give it the context.
Keep your custom work.

Existing records and unrelated custom source do not require starting over. Modified integration files need a deliberate merge.

Start with the copy-and-paste prompt in INSTALL_WITH_AI.md.
Read AGENT_INSTALL.md for routes, permissions, provider wiring, backend contracts, and compatibility requirements.
Run node setup.mjs check "/path/to/seedly" before modifying files.
Preserve existing extensions, providers, account controls, custom pages, and unrelated data.
Use a reviewed merge for changed integration files; never replace them with clean copies or bypass the installer’s fingerprints.
Deploy the required write helper from the authoritative backend source before connected edits; preserve existing functions and authorization.
Build and verify account access, original CRM modules, new screens, saving, and reload behavior before publishing.

Make the workspace
feel like your team.

Edit apps/web/components/devlaunch-concrete-masonry/config.ts to set company name, descriptor, promise line, and default pipeline name, then rebuild. The design applies to the entire web installation. Use separate web installations to evaluate different full-interface kits, rather than stacking their installers.

Starter removal, updates, and rollback

Review unused starter additions for removal in Starter setup before removing the frontend. Server checks preserve edited or published workflows and pipelines with jobs or references. The process targets recorded kit additions rather than sweeping account records.

Preserve your local configuration and source edits. Preview frontend removal with node setup.mjs remove "/path/to/seedly" --dry-run. The automatic uninstaller uses a private restoration receipt and refuses to overwrite later edits. Keep that receipt private and out of public hosting or source exports. Removing frontend files does not remove account data or undeploy backend functions.

For an update, follow the documented removal/install process and reapply your preserved changes. A manually merged installation needs its own private change ledger and reviewed source rollback.

What the workspace records

A job is a native contact-linked opportunity with a namespaced job type, site address label, crew label, cubic yards reference, mix label, a forms set flag, planned and actual pour dates, recorded cure days, a derived cure complete date, finish label, job notes, an immutable supported currency, inspection records with their result and inspector label, and weather hold records with their dates and reason. The recorded contract reference stays separate from native opportunity value. Other custom fields are preserved.

Every date is one somebody wrote down, and the one derived value is arithmetic on two of them. The recorded pour date is the actual pour when one is recorded and the planned pour otherwise, because the cure starts when the concrete goes down. The cure complete date must equal that date advanced by the recorded cure days and must be blank when either is missing; the editor recomputes it on every edit and the server refuses a stored value that disagrees, so the board can never contradict the sheet. Cure days are calendar days from a specification or a superintendent, never a strength calculation, maturity index or cylinder break. Because nobody pours into ground with no forms around it, a recorded actual pour requires forms recorded as set, and cure days or a crew label require a recorded pour date. A passed or failed inspection requires a recorded date while a pending one may leave it blank, and an inspection date is deliberately not constrained against the pour, because forms inspections happen before it and final inspections after it. A weather hold needs both dates in order plus a reason, and two holds on one job may overlap because rain on Monday and a freeze warning on Tuesday are separate facts. The pass rate excludes pending rows from both halves and reports None recorded rather than an invented zero. There is no weather data, forecast feed or radar, no permit system or municipal inspection scheduling, no ready-mix ordering or delivery ticket, no estimating or takeoff, no crew scheduling engine or dispatch, and no invoicing or payments. Nothing here contacts a client, an inspector or a supplier. Totals are grouped by currency and never added across currencies. The pipeline stage stays your CRM’s own: recording a pour never moves a card, and moving a card never records a pour.

The kit’s original operational screens share the frame with full CRM modules from your own Seedly source. Existing account permissions, feature gates, and configured providers still determine access to those modules.