|Adr-Plus Fields|Values Migrated |
|–|–|
|ADR|Auto-initialization on first access|
|Version|01|
|Revision|01|
|Scope||
|Domain||
|Created|Proposed (2026-07-24)|
|Changed|Accepted (2026-07-24)|
|Superseded||

# PromptPlus
## **ADR0003V01R01**
[](https://www.nuget.org/packages/PromptPlus)
[](https://opensource.org/licenses/MIT)
[](https://dotnet.microsoft.com/)
↑ ADR Index
ADR0003V01R01 — Auto-initialization on first access
Context
A console UI library must know terminal capabilities before rendering, but
forcing users to call an explicit Init() is error-prone and easy to forget.
Decision
Initialize automatically the first time any of the four entry points is
accessed. The sequence is:
- Detect terminal capabilities (color support, Unicode, window size).
- Look for
PromptPlus.config in the working directory and load it if present.
- Register an error-log hook that writes unhandled exceptions to
%LocalAppData%/PromptPlus/PromptPlus.error.log.
No initialization method is exposed or required.
Consequences
- Positive: zero-setup usage; capabilities are always resolved before the
first render.
- Negative / trade-off: first-access cost is hidden; the error-log path is a
fixed convention (not the working directory) that must be documented so users
know where to look.