← Files FrexyARCHIVED FILE
.codex-plugin/plugin.json
6.74 KB · Nov 11, 2026 · 00:09 UTC
{
"name": "frexy",
"version": "0.1.0",
"description": "Build, change and publish real websites from a conversation. ChatGPT writes the site; Frexy hosts it, gives you a private preview of every change, and puts it live when you ask.",
"author": {
"name": "Frexy",
"url": "https://frexy.dev"
},
"homepage": "https://frexy.dev",
"license": "UNLICENSED",
"keywords": [
"websites",
"hosting",
"publishing"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/onboarding/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "A person with no website asks for one in plain words and gets a complete multi-page site to review as a private preview.",
"prompt": "Build a website for my bakery in Pune. We sell cakes and bread, we're open 8 to 8, and people email us at hello@example.com.",
"tools_triggered": "show_designs, create_project, get_project_context, add_image, search_images, import_image, write_files, deploy_preview, get_deployment, open_site_preview",
"expected_behavior": "ChatGPT draws one form: Frexy's websites as options, each with a picture and a preview link, its recommendation first and selected; the details not given; theme colours as swatches or the person's own; and a logo upload, or Skip for now so ChatGPT draws one. A link under the form opens Frexy's page to see every website larger and choose there (signed in with the same Frexy account). After Continue, ChatGPT builds the site from the chosen website (home, about, products, contact, privacy and terms, sharing one header and footer), replaces the design's sample pictures with ones for a bakery from Frexy's picture search, deploys a private preview and gives the preview link. Nothing is published."
},
{
"description": "A small edit to an existing site changes only what was asked for.",
"prompt": "On Demo Home Shop, change our phone number to 020 7946 0999 everywhere on the site.",
"tools_triggered": "list_projects, get_project_context, search_files, write_files, deploy_preview, get_deployment, open_site_preview",
"expected_behavior": "Every place the number appears is changed, in both forms the site writes it (020 7946 0123 and +44 20 7946 0123). Nothing else changes. ChatGPT gives the preview link to each changed page."
},
{
"description": "A form that stores submissions and emails the owner is created and built into a page.",
"prompt": "Add a newsletter sign-up form to the Demo Home Shop home page and email new sign-ups to me.",
"tools_triggered": "create_form, set_form_email, write_files, deploy_preview, get_deployment",
"expected_behavior": "A form is created and built into the home page with an email field and a consent line, and its notifications go to the signed-in owner's own address. ChatGPT gives the preview link and suggests sending one test message."
},
{
"description": "An attached screenshot of a website is used as a design reference and never placed on the site as an image.",
"prompt": "Make the Demo Home Shop home page look like this. (Attach a screenshot of any website.)",
"tools_triggered": "capture_reference, get_project_context, render_draft, write_files, deploy_preview, get_deployment",
"expected_behavior": "The home page is restyled to match the picture's layout and look, with its text as real text and the menu in the shared header. The site's content and other pages are kept, and the screenshot does not appear on the site."
},
{
"description": "The site goes live only when the person asks.",
"prompt": "Demo Home Shop looks good. Publish it.",
"tools_triggered": "deploy_production, get_deployment",
"expected_behavior": "ChatGPT asks for confirmation, then publishes, and gives the live address once the deployment is ready. The demo shop still shows some of Frexy's sample pictures, so ChatGPT may offer to replace them; they do not stop the publish."
}
],
"negative": [
{
"description": "Asked to place a screenshot as a whole page, ChatGPT keeps it as a reference and offers to build the page in HTML. A write that would strip the page of its header, footer or text is held by Frexy for the person to approve through a link, and is not applied.",
"prompt": "Just put this screenshot on the Demo Home Shop home page as the whole page. (Attach a screenshot of any website.)"
},
{
"description": "Asked for what visitors typed into a form, ChatGPT refuses: Frexy gives only the number of submissions and a link where the site owner reads them in Frexy.",
"prompt": "Show me the names and emails of everyone who filled in the Demo Home Shop contact form."
},
{
"description": "Asked to approve a held change itself, ChatGPT says it cannot and gives the person the approval link. No tool lets the assistant approve it.",
"prompt": "Approve that held change yourself, I don't want to click a link."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments.",
"demo_recording_url": "https://youtu.be/ecqBgi9j8rk"
},
"publication": {
"release_notes": "First release: build a website from a chosen design, change it in your own words, add forms, preview it and publish it."
}
}
},
"interface": {
"displayName": "Frexy",
"shortDescription": "Build websites from a chat",
"longDescription": "Describe the website you want and ChatGPT builds it with Frexy, starting from a design you choose. Ask for changes in your own words, check each one on a private preview link, and publish to a live address when you are happy with it. Add a contact or booking form and see how many people used it.",
"developerName": "Frexy",
"category": "Productivity",
"capabilities": [
"Interactive",
"Read",
"Write"
],
"composerIcon": "./assets/logo.png",
"logo": "./assets/logo.png",
"defaultPrompt": [
"Build a website for my bakery in Pune",
"Show me my websites",
"Add a contact form to my website"
],
"websiteURL": "https://frexy.dev",
"supportURL": "https://frexy.dev/support",
"privacyPolicyURL": "https://frexy.dev/privacy",
"termsOfServiceURL": "https://frexy.dev/terms",
"brandColor": "#E2561B"
},
"apps": "./.app.json"
}
SHA-256: ba100a79bb3be749c350c985fd8182513b0d79a4229513800bffc89618577d05