Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
8d086da
adding website with docusaurus
blindzero Jan 25, 2026
720a728
reset website + enhance project .gitignore
blindzero Jan 27, 2026
3c10c27
first draft website + .gitignore enhancement on node etc.
blindzero Jan 27, 2026
0b7f41d
update website README
blindzero Jan 27, 2026
6158962
removing links in footer
blindzero Jan 27, 2026
399fe76
detailing cached changes
blindzero Jan 27, 2026
a2c0624
fixing escapes for MDX compiling
blindzero Jan 27, 2026
aa44931
remove links completely from footer
blindzero Jan 27, 2026
0d7b319
docs: adding capabilities reference file
ntt-matthias-fleschuetz Jan 28, 2026
dd5e80e
docs: added provider-capabilities about md
ntt-matthias-fleschuetz Jan 28, 2026
8633284
docs: splitting plan-export about and reference
ntt-matthias-fleschuetz Jan 28, 2026
753463e
temp move to docs_legacy
ntt-matthias-fleschuetz Jan 28, 2026
28cfca2
docs: adding chapter intro.md files
ntt-matthias-fleschuetz Jan 28, 2026
a21b316
docs: configure sidebar to new structure
ntt-matthias-fleschuetz Jan 28, 2026
28143a6
docs: adjust logo to new path and navbar to new structure
ntt-matthias-fleschuetz Jan 28, 2026
3a5903b
docs: add sentence on intro of extend IdLE
ntt-matthias-fleschuetz Jan 28, 2026
59fc863
docs: updated about intro
ntt-matthias-fleschuetz Jan 28, 2026
b17ff80
docs: update docs index.md
ntt-matthias-fleschuetz Jan 28, 2026
9aa03c9
docs: sorted all MDs to new structure
ntt-matthias-fleschuetz Jan 28, 2026
4a2376e
docs: dissolve to-sort temp folder
ntt-matthias-fleschuetz Jan 28, 2026
e844b46
docs: add all pages to sidebars.js
ntt-matthias-fleschuetz Jan 28, 2026
5809e67
add docs-audit-result to .gitignore
ntt-matthias-fleschuetz Jan 28, 2026
794c532
rename DocsAudit.ps1 to match Verb-Noun schema
ntt-matthias-fleschuetz Jan 28, 2026
5c36cbe
fixed relative links in docs
ntt-matthias-fleschuetz Jan 28, 2026
4912fc5
apply editorconfig settings to Test-DocsConsistency.ps1
ntt-matthias-fleschuetz Jan 28, 2026
1b80a5c
make docs generator MDX safe (escaping)
ntt-matthias-fleschuetz Jan 28, 2026
e94d1c3
docs: updated, MDX safe generated references
ntt-matthias-fleschuetz Jan 28, 2026
8e23449
put Test-DocsConsistency result file to artifacts
ntt-matthias-fleschuetz Jan 28, 2026
7187769
docs: MDX compat corrections
ntt-matthias-fleschuetz Jan 28, 2026
0a82e60
Test-DocsConsistency CI safe and using docusaurus excludes for orphan…
ntt-matthias-fleschuetz Jan 28, 2026
391ce16
adding index.md and develop to exclude for docusaurus
ntt-matthias-fleschuetz Jan 28, 2026
fa69043
improve docusaurus exclude check to work with ** wildcards
ntt-matthias-fleschuetz Jan 28, 2026
b69392b
fix MDX compat issues with escaping
ntt-matthias-fleschuetz Jan 28, 2026
6a0d4fa
include test-docsconsistency into testing.md
ntt-matthias-fleschuetz Jan 28, 2026
f375b5c
prettyfy output
ntt-matthias-fleschuetz Jan 28, 2026
b94cc64
adding idle features to homepage
ntt-matthias-fleschuetz Jan 28, 2026
1acd1ae
website: sync assets
ntt-matthias-fleschuetz Jan 28, 2026
a871ca5
adding reference to website
ntt-matthias-fleschuetz Jan 28, 2026
7ecb18e
adjust sidebar order
ntt-matthias-fleschuetz Jan 28, 2026
c055976
first homepage design
ntt-matthias-fleschuetz Jan 28, 2026
f238390
fix links and update texts of standard repo docu files
ntt-matthias-fleschuetz Jan 28, 2026
0107171
rework quick start content
ntt-matthias-fleschuetz Jan 28, 2026
057b8dd
fix PSSA issues
ntt-matthias-fleschuetz Jan 28, 2026
936dd3b
adding gh pages deployment pipeline
ntt-matthias-fleschuetz Jan 28, 2026
d27c460
adding favicon.ico
ntt-matthias-fleschuetz Jan 28, 2026
543421a
improved content distribution between concepts and intro
ntt-matthias-fleschuetz Jan 28, 2026
f47c347
added favicon path
ntt-matthias-fleschuetz Jan 28, 2026
8f7a2fb
added short text intro to homepage
ntt-matthias-fleschuetz Jan 28, 2026
c553de0
ignore website on ci workflow
ntt-matthias-fleschuetz Jan 28, 2026
d9063e4
homepage styling
ntt-matthias-fleschuetz Jan 28, 2026
3e7720f
sidebar item order fixed
ntt-matthias-fleschuetz Jan 28, 2026
cc21f0e
fixing document orders
ntt-matthias-fleschuetz Jan 28, 2026
558fe82
fixing document orders
ntt-matthias-fleschuetz Jan 28, 2026
f489a5c
Merge branch 'website' of https://github.com/blindzero/IdentityLifecy…
ntt-matthias-fleschuetz Jan 28, 2026
00835f7
Merge branch 'main' into website
ntt-matthias-fleschuetz Jan 28, 2026
361528d
docs: update docs reference
ntt-matthias-fleschuetz Jan 28, 2026
e441683
orphanfail off for pages pipeline
ntt-matthias-fleschuetz Jan 28, 2026
dfb9d9f
orphanfail off for pages pipeline
ntt-matthias-fleschuetz Jan 28, 2026
e7314e2
Merge branch 'website' of https://github.com/blindzero/IdentityLifecy…
ntt-matthias-fleschuetz Jan 28, 2026
16546e2
Merge branch 'website' of https://github.com/blindzero/IdentityLifecy…
ntt-matthias-fleschuetz Jan 28, 2026
8584f61
Merge branch 'website' of https://github.com/blindzero/IdentityLifecy…
ntt-matthias-fleschuetz Jan 28, 2026
a977ffe
fix wrong docs redirect now to about/intro
ntt-matthias-fleschuetz Jan 28, 2026
348b4da
fixed links
ntt-matthias-fleschuetz Jan 28, 2026
29a94bb
fix wrong class from Svg to Img
ntt-matthias-fleschuetz Jan 28, 2026
2285588
typo fix
ntt-matthias-fleschuetz Jan 28, 2026
2404c3a
fix for CI compatibility for test docs
ntt-matthias-fleschuetz Jan 28, 2026
9b9f330
Initial plan
Copilot Jan 28, 2026
3c7dd74
Fix plan-export.md example to use correct New-IdlePlan syntax
Copilot Jan 28, 2026
41fc854
only warn with BrokenLinks
ntt-matthias-fleschuetz Jan 28, 2026
b72181a
Merge branch 'website' into copilot/sub-pr-121-again
blindzero Jan 28, 2026
75c55c8
fix broken and dead links - remove testing
ntt-matthias-fleschuetz Jan 28, 2026
f279ec4
Merge branch 'website' into copilot/sub-pr-121-again
blindzero Jan 28, 2026
ddba648
Merge pull request #123 from blindzero/copilot/sub-pr-121-again
blindzero Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@ name: CI

