forge-recovery dd95752a12
KofTwentyTwo/ci-policy: ci / fork-guard (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-0 (push) Skipped
KofTwentyTwo/ci-policy: ci / gradle-1 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-2 (push) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-3 (push) Skipped
KofTwentyTwo/ci-policy: ci / manifests-4 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-6 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-7 (push) Skipped
KofTwentyTwo/ci-policy: ci / rust-8 (push) Skipped
KofTwentyTwo/ci-policy: ci / source-config-9 (push) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (push) Skipped
KofTwentyTwo/ci-policy: native / fork-deny (push) Skipped
KofTwentyTwo/ci-policy: native / dotnet-0 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-1 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-2 (push) Skipped
KofTwentyTwo/ci-policy: native / swift-3 (push) Skipped
KofTwentyTwo/ci-policy: native / native-result (push) Successful in 15s
KofTwentyTwo/ci-policy: Shared Node CI / secrets (push) Successful in 37s
KofTwentyTwo/ci-policy: Shared Node CI / verify (push) Successful in 2m57s
KofTwentyTwo/ci-policy: Shared Node CI / gate (push) Successful in 30s
KofTwentyTwo/ci-policy: ci / node-5 (push) Successful in 3m37s
KofTwentyTwo/ci-policy: ci / ci-result (push) Successful in 10s
Merge pull request 'fix(ci): add eslint, build fixes and tests for central CI' (#3) from ci/central-ci-repair-20261101 into develop
2026-11-01 19:56:05 +00:00
2025-12-17 12:47:29 -06:00

Forma

Publish Markdown documentation to Confluence. Keep your docs in Git, publish to Confluence automatically.

Features

  • Directory structure becomes Confluence page hierarchy
  • Multi-root mapping: publish multiple directories to different Confluence parents
  • Idempotent updates via content properties (not title-based)
  • Local lint command catches issues before publish
  • GitHub Action for CI/CD integration
  • Relative link conversion between pages
  • Attachment upload (images, PDFs)
  • Mermaid diagram support (auto-detects macro availability)

Installation

npm install -g forma-cli

Usage

# Lint locally (no API calls)
forma lint

# Preview changes
forma plan

# Publish to Confluence
forma publish

Configuration

Create .confluence-publish.yml in your repo root:

version: 1

confluence:
  baseUrl: "https://YOURDOMAIN.atlassian.net/wiki"
  spaceKey: "DOCS"

mappings:
  - localRoot: "docs/architecture"
    parentPageTitle: "Architecture"
  - localRoot: "docs/guides"
    parentPageTitle: "Guides"

publish:
  include: ["**/*.md"]
  exclude: ["**/node_modules/**", "**/.git/**"]

GitHub Action

- uses: kof22/forma@v1
  env:
    CONFLUENCE_EMAIL: ${{ secrets.CONFLUENCE_EMAIL }}
    CONFLUENCE_API_TOKEN: ${{ secrets.CONFLUENCE_API_TOKEN }}

Project Structure

packages/
  publisher/    # Core library
  cli/          # CLI (forma command)
action/         # GitHub Action

License

MIT

S
Description
Forma - Structure your docs. Publish with confidence. Automate documentation publishing.
Readme AGPL-3.0
241 KiB
0 Stars 2 Watchers 0 Forks
Languages
TypeScript 96.2%
JavaScript 3.8%