Fusion Help Documentation
Use this skill to help app teams author, structure, and publish help documentation (articles, release notes, FAQs) to the Fusion Help system using the
CLI.
When to use
- User wants to write a help article for their Fusion app
- User wants to create or update release notes
- User wants to set up the docs folder structure and config file for their app
- User needs help structuring markdown content for the help system
- User wants to publish/sync documentation to a Fusion environment
- User asks about FAQs or how to add FAQ entries
- User wants to set up a CI/CD pipeline to auto-publish help docs
When not to use
- Modifying the source code itself (that lives in )
- Changing the Fusion.Services.Help backend API
- General markdown editing unrelated to Fusion Help
- Non-documentation tasks
Required inputs
Before creating documentation, collect:
| Input | Required | Description |
|---|
| App key | Yes | The Fusion app key (e.g. , resource-allocation-landingpage
). User must be admin for this app. |
| Content type | Yes | , , or |
| Docs root path | Yes | Where the team stores their docs (e.g. ) |
| Target environment | For publish | , , , or |
If the user doesn't know their app key, point them to:
- CI:
https://fusion.ci.fusion-dev.net/apps/app-admin
- Production:
https://fusion.equinor.com/apps/app-admin
Open the app and look for the "Admins" section — you must be listed as admin to publish articles.
Instructions
1. Set up docs folder structure
Create the standard directory layout in the team's repository:
docs/
help/
articles/ # Markdown article files
images/ # Article images (PNG format)
release-notes/ # Markdown release note files
images/ # Release note images (PNG format)
faqs/ # Optional: markdown FAQ body overrides
help-articles.json # Article config
help-release-notes.json # Release notes config (if using release notes)
The actual folder names and config file names are flexible — they just need to match what you pass to
. The above is a recommended convention.
2. Create the article config file
The config file tells the CLI which articles to sync and their metadata. Create
:
jsonc
{
"articles": [
{
"slug": "my-app-getting-started", // Must match the .md filename (without extension)
"title": "Getting Started", // Display title in Fusion Help
"appKey": "my-app", // Your Fusion app key
"sortOrder": 1.0, // Controls display order (lower = first)
"summary": "Learn how to get started.", // Short description shown in article list
"tags": ["getting-started", "onboarding"],// Searchable tags
"relevantApps": [] // Optional: other app keys where this shows
}
]
}
Config field reference
| Field | Required | Type | Description |
|---|
| Yes | string | Unique identifier. Must match a file in the articles root folder. Use kebab-case. |
| Yes | string | Human-readable title displayed in Fusion Help. |
| Yes | string | Fusion app key this article belongs to. You must be admin for this app. |
| No | number | Controls display order. Lower numbers appear first. Default varies. Use decimals (1.0, 1.1, 2.0) for flexible ordering. |
| Yes | string | Short description shown in article listings. |
| No | string[] | Searchable tags for categorization. |
| No | string[] | Additional app keys where this article should appear. |
3. Write article content
Create markdown files in the articles root folder. The filename (without
) must match the
in the config.
Article writing guidelines:
- Write in clear, concise language aimed at end-users of the Fusion app
- Use headings (, ) to structure content — avoid as the title comes from config
- Use images to illustrate UI workflows — place them in the subfolder
- Image references in markdown use standard syntax:

- The CLI automatically uploads images and rewrites paths to the Fusion CDN
- Images must be PNG format — this is a current CLI limitation
- Keep articles focused on a single topic or workflow
- Link to related articles by mentioning their title (deep linking is handled by the platform)
Example article (
docs/help/articles/my-app-getting-started.md
):
markdown
## Overview
This guide walks you through the basics of using My App.
## Prerequisites
Before you begin, make sure you have:
- Access to the Fusion portal
- The correct role assigned to your user
## Step 1: Navigate to the app
Open Fusion and search for "My App" in the app launcher.

## Step 2: Create your first item
Click the **New** button in the toolbar to create your first item.
## Need help?
Contact the team on Teams or check the FAQ section.
4. Create the release notes config file (optional)
If the team publishes release notes, create
:
jsonc
{
"releaseNotes": [
{
"slug": "my-app-v2-release", // Must match the .md filename
"title": "Version 2.0 Release", // Display title
"appKey": "my-app", // Your Fusion app key
"publishedDate": "2026-03-14T00:00:00Z", // Publication date (ISO 8601)
"tags": ["release", "v2"], // Searchable tags
"relevantApps": [] // Optional: other app keys
}
]
}
Release notes config field reference
| Field | Required | Type | Description |
|---|
| Yes | string | Unique identifier. Must match a file in the release notes root folder. |
| Yes | string | Release note title. |
| Yes | string | Fusion app key. You must be admin. |
| Yes | ISO 8601 date | When the release was published. |
| No | string[] | Searchable tags. |
| No | string[] | Additional app keys. |
Example release note (
docs/help/release-notes/my-app-v2-release.md
):
markdown
## What's new in Version 2.0
### New dashboard
We've completely redesigned the dashboard with new charts and filtering capabilities.

