1642be86f5
@martmull v2.0 ;) --------- Co-authored-by: martmull <martmull@hotmail.fr> Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
7.0 KiB
7.0 KiB
Changelog
All notable changes to the Twenty Codex plugin are documented in this file.
The format follows Keep a Changelog, and this package adheres to Semantic Versioning.
Entries reference the canonical skills (create-app, develop-app, manage-app, publish-app, use-twenty-mcp) and the validation script (scripts/validate.js).
[0.1.0] - Unreleased
The first version of the Twenty Codex plugin.
Added
AGENTS.mdat the plugin root: durable cross-skill operating rules, skill routing table, and reference-doc map.CHANGELOG.md(this file).CHECKLIST.md: best-practices compliance matrix mapping each official Codex plugin requirement to an automated check or a manual sign-off.CONTRIBUTING.md: maintainer guide for adding skills, adding references, bumping versions, updating screenshots, and running validation.project.json: Nx targets (validate,test,setup:mcp,fmt).templates/marketplace.example.json: copy-pasteable template for the user-local.agents/plugins/marketplace.jsonentry.assets/screenshots/README.md: capture brief for the three marketplace screenshots.## When To Usesection in every SKILL.md with representative trigger phrases and explicit "do not use this skill for X" boundary callouts.- New validators under
scripts/validators/:assertInterfaceFields,assertAssets,assertMarketplaceTemplate,assertSkillTriggerPhrases. scripts/__tests__/validate.spec.js: 29node:testcases (smoke + targeted negative cases) covering every validator..github/workflows/ci-codex-plugin.yaml: CI workflow runningvalidateandteston PRs touching the plugin.
Changed
scripts/validate.jsrefactored from a single 760-line file into a thin entry point plus focused modules underscripts/validators/(lib,metadata,assets,skills,references,cross-doc-contracts,setup-helper).package.json: exposedtestscript; addedAGENTS.md,CHANGELOG.md,CHECKLIST.md,CONTRIBUTING.md,templatestofiles..codex-plugin/plugin.json: rewroteinterface.longDescriptioninto 3 scannable sentences (was a single ~400-char sentence).README.md: restructured into What/Installation/Skills/MCP/Development sections; added skills-overview table; linkedCONTRIBUTING.md,CHECKLIST.md,CHANGELOG.md.scripts/validators/lib.jsisAllowedDocumentationHost: addeddevelopers.openai.com,keepachangelog.com,semver.orgto the placeholder host allowlist so external documentation references inCHECKLIST.md,CONTRIBUTING.md, andCHANGELOG.mdpass validation.references/develop-app/tests.mdandreferences/manage-app/cli-and-sync.md: documented that integration tests must run against the isolated test instance (yarn twenty docker:start --test, port2021) instead of the dev instance, since the test harness installs and uninstalls the app on its target server.skills/manage-app/SKILL.md: added direct test-run routing so "run tests" requests load the tests reference and run full suites withTWENTY_API_URL=http://localhost:2021.scripts/validators/cross-doc-contracts.js: added a testing-guidance contract so validation fails if the port-2021 integration-test rule drifts out of the manage skill or references.references/develop-app/app-structure.md,skills/develop-app/SKILL.md,references/develop-app/logic.md,references/develop-app/front-components.md: made the one-export-per-file rule explicit — every helper, type, and client file exports exactly one thing, and multiple function exports in a single file are forbidden. The rule counts exports, not declarations: a local, non-exported type may live alongside the util, but an exported or reused type splits intosrc/types/<name>.tsseparate fromsrc/utils/<name>.util.ts.
Plugin Structure
.codex-plugin/plugin.jsonmanifest withinterfacemetadata (display name, descriptions, category, capabilities, branding, default prompts).package.jsondeclaring the workspace package and listing shipped files..mcp.jsondeclaring only the publictwenty-docsMCP server athttps://docs.twenty.com/mcp.assets/twenty-logo.pngandassets/twenty-logo.svgfor marketplace branding.
Skills (skills/)
create-app— scaffold a new Twenty app viacreate-twenty-app, with prompts for the Twenty instance URL and Docker vs existing-instance choice.develop-app— add or modify Twenty app entities (objects, fields, logic functions, roles, views, layouts, skills, agents, connection providers, front components); enforcesyarn twenty dev:addfor entity generation and one-shotyarn twenty dev --oncesync.manage-app— remotes, sync, build, deploy, logs, function execution, uninstall, and CI/CD for existing apps; requires explicit confirmation for production-affecting operations.publish-app— README/About copy, package metadata,defineApplicationmarketplace fields, logos, screenshots, npm/marketplace publication.use-twenty-mcp— workspace MCP connection, record retrieval, and readable Markdown output with linked record names.- Per-skill
agents/openai.yamlwithdisplay_name,short_description(≤64 chars), anddefault_promptthat mentions$<skill-name>.
References (references/)
concepts/how-apps-work.md— foundational SDK packages, remotes, sync lifecycle, front component rendering, app file structure, key concepts (linked from every skill).develop-app/app-structure.md,data-model.md,front-components.md,layout.md,standalone-pages.md,logic.md,workflows.md,tests.md— entity creation, file structure, validation checklist, full-page UI patterns, runtime verification.design/front-component-ui.md— visual design rules, Twenty UI defaults, design tokens, component selection.manage-app/cli-and-sync.md— CLI command semantics, sync modes, build, deploy, logs, CI/CD; explicit ban on watch mode (yarn twenty devwithout--once) for agent use.operations/command-execution.md— external command execution patterns.publish-app/prepare-for-app-store.md— npm/marketplace publication checklist.use-twenty-mcp/setup.md— workspace MCP URL normalization and OAuth setup.use-twenty-mcp/result-formatting.md— record link building, date formatting, readable Markdown contract.
Tooling
scripts/setup-mcp.sh— helper to register a user-local workspace MCP endpoint with Codex; normalizes workspace URLs (addshttps://,/mcpsuffix), derives sensible MCP server names, supports localhost and custom domains, integrates withcodex mcp addand OAuth.scripts/validate.js— single-file validation script enforcing version sync, no bundled workspace MCP, no secrets/non-placeholder URLs, canonical skill names, required SKILL.md +agents/openai.yamlshape, required reference files, cross-doc contracts (MCP formatting, front-component guidance, CLI guidance split, foundational concepts linkage), andsetup-mcp.shsyntax + URL-normalization correctness.