Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a925db4
adding styleguide and contributing
blindzero Dec 28, 2025
9c48bf7
added architecture docs
blindzero Dec 28, 2025
b56c676
optimized CONTRIBUTING and STYLEGUIDE
blindzero Dec 28, 2025
f9dd294
adding github templates
blindzero Dec 28, 2025
85c5e9e
referencing to CONTRIBUTING file in README
blindzero Dec 28, 2025
8cdae96
changing scenarios to lifecycleevent
blindzero Dec 28, 2025
017ad4d
core: add module skeleton for IdLE and IdLE.Core
blindzero Dec 28, 2025
6a25dd3
added editorconfig
blindzero Dec 28, 2025
3f0c13e
implement New-IdleLifecycleRequest + Core Factory to keep domain in C…
blindzero Dec 28, 2025
67cbe42
adding no scriptblock assertion and renaming RequestCore to New...Req…
blindzero Dec 28, 2025
e5728f1
fix scenario / lifecycleevent renaming left overs
blindzero Dec 28, 2025
8c74a0a
typecheck tweak in assertion on custom objects
blindzero Dec 28, 2025
7a21f8e
added inline comment on shallow clone
blindzero Dec 28, 2025
21f0a3c
adding providers parameter
blindzero Dec 28, 2025
c6407cb
added testing on detailed error throw outputs
blindzero Dec 28, 2025
1c35307
core: add test-idleworkflow + test schema + test object
blindzero Dec 28, 2025
ad6eb67
core: implement New-IdlePlan and add tests
blindzero Dec 28, 2025
7f371e7
core: implement Invoke-IdlePlan skeleton with events
blindzero Dec 28, 2025
c99eea6
core: add step registry and execute steps via handlers (scriptblock/f…
blindzero Dec 28, 2025
e6db2a4
core: evaluate declarative When conditions and support skipped steps
blindzero Dec 28, 2025
8236210
core: move StepStarted after StepSkipped to avoid clutter
blindzero Dec 28, 2025
1233812
core: validate workflow steps (Name/Type/When/With) and enforce data-…
blindzero Dec 28, 2025
69c93a2
added examples
blindzero Dec 28, 2025
0731753
updated docs
blindzero Dec 28, 2025
bb6bb90
remove Steps.Common from auto-import; manual option
blindzero Dec 28, 2025
ee31f26
beautified run-demo output
blindzero Dec 28, 2025
463dd67
added generic manifest tests / surface tests
blindzero Dec 28, 2025
f0b471a
renaming docs
blindzero Dec 28, 2025
296ce43
adding docs INDEX.md file
blindzero Dec 28, 2025
fe29eaa
fix file links / shorten doku to index
blindzero Dec 28, 2025
ff35a8f
docs: fix text link in code block
blindzero Dec 28, 2025
d724626
docs: simplified, indexing, renaming
blindzero Dec 28, 2025
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
42 changes: 42 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# IdLE .editorconfig
# Enforces formatting rules from STYLEGUIDE.md (PowerShell 7+, 4 spaces, UTF-8, LF)
# See: STYLEGUIDE.md / CONTRIBUTING.md

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true

# PowerShell source and data files
[*.{ps1,psm1,psd1}]
indent_style = space
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true

# Markdown: keep trailing whitespace (can be meaningful for line breaks)
[*.md]
trim_trailing_whitespace = false
indent_style = space
indent_size = 4

# JSON/YAML: keep common 2-space indentation (editor convenience; not in conflict with core rules)
[*.{json,yml,yaml}]
indent_style = space
indent_size = 2
tab_width = 2
trim_trailing_whitespace = true

# Shell scripts (if any)
[*.{sh,bash}]
end_of_line = lf
indent_style = space
indent_size = 2
tab_width = 2
trim_trailing_whitespace = true
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Report a bug in IdentityLifecycleEngine (IdLE)
title: "[Bug] "
labels: bug
assignees: ""
---

## Description

A clear and concise description of the bug.

## Steps to Reproduce

1.
2.
3.

## Expected Behavior

What you expected to happen.

## Actual Behavior

What actually happened.

## Environment

- PowerShell version:
- OS:
- IdLE version / commit:
- Execution context (CLI / Service / CI):

## Additional Context

Add any other context, logs, or screenshots here.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Feature request
about: Suggest an enhancement or new feature for IdLE
title: "[Feature] "
labels: enhancement
assignees: ""
---

## Problem Statement

Describe the problem this feature would solve.

## Proposed Solution

Describe what you would like to see implemented.

## Alternatives Considered

Describe any alternative solutions you have considered.

## Impact

- Does this affect existing workflows?
- Any backward compatibility concerns?

## Additional Context

Add any other context or examples here.
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Summary

Provide a short summary of the changes.

## Motivation

Why is this change needed? What problem does it solve?

## Changes

-
-
-

## Type of Change

Please select the relevant option:

- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
- [ ] Refactoring / internal improvement

## Testing

Describe how this change was tested.

- [ ] Unit tests
- [ ] Contract tests
- [ ] Manual testing

## Checklist

- [ ] Code follows STYLEGUIDE.md
- [ ] Tests added or updated
- [ ] Documentation updated
- [ ] No UI/auth logic added to IdLE.Core
- [ ] No breaking changes without discussion

## Related Issues

Link related issues here (if any).
154 changes: 154 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# Contributing to IdentityLifecycleEngine (IdLE)

Thank you for your interest in contributing to **IdentityLifecycleEngine (IdLE)**! 🎉
We welcome contributions that improve quality, stability, and maintainability.

This document follows common **GitHub open-source conventions** and explains **how to contribute**.
For detailed coding rules, see **STYLEGUIDE.md**.

---

## Code of Conduct

This project expects respectful and constructive collaboration.
(If a CODE_OF_CONDUCT.md is added, it applies to all contributors.)

---

## How Can I Contribute?

You can contribute by:

- Reporting bugs
- Suggesting enhancements
- Improving documentation
- Submitting pull requests

---

## Reporting Bugs

Please open a GitHub Issue and include:

- a clear and descriptive title
- steps to reproduce
- expected vs. actual behavior
- environment details (PowerShell version, OS)

---

## Suggesting Enhancements

Enhancement proposals should:

- explain the problem being solved
- explain why it fits IdLE’s architecture
- consider backward compatibility

---

## Development Setup

### Prerequisites

- PowerShell Core 7+
- Git
- Visual Studio Code (recommended)

### Recommended IDE & extensions (optional)

- Visual Studio Code
- Extensions:
- PowerShell
- EditorConfig
- Markdown All in One

### Clone the Repository

```bash
git clone https://github.com/blindzero/IdentityLifecycleEngine.git
```

---

## Development Workflow

### Branching Model

- `main` → stable
- feature branches:
- `feature/<short-description>`
- `fix/<short-description>`

---

### Commit Messages

- Use clear, concise English
- One logical change per commit

Recommended format:

```shell
<area>: <short description>
```

Example:

```shell
core: add strict workflow validation
```

---

### Pull Requests

1. Fork the repository (if external contributor)
2. Create a feature branch
3. Make your changes
4. Add or update tests
5. Update documentation if needed
6. Open a Pull Request against `main`

Pull Requests must:

- have a clear description of changes
- reference related issues (if applicable)
- pass all tests
- follow STYLEGUIDE.md

---

## Definition of Done

A contribution is complete when:

- all tests pass (`Invoke-Pester -Path ./tests`)
- no architecture rules are violated (see `docs/01-architecture.md`)
- public APIs are documented (comment-based help for exported functions)
- documentation is updated where required:
- README.md (only high-level overview + pointers)
- docs/ (usage/concepts/examples)
- provider/step module READMEs if behavior/auth changes

---

## Documentation

Keep docs short and linkable:

- README.md: landing page (what/why + 30s quickstart + links)
- docs/: architecture, usage, examples (small focused pages)
- examples/: runnable scripts and workflow samples

Key links:

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

---

Thank you for contributing 🚀
— *IdLE Maintainers*
Loading