on:
pull_request:
paths-ignore:
- 'website/**'
push:
branches: [ main ]
paths-ignore:
- 'website/**'

concurrency:
group: ci-${{ github.ref }}
Expand Down
97 changes: 97 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Website (Docs) - Build & Deploy

on:
pull_request:
paths:
- "docs/**"
- "website/**"
- "tools/**"
- ".github/workflows/pages.yml"
push:
branches: [ "main" ]
paths:
- "docs/**"
- "website/**"
- "tools/**"
- ".github/workflows/pages.yml"
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages-${{ github.ref }}
cancel-in-progress: true

jobs:
docs-consistency:
name: Docs consistency audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Run docs consistency audit
shell: pwsh
run: >
pwsh -NoProfile -File ./tools/Test-DocsConsistency.ps1
-DocsPath ./docs
-WebsitePath ./website
-FailOnOrphans:$false

- name: Upload docs audit artifact
if: always()
uses: actions/upload-artifact@v6
with:
name: docs-audit
if-no-files-found: warn
path: |
artifacts/docs-audit.json

build:
name: Build Docusaurus site
runs-on: ubuntu-latest
needs: [ docs-consistency ]

steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: "website/package-lock.json"

- name: Install dependencies
working-directory: website
run: npm ci

- name: Sync docs assets
working-directory: website
run: npm run sync-assets

