{
  "version": "1.0",
  "name": "Nextrey",
  "description": "Agent action map for nextrey.com — custom software studio (web, SaaS, mobile, AI). Bilingual EN/CS marketing site with one transactional API: project inquiries.",
  "home_url": "https://nextrey.com/",
  "related_resources": {
    "llms_txt": "https://nextrey.com/llms.txt",
    "agent_instructions": "https://nextrey.com/agent-instructions.md",
    "openapi": "https://nextrey.com/openapi.json",
    "sitemap": "https://nextrey.com/sitemap-index.xml",
    "robots": "https://nextrey.com/robots.txt"
  },
  "authentication": {
    "required": false
  },
  "policies": {
    "content_signals": "search=yes, ai-input=yes, ai-train=no",
    "rate_limits": {
      "requests_per_minute": 30,
      "notes": "Contact API is additionally protected by Cloudflare Turnstile and a honeypot."
    },
    "agent_identification": {
      "required": false,
      "preferred": "User-Agent header identifying the agent and purpose"
    }
  },
  "actions": [
    {
      "name": "get-site-summary",
      "description": "Machine-readable site overview: company facts, key pages, services, and Czech URL mirrors. Prefer this over scraping HTML for orientation.",
      "url": "https://nextrey.com/llms.txt",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "get-agent-runbook",
      "description": "Navigation guide, behavioral rules, and escalation contacts for agents working on behalf of users.",
      "url": "https://nextrey.com/agent-instructions.md",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "read-native-markdown",
      "description": "Fetch any exported native Markdown page. Each HTML URL has a .md sibling, e.g. /about/ → /about.md.",
      "url": "https://nextrey.com/index.md",
      "method": "GET",
      "parameters": {
        "type": "object",
        "required": [
          "path"
        ],
        "properties": {
          "path": {
            "type": "string",
            "enum": [
              "/about.md",
              "/author/michal-dumnyc.md",
              "/blog.md",
              "/blog/ai-features-for-web-applications-without-bloat.md",
              "/blog/custom-web-application-development-without-illusions.md",
              "/blog/external-development-team-for-startups-when-it-makes-sense.md",
              "/blog/how-much-does-mvp-development-cost.md",
              "/blog/how-to-build-an-mvp-without-unnecessary-features.md",
              "/blog/how-to-choose-a-technology-partner-for-startup.md",
              "/blog/how-to-deploy-ai-in-enterprise-software.md",
              "/blog/legacy-application-rewrite-to-new-system.md",
              "/blog/legacy-information-system-modernization.md",
              "/blog/mobile-app-development-for-business.md",
              "/blog/saas-application-development-without-costly-mistakes.md",
              "/blog/saas-platform-management-after-launch.md",
              "/blog/software-for-staffing-agency-custom.md",
              "/blog/system-api-integration-without-unnecessary-errors.md",
              "/blog/web-application-maintenance-and-development-in-practice.md",
              "/contact.md",
              "/cs/author/michal-dumnyc.md",
              "/cs/blog.md",
              "/cs/blog/ai-funkce-do-webove-aplikace.md",
              "/cs/blog/api-integrace-systemu-bez-zbytecnych-chyb.md",
              "/cs/blog/externi-vyvojovy-tym-pro-startup.md",
              "/cs/blog/jak-nasadit-ai-do-firemniho-software.md",
              "/cs/blog/jak-vytvorit-mvp-bez-zbytecnych-funkci.md",
              "/cs/blog/kolik-stoji-vyvoj-mvp.md",
              "/cs/blog/modernizace-stareho-informacniho-systemu.md",
              "/cs/blog/prepis-legacy-aplikace-do-noveho-systemu.md",
              "/cs/blog/software-pro-personalni-agenturu-na-miru.md",
              "/cs/blog/sprava-saas-platformy-po-spusteni.md",
              "/cs/blog/technologicky-partner-pro-startup-jak-vybrat.md",
              "/cs/blog/udrzba-a-rozvoj-webove-aplikace-v-praxi.md",
              "/cs/blog/vyvoj-mobilni-aplikace-pro-firmu.md",
              "/cs/blog/vyvoj-saas-aplikace-bez-drahych-chyb.md",
              "/cs/blog/vyvoj-webovych-aplikaci-na-miru-bez-iluzi.md",
              "/cs/cenik.md",
              "/cs/impressum.md",
              "/cs/index.md",
              "/cs/kontakt.md",
              "/cs/o-nas.md",
              "/cs/ochrana-udaju.md",
              "/cs/reference.md",
              "/cs/reference/fakturacni-aplikace.md",
              "/cs/reference/personalneagentury.md",
              "/cs/reference/platforma-personalni-agentura.md",
              "/cs/sluzby.md",
              "/cs/sluzby/modernizace-aplikaci.md",
              "/cs/sluzby/vyvoj-ai-a-automatizace.md",
              "/cs/sluzby/vyvoj-mobilnich-aplikaci.md",
              "/cs/sluzby/vyvoj-mvp.md",
              "/cs/sluzby/vyvoj-saas-aplikaci.md",
              "/cs/sluzby/vyvoj-webovych-aplikaci.md",
              "/cs/technologie.md",
              "/imprint.md",
              "/index.md",
              "/pricing.md",
              "/privacy.md",
              "/services.md",
              "/services/ai-development.md",
              "/services/application-modernization.md",
              "/services/mobile-app-development.md",
              "/services/mvp-development.md",
              "/services/saas-development.md",
              "/services/web-application-development.md",
              "/stack.md",
              "/work.md",
              "/work/invoicing-automation.md",
              "/work/personalneagentury.md",
              "/work/staffing-agency-platform.md"
            ],
            "description": "Native Markdown path on nextrey.com."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-home",
      "description": "Homepage — what Nextrey builds and primary calls to action. Native Markdown: /index.md (EN) or /cs/index.md (CS).",
      "url": "https://nextrey.com/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/ instead of this URL."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-services",
      "description": "Services overview with links to six service detail pages and FAQs.",
      "url": "https://nextrey.com/services/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/sluzby/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-service-detail",
      "description": "Detailed service page for a specific offering.",
      "url": "https://nextrey.com/services/web-application-development/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "required": [
          "service"
        ],
        "properties": {
          "service": {
            "type": "string",
            "enum": [
              "web-application-development",
              "saas-development",
              "mobile-app-development",
              "mvp-development",
              "application-modernization",
              "ai-development"
            ],
            "description": "Service slug. Builds URL as /services/{service}/ (EN) or mapped CS path under /cs/sluzby/."
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use the Czech slug from agent-instructions.md (e.g. vyvoj-webovych-aplikaci)."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-work",
      "description": "Portfolio index — case studies of shipped products.",
      "url": "https://nextrey.com/work/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/reference/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-case-study",
      "description": "Detailed case study for a shipped project.",
      "url": "https://nextrey.com/work/personalneagentury/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "required": [
          "study"
        ],
        "properties": {
          "study": {
            "type": "string",
            "enum": [
              "personalneagentury",
              "staffing-agency-platform",
              "invoicing-automation"
            ],
            "description": "Case study slug. EN: /work/{study}/. invoicing-automation is under NDA — summarize carefully."
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use /cs/reference/{czech-slug}/ — see agent-instructions.md for mapping."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-pricing-guidance",
      "description": "How custom software is scoped and priced — no fixed packages; fixed quote after discovery call.",
      "url": "https://nextrey.com/pricing/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/cenik/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "browse-blog",
      "description": "Blog index — technical articles. Native Markdown: /blog.md or /cs/blog.md.",
      "url": "https://nextrey.com/blog/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/blog/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "read-blog-post-en",
      "description": "Read an English blog article as native Markdown from /blog/{slug}.md.",
      "url": "https://nextrey.com/blog/system-api-integration-without-unnecessary-errors.md",
      "method": "GET",
      "parameters": {
        "type": "object",
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "type": "string",
            "enum": [
              "system-api-integration-without-unnecessary-errors",
              "software-for-staffing-agency-custom",
              "saas-platform-management-after-launch",
              "how-much-does-mvp-development-cost",
              "web-application-maintenance-and-development-in-practice",
              "how-to-choose-a-technology-partner-for-startup",
              "legacy-application-rewrite-to-new-system",
              "external-development-team-for-startups-when-it-makes-sense",
              "how-to-deploy-ai-in-enterprise-software",
              "ai-features-for-web-applications-without-bloat",
              "mobile-app-development-for-business",
              "legacy-information-system-modernization",
              "how-to-build-an-mvp-without-unnecessary-features",
              "saas-application-development-without-costly-mistakes",
              "custom-web-application-development-without-illusions"
            ],
            "description": "English article slug → https://nextrey.com/blog/{slug}.md"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "read-blog-post-cs",
      "description": "Read a Czech blog article as native Markdown from /cs/blog/{slug}.md.",
      "url": "https://nextrey.com/cs/blog/api-integrace-systemu-bez-zbytecnych-chyb.md",
      "method": "GET",
      "parameters": {
        "type": "object",
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "type": "string",
            "enum": [
              "api-integrace-systemu-bez-zbytecnych-chyb",
              "software-pro-personalni-agenturu-na-miru",
              "sprava-saas-platformy-po-spusteni",
              "kolik-stoji-vyvoj-mvp",
              "udrzba-a-rozvoj-webove-aplikace-v-praxi",
              "prepis-legacy-aplikace-do-noveho-systemu",
              "technologicky-partner-pro-startup-jak-vybrat",
              "externi-vyvojovy-tym-pro-startup",
              "jak-nasadit-ai-do-firemniho-software",
              "ai-funkce-do-webove-aplikace",
              "vyvoj-mobilni-aplikace-pro-firmu",
              "modernizace-stareho-informacniho-systemu",
              "jak-vytvorit-mvp-bez-zbytecnych-funkci",
              "vyvoj-saas-aplikace-bez-drahych-chyb",
              "vyvoj-webovych-aplikaci-na-miru-bez-iluzi"
            ],
            "description": "Czech article slug → https://nextrey.com/cs/blog/{slug}.md"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-tech-stack",
      "description": "Technologies and engineering practices used by Nextrey.",
      "url": "https://nextrey.com/stack/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/technologie/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-about",
      "description": "About the studio — team, approach, and how we work with clients.",
      "url": "https://nextrey.com/about/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/o-nas/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-author-profile",
      "description": "Author profile for Michal Dumnyč as native Markdown.",
      "url": "https://nextrey.com/author/michal-dumnyc.md",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "EN: https://nextrey.com/author/michal-dumnyc.md · CS: https://nextrey.com/cs/author/michal-dumnyc.md"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-privacy-policy",
      "description": "GDPR privacy policy — cookies, analytics, and personal data handling.",
      "url": "https://nextrey.com/privacy/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/ochrana-udaju/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get-imprint",
      "description": "Legal entity details — company name, address, IČO, VAT ID.",
      "url": "https://nextrey.com/imprint/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/impressum/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "open-contact-page",
      "description": "Contact page with the inquiry form and Turnstile widget. Use for humans; agents should prefer contact-via-email.",
      "url": "https://nextrey.com/contact/",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "When cs, use https://nextrey.com/cs/kontakt/."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "contact-via-email",
      "description": "Preferred escalation for autonomous agents — direct email to the studio. Include the user's project summary; do not impersonate the user.",
      "url": "mailto:contact@nextrey.com",
      "method": "GET",
      "parameters": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "description": "Email subject line, e.g. Project inquiry via AI assistant."
          },
          "body": {
            "type": "string",
            "description": "Plain-text message with project context, timeline, and reply-to contact if acting on behalf of a user."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "submit-project-inquiry",
      "description": "Submit a project inquiry via JSON API. Requires a Cloudflare Turnstile token from the contact page — headless agents will get 403. See openapi.json and agent-instructions.md.",
      "url": "https://nextrey.com/api/contact",
      "method": "POST",
      "content_type": "application/json",
      "openapi_operation": "openapi.json#/paths/~1api~1contact/post",
      "inputs": {
        "type": "object",
        "required": [
          "name",
          "email",
          "message",
          "token"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "Sender full name."
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 320,
            "description": "Reply-to email address."
          },
          "message": {
            "type": "string",
            "minLength": 10,
            "maxLength": 5000,
            "description": "Project description or question (minimum 10 characters)."
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "Locale of the submitting page. Defaults to en when omitted."
          },
          "token": {
            "type": "string",
            "description": "Cloudflare Turnstile response token from the contact page widget."
          }
        },
        "additionalProperties": false
      },
      "outputs": {
        "type": "object",
        "required": [
          "ok"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "true when the inquiry was accepted (HTTP 200)."
          },
          "error": {
            "type": "string",
            "enum": [
              "validation",
              "turnstile",
              "send"
            ],
            "description": "Present when ok is false — validation (400), Turnstile (403), or email delivery (502)."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "email",
                "message"
              ]
            },
            "description": "Invalid field names when error is validation."
          }
        }
      },
      "parameters": {
        "type": "object",
        "required": [
          "name",
          "email",
          "message",
          "token"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "Sender full name."
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 320,
            "description": "Reply-to email address."
          },
          "message": {
            "type": "string",
            "minLength": 10,
            "maxLength": 5000,
            "description": "Project description or question (minimum 10 characters)."
          },
          "locale": {
            "type": "string",
            "enum": [
              "en",
              "cs"
            ],
            "description": "Locale of the submitting page. Defaults to en when omitted."
          },
          "token": {
            "type": "string",
            "description": "Cloudflare Turnstile response token from the contact page widget."
          }
        },
        "additionalProperties": false
      }
    }
  ]
}
