Loading...
Loading...
Generates or updates a README.md for a domain library. Analyzes the library's source code, exports, NgRx stores, services, and components to produce accurate architecture documentation. Use when a library is missing a README or when it needs updating.
npx skill4agent add bogusweb/workspace-context-skills domain-readmeREADME.md$ARGUMENTS$ARGUMENTSlibs/widget-chatwidget-chatlibs/widget-chat@myapp/widget-chatCLAUDE.md<path>/
index.ts ← public API surface
src/lib/ ← all source files
src/index.ts ← re-exports
project.json ← name, tags, importPath
package.json ← name, version, peerDeps
ng-package.json ← Angular package configsrc/lib/domainfeatureuiutil@Input()@Output()index.tsREADME.md# <Library Name>
<One-sentence description. What this library does and why it exists.>
## Architecture
<Describe the layer structure. Include a text diagram if the library has multiple layers.>
\`\`\`
<path>/
├── domain/ → NgRx store, facade, services
├── feature/ → Container components, routing
├── ui/ → Presentational components
└── util/ → Types, helpers
\`\`\`
## Public API
### <ServiceName>
> `import { ServiceName } from '<importPath>'`
| Method / Property | Type | Description |
|-------------------|------|-------------|
| `methodName(arg)` | `ReturnType` | What it does |
### <StoreName> (NgRx Signal Store)
| Signal / Method | Type | Description |
|-----------------|------|-------------|
| `items` | `Signal<Item[]>` | List of items |
| `loadItems()` | `void` | Fetches items from API |
### <ComponentName>
**Selector**: `<app-component-name>`
| Input | Type | Description |
|-------|------|-------------|
| `data` | `Item[]` | Data to display |
| Output | Type | Description |
|--------|------|-------------|
| `selected` | `EventEmitter<Item>` | Emits on selection |
## Key Patterns
<Document any conventions specific to this domain:>
- State shape and update strategy
- Error handling approach
- How the facade wraps the store
- Any domain-specific patterns
## Usage Example
\`\`\`typescript
import { FeatureComponent } from '<importPath>/feature';
import { DomainService } from '<importPath>/domain';
// Minimal example showing how to consume this library
\`\`\`
## Dependencies
**Depends on:**
- `@scope/shared/...` — description
**Consumed by:**
- `apps/aero-host` — used as widget
## Development
\`\`\`bash
npx nx test <project-name> # Run unit tests
npx nx build <project-name> # Build library
npx nx lint <project-name> # Lint
\`\`\`README.md<!-- auto-generated by domain-readme skill, do not edit manually --><path>/README.md✓ README.md written to <path>/README.md
Documented: N services, N stores, N components$ARGUMENTS/domain-readme libs/widget-chat/domain-readme widget-chat/domain-readme libs/shared/sidebar/domain-readme