Skip to content

Publish the Upshift user docs on Mintlify - #6

Merged
hamza-lem merged 18 commits into
upshift-mainfrom
feat/upshift-docs
Oct 8, 2026
Merged

hamza-lem merged 18 commits into
upshift-mainfrom
feat/upshift-docs

Conversation

@hamza-lem

Copy link
Copy Markdown
Collaborator

What

Builds the Upshift user documentation for https://docs.upshiftcloud.com from Twenty's own docs, without touching packages/twenty-docs.

  • upshift/docs/rules.mjs says what is published and how it is rebranded.
  • upshift/docs/import-docs.mjs writes the Mintlify site to upshift/docs/site/, which Mintlify deploys.
  • French is the default language at the root, English is under /en/. Only the Getting Started and User Guide tabs are published: no Developers or UI library pages, and none of Twenty's billing, legal, cloud migration or partner pages.
  • "Twenty" becomes "Upshift" outside code samples, Twenty addresses point to Upshift or example values, and partner and GitHub sentences point to contact@exceev.com.
  • Links to unpublished pages are unwrapped, cards pointing to them are removed, and French links fall back to the English page when Twenty has no translation.

Checks

  • node --test upshift/docs/test/*.test.mjs (31 tests)
  • node upshift/docs/import-docs.mjs --check fails when the site differs from what the import produces. The import itself fails when a rewritten sentence or an excluded section changes in Twenty's docs.
  • Mintlify validate and broken-links pass.
  • The Upshift Branding Check gets a docs job running both checks. The release workflow no longer builds the image for docs-only changes. This PR still runs it once, because it edits that workflow.

Preview

https://exceev-group.mintlify.app is built from this branch. After merge, Mintlify switches to upshift-main.

Follow-ups

  • Some pages still describe Twenty Cloud's trial, payment and credits (Quickstart, workflow credits, plan-gated permissions).
  • Screenshots and videos still show the Twenty UI.
  • docsUrl in brand.json still points to upshiftcloud.com/docs.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T21:51:56.565570Z c178925 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b8100898d6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread upshift/docs/rules.mjs
Comment thread upshift/docs/site/en/user-guide/ai/overview.mdx Outdated
@hamza-lem hamza-lem self-assigned this Oct 8, 2026
@hamza-lem hamza-lem added the enhancement New feature or request label Oct 8, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d022544b84

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread upshift/docs/rules.mjs
Comment thread upshift/docs/site/user-guide/workflows/capabilities/workflow-credits.mdx Outdated
@hamza-lem
hamza-lem merged commit d2c538b into upshift-main Oct 8, 2026
7 checks passed
@hamza-lem
hamza-lem deleted the feat/upshift-docs branch October 8, 2026 21:50

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c17892595e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread upshift/docs/rules.mjs
export const WEBSITE_URL = brand.websiteUrl;
export const PRIVACY_POLICY_URL = brand.privacyPolicyUrl;
export const TERMS_URL = brand.termsUrl;
export const DOCS_URL = 'https://docs.upshiftcloud.com';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Point branded application links at the published docs host

DOCS_URL publishes and canonicalizes this site at https://docs.upshiftcloud.com, but the branding layer still derives the application's DOCUMENTATION_BASE_URL from brand.docsUrl, currently https://upshiftcloud.com/docs. Consequently, in-app Documentation and help links do not directly target the site introduced here and instead depend on an external redirect that this change neither defines nor verifies; update the shared brand URL or derive this constant from it so both surfaces use the same host.

Useful? React with 👍 / 👎.

Comment thread upshift/docs/rules.mjs
[/app\.twenty\.com/g, new URL(WEBSITE_URL).host],
[/inbound\.twenty\.com/g, 'inbound.yourcompany.com'],
[/twenty\.yourcompany\.com/g, EXAMPLE_SERVER_HOST],
[/\b[\w-]+\.twenty\.com/g, EXAMPLE_SERVER_HOST],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the managed subdomain example during rebranding

When the settings documentation contains a hosted workspace such as yourcompany.twenty.com, this catch-all replacement turns it into crm.yourcompany.com, which is also the custom-domain example. The generated Domain Settings and FAQ pages therefore present both domain options with the same hostname, obscuring that one is an Upshift-managed subdomain while the other requires the customer's DNS; rewrite hosted workspace domains to the correct Upshift suffix separately from generic server examples.

Useful? React with 👍 / 👎.

Comment on lines +176 to +178
export const buildLocaleRedirects = (appLanguages, appDefaultLanguage) =>
appLanguages
.filter((code) => code !== appDefaultLanguage)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Redirect the application's default locale to English

The new redirect logic explicitly skips the application's default language (en), while getDocumentationUrl also omits /en/ for that locale and this site serves French at the root. Thus, after the application is pointed at the new site, every English in-app documentation URL resolves to the French page. This is fresh evidence beyond the earlier locale report: the added redirect implementation handles /fr/ and other prefixed locales but deliberately creates no mapping for the unprefixed English route.

Useful? React with 👍 / 👎.

This branch was successfully deployed

1 active deployment
staging - upshift/docs/site — c1789259 Deployed Oct 8, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant