1. Scaffold the components
In this chapter you scaffold the two Components the first pass needs: the extractor that sweeps the ERP and the loader that delivers to the WMS.
Scaffold
Section titled “Scaffold”From the scratch directory root:
intropy int create extractor -n ErpExtractor -o erp-extractor --template-version v0.4.1 \ -s organization=Fluxia -s topic=order-notifications -s contract=Order -s empty=false
intropy int create loader -n WmsLoader -o wms-loader --template-version v0.4.1 \ -s organization=Fluxia -s topic=order-notifications -s contract=Order -s empty=falsefetching integrio-intropy/intropy-templates@v0.4.1created erp-extractor from integrio-intropy/intropy-templates@v0.4.1 (template extractor)created dependency Contracts from template shared-contractsfetching integrio-intropy/intropy-templates@v0.4.1created wms-loader from integrio-intropy/intropy-templates@v0.4.1 (template loader)dependency Contracts already scaffolded from shared-contracts — skippedUse your own organization in place of Fluxia; it becomes the telemetry ServiceNamespace and the source URN on every business incident. empty=false keeps the sample business logic in the pipeline steps, so both Components can process an order without you writing code — this tutorial is about the System, not the pipeline.
Two of the -s pairs are the system contract, and they must be spelled identically in both commands:
topic=order-notifications— the Topic the extractor publishes to and the loader subscribes tocontract=Order— the shared record the Topic carries
The first scaffold also created Contracts/, the class library holding the Order record; the second command found it and left it alone. Both Components reference the same project, so a change to the contract is a compile error in every Component that disagrees, not a runtime surprise.
The records
Section titled “The records”Each project carries .intropy/scaffold.json: the template, the release it was rendered from, and the resolved values, including the topic and contract above. These records are the input to the next chapter — intropy sys create reads them to assemble the System — so commit them with the code.
Check it
Section titled “Check it”intropy int listPATH TEMPLATE VERSIONContracts shared-contracts v0.4.1erp-extractor extractor v0.4.1wms-loader loader v0.4.1The workspace holds two Components and the shared contracts project, all rendered from the same release.