Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

murmr

A minimal, JSON-driven documentation resolver built with Flask. murmr lets you organize and serve structured API documentation through a simple file-based system — no database, no hosting, no overhead.


How It Works

Documentation is structured into three levels:

  • Title — the API or project name (e.g., IdentityAPI)
  • Topic — a category or feature within it (e.g., activation)
  • Point — a specific endpoint or item within the topic (e.g., activate)

JSON files live under base/<Title>/topics/ for documentation content, and base/<Title>/references/ for reusable references.

References follow the pattern @<file>#<key> and are resolved recursively at request time.


Usage

Start the server:

python app.py

Then query any documentation point:

GET http://127.0.0.1:5000/api/IdentityAPI/activation/activate

Example

Topic file entry:

{
    "activate": {
        "name": "Activate Account",
        "description": "Activates a deactivated account.",
        "request": {
            "type": "DELETE",
            "body": "@body#identity-serializer"
        },
        "response": {
            "success": {
                "status": "@status#204"
            },
            "failure": {
                "status": "@status#400",
                "body": "@body#errors-list"
            }
        }
    }
}

Resolved response:

{
    "name": "Activate Account",
    "description": "Activates a deactivated account.",
    "request": {
        "type": "DELETE",
        "body": {
            "key": "a string identifier in standard UUID format.",
            "username": "a string between 4 and 12 alphanumeric characters.",
            "password": "a string of at least 8 characters, not entirely numeric."
        }
    },
    "response": {
        "success": {
            "status": { "value": 204, "phrase": "NO_CONTENT" }
        },
        "failure": {
            "status": { "value": 400, "phrase": "BAD_REQUEST" },
            "body": { "type": "list", "description": "A list containing error messages." }
        }
    }
}

File Structure

base/
└── IdentityAPI/
    ├── topics/
    │   └── activation.json
    └── references/
        ├── body.json
        └── status.json

About

A minimal, JSON-driven documentation resolver built with Flask. murmr lets you organize and serve structured API documentation through a simple file-based system — no database, no hosting, no overhead.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages