{
    "name": "Nimbly",
    "summary": "Nimbly is a lean, open source, full-stack web framework. Code, content and data live as plain files in Git, and a request runs its route and nothing else.",
    "url": "https://atomic.nimblyweb.com",
    "publisher": "Nimbly Web Systems",
    "license": "ISC",
    "repository": "https://github.com/Nimbly-Web-Systems/nimbly-core",
    "language": "en",
    "stack": [
        "Alpine.js",
        "Tailwind CSS 4",
        "DaisyUI 5"
    ],
    "requirements": [
        "PHP 8 or Docker",
        "Node.js with npm",
        "Git"
    ],
    "features": [
        "Template engine and shortcodes",
        "File-based resources with indexes, caching and record history",
        "REST API with token authentication and role-based access",
        "Admin with inline editing",
        "Media library and responsive WebP images",
        "Users, roles and permissions",
        "Forms with CSRF and spam protection",
        "Field-level i18n with AI translation",
        "Scheduler, job queue and email",
        "AI agents and team chat",
        "Progressive web apps",
        "PDF generation and DOCX import",
        "Request statistics and health checks",
        "Bot protection",
        "Docker images and multi-container scaling",
        "Command line interface"
    ],
    "cli": [
        "system:setup",
        "user:create",
        "module:install",
        "routes:sync",
        "index:rebuild",
        "data:cache:clear",
        "user:email-index:rebuild",
        "test:run",
        "test:setup",
        "test:teardown",
        "system:repair",
        "schedule:run",
        "stats:*",
        "scheduler:*"
    ],
    "llms": "https://atomic.nimblyweb.com/llms.txt",
    "llms_full": "https://atomic.nimblyweb.com/llms-full.txt",
    "docs": [
        {
            "title": "Introduction",
            "group": "Learn",
            "description": "What Nimbly is, what a project looks like and where to read next.",
            "url": "https://atomic.nimblyweb.com/en/docs/learn/introduction/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/learn/introduction.md"
        },
        {
            "title": "Installation",
            "group": "Learn",
            "description": "Clone core, add your application and run two commands to have a working site.",
            "url": "https://atomic.nimblyweb.com/en/docs/learn/installation/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/learn/installation.md"
        },
        {
            "title": "For AI agents",
            "group": "Learn",
            "description": "How an agent works in a Nimbly project: where to read, where each block lives and which rules always hold.",
            "url": "https://atomic.nimblyweb.com/en/docs/learn/for-ai-agents/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/learn/for-ai-agents.md"
        },
        {
            "title": "Atomic design in Nimbly",
            "group": "Concepts",
            "description": "A small set of atoms and one way to combine them: every project composes exactly the blocks it needs.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/atomic-design/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/atomic-design.md"
        },
        {
            "title": "Core and ext",
            "group": "Concepts",
            "description": "Two repositories and one runtime: what belongs in core, what belongs in ext and how the folders are laid out.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/core-and-ext/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/core-and-ext.md"
        },
        {
            "title": "Templates and shortcodes",
            "group": "Concepts",
            "description": "How a page is assembled from small templates and shortcodes, and how templates are found.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/templates/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/templates.md"
        },
        {
            "title": "Resources: data as files",
            "group": "Concepts",
            "description": "The data layer: file-backed records, the .meta file that describes them, and the conventions every resource follows.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/resources/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/resources.md"
        },
        {
            "title": "Routing",
            "group": "Concepts",
            "description": "Folders are routes: static and dynamic routes, input checks at the boundary, subdomain folders and localized addresses.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/routing/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/routing.md"
        },
        {
            "title": "Field-level i18n",
            "group": "Concepts",
            "description": "Languages as part of the system: language routes, translated fields, static texts and templates per language.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/i18n/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/i18n.md"
        },
        {
            "title": "Choosing the rendering boundary",
            "group": "Concepts",
            "description": "What is rendered on the server, what runs in the browser and how to choose the boundary between them.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/rendering-boundary/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/rendering-boundary.md"
        },
        {
            "title": "Lean by design",
            "group": "Concepts",
            "description": "KISS, YAGNI and DRY as working rules: simple parts, no speculative code, one place for each thing.",
            "url": "https://atomic.nimblyweb.com/en/docs/concepts/lean-by-design/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/concepts/lean-by-design.md"
        },
        {
            "title": "CLI",
            "group": "Reference",
            "description": "Every command of ./nimbly: setup, builds, tests, upkeep, scheduler and statistics.",
            "url": "https://atomic.nimblyweb.com/en/docs/reference/cli/",
            "markdown": "https://atomic.nimblyweb.com/en/docs/reference/cli.md"
        }
    ]
}