- name: Build site
working-directory: website
run: npm run build

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: website/build

deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
needs: [ build ]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ coverage.*
test-results.*
*.lcov
testresults.xml
docs-audit.json

# Packages
*.7z
Expand Down
5 changes: 2 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,8 @@ Keep docs short and linkable:

Key links:

- Docs map: `docs/00-index.md`
- Architecture: `docs/advanced/architecture.md`
- Examples: `docs/02-examples.md`
- Architecture: `docs/about/architecture.md`
- Examples: `examples/README.md`
- Coding & in-code documentation rules: `STYLEGUIDE.md`

---
Expand Down
21 changes: 8 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ IdLE aims to be:
- **configuration-driven** (workflows as data)
- **extensible** (add custom steps and providers)

For a complete overview of concepts and architecture, see **[Overview: Concept](docs/overview/concept.md)**.
For a complete overview of concepts and architecture, see **[About > Concepts](docs/about/concepts.md)**.

---

Expand All @@ -57,7 +57,7 @@ Install-Module -Name IdLE -Scope CurrentUser
Import-Module IdLE
```

For detailed installation instructions, requirements, and import options, see **[Installation Guide](docs/getting-started/installation.md)**.
For detailed installation instructions, requirements, and import options, see **[Installation Guide](docs/use/installation.md)**.

---

Expand All @@ -80,23 +80,18 @@ By default, the demo runs **Mock workflows** that work out-of-the-box without ex
The execution result buffers all emitted events in `result.Events`. Hosts can optionally stream events live
by providing `-EventSink` as an object implementing `WriteEvent(event)`.

Next steps:

- Documentation entry point: `docs/index.md`
- Workflow samples: `examples/workflows/` (organized by category: mock, live, templates)
- Repository demo: `examples/Invoke-IdleDemo.ps1`
- Pester tests: `tests/`

---

## Documentation

The documentation is also available at our project site: [https://blindzero.github.io/IdentityLifecycleEngine](https://blindzero.github.io/IdentityLifecycleEngine)

Start here:

- `docs/index.md`documentation map
- `docs/getting-started/quickstart.md`plan → execute walkthrough
- `docs/advanced/architecture.md`architecture and principles
- `docs/usage/workflows.md` – workflow schema and validation
- [docs/index.md](docs/index.md)Documentation map
- [docs/about/intro.md](docs/about/intro.md)About IdLE
- [docs/use/intro.md](docs/use/intro.md)How to use IdLE
Comment thread
blindzero marked this conversation as resolved.
- [docs/reference/intro.md](docs/reference/intro.md) - The authoritative IdLE reference
Comment thread
blindzero marked this conversation as resolved.

---

Expand Down
21 changes: 0 additions & 21 deletions docs/_config.yml

This file was deleted.

6 changes: 0 additions & 6 deletions docs/_navbar.md

This file was deleted.

52 changes: 0 additions & 52 deletions docs/_sidebar.md

This file was deleted.

15 changes: 10 additions & 5 deletions docs/advanced/architecture.md → docs/about/architecture.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Architecture
sidebar_labels: Architecture
---

# Architecture

This page summarizes the core architecture decisions for IdLE.
Expand Down Expand Up @@ -41,7 +46,7 @@ advertise which capabilities they support. The engine matches both sides
and fails fast if required functionality is missing.

For details on the capability-based provider model and the validation flow,
see [Provider Capabilities](provider-capabilities.md).
see [Provider Capabilities](../reference/capabilities.md).

### Execute

Expand All @@ -57,7 +62,7 @@ This enables previews, approvals, and repeatable audits.
Hosts may persist or exchange a plan as a **machine-readable JSON artifact**.
The canonical contract format is defined here:

- [Plan export specification (JSON)](../specs/plan-export.md)
- [Plan export specification (JSON)](../reference/specs/plan-export.md)

The exported artifact is intended for **approvals, CI checks, and audits**.
To keep exports deterministic and review-friendly, the contract intentionally omits volatile information
Expand All @@ -82,7 +87,7 @@ IdLE emits **structured events** during execution.

Hosts may optionally provide an external sink to stream events live:

- `Invoke-IdlePlan -EventSink <object>`
- `Invoke-IdlePlan -EventSink &lt;object&gt;`
- The sink must implement `WriteEvent(event)`
- ScriptBlock sinks are rejected (secure default)

Expand All @@ -97,7 +102,7 @@ No deep merge: replace-at-path semantics only.
- Steps implement behaviors
- Providers integrate target systems

See: [Extensibility](extensibility.md).
See: [Extensibility](../extend/extensibility.md).

## Trust boundaries

Expand Down Expand Up @@ -152,7 +157,7 @@ The following are **not contracts** and may change in minor/patch versions:
**Plan export contract** (JSON):
- Format: JSON from `Export-IdlePlan`
- Schema and semantics are stable
- See [Plan export specification](../specs/plan-export.md)
- See [Plan export specification](../reference/specs/plan-export.md)

### Capability ID Baseline (v1.0)

Expand Down
73 changes: 73 additions & 0 deletions docs/about/concepts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Concepts
sidebar_label: Concepts
---

# IdLE Concepts

## Request

A **LifecycleRequest** represents the business intent (for example: Joiner, Mover, Leaver).
It is the input to planning.

## Plan

A **LifecyclePlan** is created deterministically from:

- request
- workflow definition
- step catalog / step registry

The plan is previewable and auditable.

## Execute

Execution runs **only the plan** (no re-planning). This supports:

- approvals
- repeatability
- deterministic audits

---

## Building Blocks

### Steps

**Steps** are reusable plugins that define convergence logic. They:

- Operate idempotently (converge towards desired state)
- Are provider-agnostic (use contracts, not direct system calls)
- Emit structured events for audit and progress

Learn more: [Steps](../use/steps.md) | [Step Catalog](../reference/steps.md)

### Providers

**Providers** are system-specific adapters that connect workflows to external systems. They:

- Authenticate and manage sessions
- Translate generic operations to system APIs
- Are mockable for tests

Learn more: [Providers](../use/providers.md) | [Providers and Contracts](../extend/providers.md)

---

## Non-goals (V1)

IdLE.Core stays headless and avoids responsibilities that belong to a host application:

- no UI framework
- no interactive prompts
- no authentication flows inside steps
- no dynamic code execution from configuration

---

## Next Steps

- [Installation](../use/installation.md) — Install and import guide
- [Quickstart](../use/quickstart.md) — Run the demo
- [Architecture](../about/architecture.md) — Design principles and decisions
- [Workflows](../use/workflows.md) — Define lifecycle workflows
Loading
Loading