### Install Software Factory Agent Skill Source: https://www.8090.ai/docs/opinions/agent-skill Use this command to add the Software Factory skill to your agent. Ensure you have npx installed. ```bash npx skills add 8090-inc/software-factory-plugin ``` -------------------------------- ### Define a Component in Blueprint Source: https://www.8090.ai/docs/opinions/blueprint-writing-guide Use the `component` block to define runtime elements like services or controllers. Specify its container, responsibilities, and dependencies using element and component mentions. ```blueprint ```component name: NotificationDeliveryService container: API Server responsibilities: - Selecting delivery channels based on `NotificationPreference` and message type - Rendering channel-specific payloads from `NotificationTemplate` - Dispatching messages through provider adapters with retry and idempotency guards ``` ``` -------------------------------- ### Submit Feedback via API Source: https://www.8090.ai/docs/modules/feedback Use this endpoint to submit feedback from your application or internal tooling. Ensure you have a Feedback Integration API key and send requests to the reporting endpoint. ```bash POST /v2/reporting-api/feedback X-API-Key: sf-rpt-... Content-Type: application/json { "end_user_email": "customer@example.com", "content": "Feedback text in Markdown", "attachments": [ { "file_name": "screenshot.png", "file_key": "uploaded-file-key", "file_size": 123456, "mime_type": "image/png" } ] } ``` ```json { "feedback_number": 123 } ``` -------------------------------- ### Define a Model in Blueprint Source: https://www.8090.ai/docs/opinions/blueprint-writing-guide Use the `model` block for explicit, canonical data models central to implementation but not runtime components. Define its storage, fields, and constraints. ```blueprint ```model name: CustomerOrder store: Postgres description: Canonical persisted order model used by checkout, fulfillment, and support workflows. fields: - id: UUID (required) - order_number: string (required) - customer_account_id: UUID (required; foreign key -> `CustomerAccount.id`) - status: Draft | Placed | Packed | Shipped | Delivered | Cancelled (required) - total_amount: decimal (required) - placed_at: datetime (nullable) constraints: - unique `order_number` - `total_amount` is non-negative - `placed_at` is present when `status` is not `Draft` ``` ``` -------------------------------- ### Submit Feedback Source: https://www.8090.ai/docs/modules/feedback Use the Feedback Integration API to submit feedback from your application or internal tooling. Send requests to the reporting endpoint with a Feedback Integration API key. ```APIDOC ## POST /v2/reporting-api/feedback ### Description Submits feedback from an application or internal tooling to the Feedback module. ### Method POST ### Endpoint /v2/reporting-api/feedback ### Headers - **X-API-Key** (string) - Required - Your Feedback Integration API key. - **Content-Type** (string) - Required - application/json ### Request Body - **end_user_email** (string) - Required - The email of the end user submitting the feedback. - **content** (string) - Required - The feedback text, can be in Markdown format. - **attachments** (array) - Optional - A list of attachments associated with the feedback. - **file_name** (string) - Required - The name of the file. - **file_key** (string) - Required - The key identifying the uploaded file. - **file_size** (integer) - Required - The size of the file in bytes. - **mime_type** (string) - Required - The MIME type of the file. ### Request Example ```json { "end_user_email": "customer@example.com", "content": "Feedback text in Markdown", "attachments": [ { "file_name": "screenshot.png", "file_key": "uploaded-file-key", "file_size": 123456, "mime_type": "image/png" } ] } ``` ### Response #### Success Response (200) - **feedback_number** (integer) - The number of the created feedback item. #### Response Example ```json { "feedback_number": 123 } ``` ``` -------------------------------- ### E2E Test Specification Format Source: https://www.8090.ai/docs/opinions/work-order-writing-guide Format for end-to-end test specifications used with the e2e-validator. Includes mapping to coverage requirement groups and detailed test case structure. ```typescript ### COV_{PREFIX}_{NNN}: {Requirement Group Name} **File:** `e2e-validator/tests/{module}/{area}/{spec-file-name}.spec.ts` **Tags:** {Tag(s) from coverage taxonomy} | **Priority:** {P0/P1/P2} **@COV_{PREFIX}_{NNN}.1 — should {description matching the AC}** 1. Sign in and navigate to {module} 2. {User action — e.g., open a work order from the table} 3. Assert {expected visible result} 4. {Next action} 5. Assert {state change or persistence} **@COV_{PREFIX}_{NNN}.2 — should {next AC description}** 1. ... ``` -------------------------------- ### Deprecated Validator Feedback Endpoint Source: https://www.8090.ai/docs/modules/feedback The old Validator feedback endpoint is deprecated and will be retired on August 1st, 2026. Integrations should migrate to the new reporting API. ```APIDOC ## POST /v1/integration/validator/feedback ### Description This endpoint is deprecated and will be retired on August 1st, 2026. Please migrate to `POST /v2/reporting-api/feedback`. ### Method POST ### Endpoint /v1/integration/validator/feedback ### Headers - **X-App-Key** (string) - Required - Your Validator API key. ### Note Update your integration to use `POST /v2/reporting-api/feedback`, replace the Validator API key with a Feedback Integration API key, send feedback text in the `content` field, and stop sending client-provided titles. ``` -------------------------------- ### Deprecated Validator Feedback Endpoint Source: https://www.8090.ai/docs/modules/feedback The old Validator feedback endpoint is deprecated and will be retired on August 1st, 2026. Update integrations to use the new reporting API. ```bash POST /v1/integration/validator/feedback X-App-Key: sf-int-... ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.