### Performance improvements
- Page load times reduced by 40%
- Search results now appear in under 1 second
### Bug fixes
- Fixed an issue where filters would reset on navigation
- Corrected date formatting in the export feature
5. Install and authenticate the CLI
Install from the Fusion Public feed:
powershell
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.Cli
Update an existing installation:
powershell
dotnet tool uninstall --global Fusion.Help.Cli
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.Cli
Authenticate via Azure CLI:
The CLI uses
— it will pick up your
session automatically.
6. Publish documentation
Sync articles:
powershell
fhelp article sync -f docs/help/help-articles.json -r docs/help/articles -e ci -v
Sync release notes:
powershell
fhelp releasenotes sync -f docs/help/help-release-notes.json -r docs/help/release-notes -e ci -v
Command flags:
| Flag | Description |
|---|
| , | Path to the JSON config file |
| , | Path to the folder containing markdown files |
| , | Target environment: , , , |
| , | Override the access token (optional) |
| , | Show detailed logging output |
| Skip source system check — use with caution, can overwrite UI-created content |
Environment promotion order: →
→
(skip
unless testing infrastructure).
Always test in
first before promoting to
and then
.
7. Set up CI/CD pipeline (recommended)
Automate documentation publishing in your Azure DevOps pipeline or GitHub Actions workflow.
Azure DevOps pipeline example:
yaml
parameters:
- name: environment
type: string
default: ci
values: [ci, fqa, fprd]
- name: azureSubscription
type: string
steps:
- checkout: self
- script: |
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.Cli
displayName: "Install fusion help CLI"
- task: AzureCLI@2
displayName: "Sync help articles"
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
fhelp article sync `
-f ./docs/help/help-articles.json `
-r ./docs/help/articles `
-e "${{ parameters.environment }}" `
-v
- task: AzureCLI@2
displayName: "Sync release notes"
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
fhelp releasenotes sync `
-f ./docs/help/help-release-notes.json `
-r ./docs/help/release-notes `
-e "${{ parameters.environment }}" `
-v
GitHub Actions example:
yaml
name: Sync Help Documentation
on:
push:
branches: [main]
paths: ['docs/help/**']
jobs:
sync-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Install fusion help CLI
run: |
dotnet tool install --global \
--add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" \
Fusion.Help.Cli
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: '3aa4a235-b6e2-48d5-9195-7fcf05b459b0'
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Sync articles
run: |
fhelp article sync \
-f ./docs/help/help-articles.json \
-r ./docs/help/articles \
-e ci -v
8. FAQs (supplementary)
FAQs use an Excel-based workflow and require app-level access. This is a temporary solution best suited for scenarios where FAQs span multiple apps.
powershell
fhelp faq sync -f docs/help/faqs.xlsx -e ci -v
For most teams, managing FAQs through the Fusion Help Admin UI at
https://fusion.equinor.com/apps/fusion-help-admin
is simpler.
Expected output
When this skill completes, the user should have:
- A folder structure with articles root, images folder, and config file(s)
- One or more markdown article files with proper content
- A valid (and optionally )
- Knowledge of how to install, authenticate, and run to publish
- Optionally, a CI/CD pipeline snippet for automated publishing
Troubleshooting
| Problem | Cause | Solution |
|---|
DefaultAzureCredential failed to retrieve a token
| Not authenticated | Run |
| Not an admin for the app key | Check admin list at the app admin page, or verify the in your config |
| Article not created (skipped) | No matching file in root folder | Ensure filename matches slug exactly: |
| Source system mismatch warning | Article was created via UI, CLI won't overwrite | Use carefully, or use a different slug |
| Images not uploading | Wrong format | Images must be PNG format |
Safety & constraints
- Never use without understanding the consequences — it can overwrite content that was manually created through the Fusion Help Admin UI
- Always test in before publishing to (production)
- The is automatically set to — articles created by the CLI and articles created via the UI have different source systems and won't conflict unless is used
- Slugs must be globally unique across all apps — use an app-specific prefix (e.g. )
- Do not commit access tokens to source control — rely on or pipeline service principals