self-serve-dev

Guides end-to-end feature development, bug fixes, and refactoring in the LFX One Angular and Express codebase.

12|6|Updated Jul 14, 2025
One-click install
npx skills add https://github.com/linuxfoundation/lfx-self-serve --skill self-serve-dev-linuxfoundation
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: self-serve-dev
Source: https://github.com/linuxfoundation/lfx-self-serve/tree/main/.claude/skills/self-serve-dev
Command: npx skills add https://github.com/linuxfoundation/lfx-self-serve --skill self-serve-dev-linuxfoundation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Contributors to the LFX One monorepo must follow strict architectural conventions across shared types, Express backend proxies, and Angular 20 frontend code. This Skill enforces that workflow so new features, bug fixes, and refactors land as reviewable, convention-compliant code instead of ad-hoc changes. ## Core Features & Use Cases - Guided Build Workflow: Enforces a strict build order — shared types, backend service/controller/route, frontend service, then Angular component — with validation at each step. - Upstream API Validation: Verifies that required Go microservice endpoints exist (via OpenAPI specs and Goa design files) before any frontend code is written, blocking mock data and placeholder APIs. - PR Scoping and Planning: Splits work exceeding ~1000 diff lines into layered, independently reviewable PRs and requires GitHub issue tracking with branch naming conventions. - Use Case: A contributor asks to add a notifications endpoint. The Skill checks the upstream microservice contract, creates shared interfaces, builds the service/controller/route trio, generates the Angular service and component per signal-based conventions, then runs yarn format, lint, and build. ## Quick Start Ask the assistant to add a new feature or fix a bug in the LFX One app, for example: create a backend endpoint and frontend list page for committee notifications.

Frequently Asked Questions about self-serve-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new feature to the LFX One Angular app?▼

Start from latest main, create a GitHub issue and a branch named feat/issue-<number>, then plan the feature's data needs and upstream APIs. Build in strict order: shared types, backend endpoint, frontend service, then component, and finish with yarn format, lint, and build.

How do I create a backend endpoint in an Express SSR server?▼

Create three files: a service using MicroserviceProxyService for upstream calls, a controller using logger.startOperation with bare next(error) in catch blocks, and a route file. Route registration in server.ts is protected and must be done by a code owner.

Can I use mock data to build frontend before the backend API exists?▼

No. The workflow explicitly forbids mock data, placeholder APIs, and hardcoded responses. You must first verify or build the upstream Go microservice endpoint, then build the proxy layer, and only then write frontend code against the real endpoint.

What Angular patterns does this codebase require for components?▼

Components must be standalone with direct imports, use signal-based APIs like input(), output(), computed(), and inject(), and templates must use @if/@for instead of *ngIf/*ngFor. Layout uses flex with gap utilities, never space-y, and key elements need data-testid attributes.

When should a feature be split into multiple PRs?▼

Split when the diff approaches 1000 lines, when the feature spans multiple layers that don't fit comfortably together, or when it has independent sub-features. Refactors and generated mechanical changes should always land in separate PRs from hand-written feature logic.