Wiki Documentation Compiler for Wiki.js
ObjWiki scans the Axion codebase and compiles all .md documentation
files from factory modules and resource.notes/ into a structured
resource.wiki/ directory ready for serving with Wiki.js.
.md filesfactory.* directories and resource.notes/index.md for each factory sectionhome.md listing all documentationbuildCompile all documentation into the output directory:
python factory.deploy/ObjWiki.py build
python factory.deploy/ObjWiki.py build --output resource.wiki
cleanRemove all compiled wiki content:
python factory.deploy/ObjWiki.py clean
updateRebuild wiki content and trigger a Wiki.js storage sync:
python factory.deploy/ObjWiki.py update
Reads terraform.wikijs.port and terraform.wikijs.api_token from
config.yaml. If no API token is configured, the rebuild still runs
and Wiki.js will pick up changes on its next configured sync interval.
install-hookInstall a git post-commit hook so the wiki rebuilds automatically on
every commit:
python factory.deploy/ObjWiki.py install-hook
Appends to .git/hooks/post-commit without overwriting existing hooks.
The rebuild runs in the background so commits are not delayed.
uninstall-hookRemove the ObjWiki entry from the post-commit hook:
python factory.deploy/ObjWiki.py uninstall-hook
statusShow documentation source statistics per factory:
python factory.deploy/ObjWiki.py status
Start Wiki.js using the provided script (also runs build automatically):
./resource.bin/start_wikijs.sh
After the container starts, complete the one-time setup at
http://localhost:3000:
/wiki/contentAdd to config.yaml under the terraform section:
terraform:
wikijs:
port: 3000
api_token: "" # Wiki.js API key (Administration → API Access)
Setting api_token enables immediate sync when ObjWiki.py update
runs. Without it, Wiki.js picks up changes on its configured storage
sync interval (set in Administration → Storage).
After running install-hook, every git commit triggers a background
rebuild. No further action is needed — the hook appends to any existing
.git/hooks/post-commit without breaking other hooks (e.g. git-lfs).
resource.wiki/
├── home.md # Platform documentation home
├── factory-core/
│ ├── index.md # Section index with all links
│ ├── ObjData.md
│ ├── ObjWorkflow.md
│ └── ...
├── factory-deploy/
│ ├── index.md
│ ├── ObjCompile.md
│ ├── ObjDocker.md
│ └── ...
├── factory-service/
│ ├── index.md
│ ├── package-core/
│ └── ...
├── resource-notes/
│ ├── index.md
│ ├── howto/
│ └── policies/
└── ...
Directory names use hyphens instead of dots for URL compatibility
(e.g., factory.core → factory-core).
| Directory | Contents |
|---|---|
factory.core |
Core shared components |
factory.service |
Business service implementations |
factory.deploy |
Deployment and infrastructure |
factory.report |
Report generation |
factory.web |
Web server components |
factory.conversation |
Chat and messaging |
factory.ai |
AI/ML integrations |
factory.field |
Form field definitions |
factory.export |
Data export formats |
factory.import |
Data import handlers |
factory.text |
Text processing utilities |
factory.sms |
SMS integration |
factory.pages |
Page templates |
factory.workflow |
Workflow definitions |
resource.notes |
How-to guides and policies |