alps

Solid

Create, validate, and improve ALPS profiles. Generate from natural language descriptions, validate existing profiles, and get improvement suggestions.

Data & Documents 39 stars 11 forks Updated 2 months ago MIT

Install

View on GitHub

Quality Score: 79/100

Stars 20%
53
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# ALPS Profile Assistant Generate, validate, and improve ALPS profiles for RESTful API design. ## Ideal ALPS Profile **Goal: An ALPS that someone unfamiliar with the app can read and understand.** ### What Makes a Good ALPS 1. **States = What the user sees** - `ProductList` - viewing a list of products - `ProductDetail` - viewing one product - `Cart` - viewing cart contents 2. **Transitions = What the user does** - `goProductDetail` - select a product - `doAddToCart` - add to cart 3. **Self-documenting** - `title` explains the purpose - `doc` describes behavior and side effects - No need to read code to understand 4. **No unreachable states** - Every state has an entry point - Orphan states indicate design mistakes 5. **Necessary and sufficient** - No over-abstraction - Describes semantics, not implementation - No HTTP methods or URLs ### What to Avoid - Mechanical CRUD listings without meaning - Implementation details leaking in - States without transitions (can't draw a diagram) - Excessive documentation nobody reads ## How to Use This skill responds to natural language requests: ### Generate ALPS from Natural Language - "Create an ALPS profile for a blog application" - "Generate ALPS for an e-commerce cart system" - "Design an ALPS profile for user authentication" ### Generate ALPS from Website (NEW - alps-surveyor mode) - "Crawl https://example.com and generate ALPS profile" - "Survey website structure and create ALPS"...

Details

Author
alps-asd
Repository
alps-asd/app-state-diagram
Created
6 years ago
Last Updated
2 months ago
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category