This guide will help you set up your workstation and manage documentation for ARender, Fast2, FlowerDocs, and Uxopian AI.
- Workstation Setup
- Understanding the Branch Structure
- Common Workflows
- Testing in Staging
- Deploying to Production
- Tips and Tricks
You'll need the following tools installed on your workstation:
- Git Bash - For version control operations
- VSCode - Code editor for making changes
- Node.js (version 20 or higher) - Required for building the documentation site
- GitHub Access - Google Single Sign-On (SSO) for authentication
Download and install Git Bash from git-scm.com
Download and install Node.js 20+ from nodejs.org
Verify installation:
node --version # Should show v20.x.x or higher
npm --versionDownload and install from code.visualstudio.com
Open Git Bash and clone the repository:
git clone https://github.com/uxopian/uxodocs.git
cd uxodocsnpm ciTo be able to push changes to GitHub, you need to create a Personal Access Token.
Steps to create your token:
- Go to https://github.com/settings/tokens
- Click "Generate new token" → "Generate new token (classic)"
- Give it a descriptive name:
UxoDocs Workstation - Set expiration: Choose 90 days or No expiration (depending on your preference)
- Select scopes: Check
repo(this gives full control of private repositories) - Click "Generate token" at the bottom
- IMPORTANT: Copy the token immediately! You won't be able to see it again
Save your token somewhere safe (like a password manager) in case you need it later.
Start the local development server:
npm startYour browser should open at http://localhost:3000 with the documentation site.
The first time you push changes to GitHub, Git will ask for authentication:
git push origin your-branch-nameYou'll see prompts like:
Username for 'https://github.com': your-github-username
Password for 'https://your-github-username@github.com':
Important:
- For Username: Enter your GitHub username
- For Password: Paste your Personal Access Token (NOT your GitHub password!)
After this first authentication, Git will automatically remember your credentials using Windows Credential Manager, so you won't need to enter them again for future pushes.
The project uses a specific branching strategy:
| Branch Type | Pattern | Purpose | Deployed to Site? |
|---|---|---|---|
| Production | master |
Production environment | Yes (manual trigger) |
| Staging | staging |
Current versions, staging environment | Yes (auto) |
| Working Branch | dev-<product>-vX.Y.Z |
Work in progress | No |
| Version Branch | <product>-vX.Y.Z |
Archived/old versions | Yes (auto) |
Versions follow the pattern vX.Y.Z:
- X = Year of major version release (e.g., 2024, 2025)
- Y = Minor version increment (e.g., 0, 1, 2)
- Z = Fix/patch version increment (e.g., 0, 1, 2)
Examples: v2024.1.0, v2024.2.1, v2025.0.0
Master (Production)
│
Staging (Current Versions)
│
├── dev-fast2-v2024.2.0 (Working)
│ └── fast2-v2024.1.0 (Old Version)
│ └── fast2-v2024.1.1 (Newer Old Version)
│
└── dev-arender-v2024.3.0 (Working)
└── arender-v2024.2.0 (Old Version)
Staging (staging.doc.uxopian.com):
- Builds from
staging+ all non-dev branches - Auto-deploys when changes are pushed
Production (doc.uxopian.com):
- Builds from
master+ all non-dev non-staging branches - Manual deployment trigger required
Use this workflow when updating the current version of a product's documentation.
-
Create working branch from staging
git checkout staging git pull origin staging git checkout -b dev-fast2-v2024.2.0
-
Make your changes
- Edit files in
docs/fast2/(or your product's folder) - Test locally with
npm start - Commit your changes:
git add . git commit -m "Update Fast2 documentation for feature X"
- Edit files in
-
Push to GitHub
git push origin dev-fast2-v2024.2.0
-
Test in staging
git checkout staging git merge dev-fast2-v2024.2.0 git push origin staging
Check your changes at
staging.doc.uxopian.com -
If changes look good, prepare for production
- Before the next release, you'll archive the current version (see "Creating New Current Version")
Use this workflow when fixing documentation for an already released version.
-
Create working branch from the old version branch
git fetch origin git checkout -b dev-fast2-v2024.1.0 origin/fast2-v2024.1.0
-
Make your changes
- Edit files in
docs/fast2/ - Test locally with
npm start - Commit your changes:
git add . git commit -m "Fix typo in Fast2 v2024.1.0 installation guide"
- Edit files in
-
Push working branch to GitHub
git push origin dev-fast2-v2024.1.0
-
Rename branch to make it visible in staging
In GitHub web interface:
- Go to the repository
- Click on "branches"
- Find
dev-fast2-v2024.1.0 - Click the pencil icon to rename
- Remove
dev-prefix:fast2-v2024.1.0
-
Validate in staging
Visit
staging.doc.uxopian.comand verify your changes -
Deploy to production or rollback
If OK: Manually trigger the production workflow
If NOT OK:
- Rename back to
dev-fast2-v2024.1.0in GitHub - Make additional fixes
- Repeat from step 3
- Rename back to
Use this workflow when releasing a new version of a product (e.g., going from v2024.1.0 to v2024.2.0).
-
Create working branch for new version
git checkout staging git pull origin staging git checkout -b dev-fast2-v2024.2.0
-
Make your changes for the new version
- Update documentation in
docs/fast2/ - Add new features, update screenshots, etc.
- Test locally with
npm start - Commit your changes:
git add . git commit -m "Add Fast2 v2024.2.0 documentation"
- Update documentation in
-
Push to GitHub
git push origin dev-fast2-v2024.2.0
-
Archive the previous current version
Before merging your new version to staging, create an archive branch for the old current version:
git checkout staging git pull origin staging git checkout -b fast2-v2024.1.0 git push origin fast2-v2024.1.0
This creates a permanent snapshot of v2024.1.0 that will appear on the documentation site.
-
Merge new version to staging
git checkout staging git merge dev-fast2-v2024.2.0 git push origin staging
-
Validate in staging
Visit
staging.doc.uxopian.comand verify:- New current version (v2024.2.0) appears correctly
- Old version (v2024.1.0) is still accessible in the version selector
-
Deploy to production when ready
See "Deploying to Production" section below
Use this workflow when creating a fix/patch version from an existing old version (e.g., v2024.1.0 → v2024.1.1).
-
Create working branch from existing old version
git fetch origin git checkout -b dev-fast2-v2024.1.1 origin/fast2-v2024.1.0
-
Make your changes
- Fix issues, update content
- Test locally with
npm start - Commit your changes:
git add . git commit -m "Fix security documentation for Fast2 v2024.1.1"
-
Push to GitHub
git push origin dev-fast2-v2024.1.1
-
Rename branch to make it a version branch
In GitHub web interface:
- Go to the repository
- Click on "branches"
- Find
dev-fast2-v2024.1.1 - Click the pencil icon
- Rename to
fast2-v2024.1.1(removedev-prefix)
-
Validate in staging
Visit
staging.doc.uxopian.comand check:- v2024.1.1 appears in the version selector
- Changes are correct
-
Deploy to production or rollback
If OK: Manually trigger the production workflow
If NOT OK:
- Rename back to
dev-fast2-v2024.1.1 - Fix issues
- Repeat from step 3
- Rename back to
The staging environment automatically builds and deploys when:
- Changes are pushed to
staging - Changes are pushed to any non-dev branch (version branches)
Visit: staging.doc.uxopian.com
- Current versions from
staging - All version branches (anything matching
<product>-vX.Y.Z) - Common pages and site structure from
staging
- Working branches (anything starting with
dev-) - The
masterbranch
Before deploying to production, verify in staging:
- All links work correctly
- Images display properly
- Version selector shows correct versions
- Navigation menus are correct
- Search functionality works
- Code examples are properly formatted
- Release notes are up to date
Production deployment is a manual process to ensure quality control.
Before deploying to production:
- All changes must be validated in staging
- If you updated current versions, merge
stagingintomaster
If you made changes to current versions or site structure:
git checkout master
git pull origin master
git merge staging
git push origin masterSkip this step if you only updated old version branches.
- Go to the GitHub repository
- Click on "Actions" tab
- Find the production deployment workflow
- Click "Run workflow"
- Select
masterbranch - Click "Run workflow" button
- Watch the workflow execution in the Actions tab
- Check for any errors
- Wait for completion (usually a few minutes)
Visit: doc.uxopian.com
Verify:
- Changes appear correctly
- All versions are accessible
- No broken links or errors
- Version selector works
Start development server:
npm startBuild the site locally:
npm run buildClear cache if build fails:
npm run clearSee all branches:
git branch -aSwitch between branches:
git checkout <branch-name>Update your local branch with remote changes:
git pull origin <branch-name>Delete a local branch:
git branch -d <branch-name>Via GitHub Web Interface:
- Go to repository → Branches
- Find the branch to rename
- Click the pencil icon next to the branch name
- Enter new name
- Click "Rename branch"
Via Git Command Line:
# Rename local branch
git branch -m old-name new-name
# Delete old branch on remote
git push origin :old-name
# Push new branch to remote
git push origin new-name
# Reset upstream
git push origin -u new-name| I want to... | What to do |
|---|---|
| Update current docs | Create dev-<product>-vX.Y.Z from develop, merge back to develop |
| Fix old version | Create dev-<product>-vX.Y.Z from <product>-vX.Y.Z, rename to remove dev- |
| Release new version | Create version branch from current develop, merge new work to develop |
| Test before production | Check staging.doc.uxopian.com |
| Deploy to production | Merge develop to master, manually trigger workflow |
If you encounter issues:
- Check the staging environment first
- Clear your local cache:
npm run clear - Pull latest changes:
git pull origin staging - Ask the team in your communication channel
- Contact the original developer for technical issues
Happy documenting! 📚