Icod.Terminal
0.1.0-alpha.10
See the version list below for details.
dotnet add package Icod.Terminal --version 0.1.0-alpha.10
NuGet\Install-Package Icod.Terminal -Version 0.1.0-alpha.10
<PackageReference Include="Icod.Terminal" Version="0.1.0-alpha.10" />
<PackageVersion Include="Icod.Terminal" Version="0.1.0-alpha.10" />
<PackageReference Include="Icod.Terminal" />
paket add Icod.Terminal --version 0.1.0-alpha.10
#r "nuget: Icod.Terminal, 0.1.0-alpha.10"
#:package Icod.Terminal@0.1.0-alpha.10
#addin nuget:?package=Icod.Terminal&version=0.1.0-alpha.10&prerelease
#tool nuget:?package=Icod.Terminal&version=0.1.0-alpha.10&prerelease
Icod.Terminal
Icod.Terminal is the managed, cross-platform live-terminal layer for the Icod library family. It is intended to sit between Icod.TermInfo and higher-level consumers such as Icod.DCurses, terminal-aware command-line tools, monitors, editors, pagers, and REPLs.
Status
The project is under initial 0.1.0 development. T01 established the repository/package foundation, T02 froze the extraction boundary, T03 established low-level endpoint/native-mode parity, T04 added semantic input policy, T05 established the reversible TerminalSession lifecycle, T06 bound sessions to explicit Icod.TermInfo terminal identities and capability-safe output, T07 added live dimensions and lifecycle re-entry, T08 added incremental UTF-8/TermInfo key decoding and unified event reads, and T09 now provides capability-driven reversible presentation leases with nested ownership and lifecycle re-entry.
The first functional milestone is driven by the terminal requirements of watch, slabtop, and top as they migrate into Icod.ProcPs.
Architecture
Icod.TermInfo
^
|
Icod.Terminal
^
|
Icod.DCurses
^
|
watch / slabtop / top
Icod.TermInfo remains the immutable terminal-capability authority. Icod.Terminal owns live endpoint observation, terminal modes, input, dimensions, lifecycle, terminal identity, output setup, and reversible presentation-state mechanisms. Icod.DCurses owns cells, windows, virtual-screen state, and refresh/diff policy. A future Icod.Pty package remains an adjacent concern rather than a prerequisite.
Target frameworks
The library targets:
net8.0;net10.0.
The codebase uses C# 13.
Build
On Windows:
build.cmd
On POSIX hosts:
sh build.sh
Both scripts support clean, restore, build, test, and pack. Running either script without an argument performs the complete sequence.
Development roadmap
See Icod.Terminal-Development-Roadmap.md for the architectural boundaries, 0.1.0 acceptance gates, and the path toward the stable 1.0.0 contract. The completed T02 extraction matrix is recorded in docs/T02-Extraction-Inventory-and-Contract-Classification.md, the T03 low-level contract is documented in docs/T03-Endpoint-Observation-and-Native-Mode-Parity.md, the T04 semantic mode contract is documented in docs/T04-Semantic-Input-Mode-Policy.md, the T05 session ownership contract is documented in docs/T05-TerminalSession-Lifecycle-and-Ownership.md, the T06 identity/output contract is documented in docs/T06-Terminal-Identity-TermInfo-and-Output-Setup.md, the T07 lifecycle contract is documented in docs/T07-Live-Dimensions-and-Lifecycle-Events.md, and the T08 input contract is documented in docs/T08-Input-Byte-Stream-and-Key-Event-Decoder.md.
The T09 presentation-lease contract is documented in docs/T09-Reversible-Terminal-Presentation-Leases.md.
License
Icod.Terminal is licensed under the GNU Lesser General Public License v3.0 or later. See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Icod.TermInfo (>= 1.0.0)
-
net8.0
- Icod.TermInfo (>= 1.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Icod.Terminal:
| Package | Downloads |
|---|---|
|
Icod.DCurses
Managed, cross-platform curses-like terminal UI library for .NET, built on Icod.TermInfo and Icod.Terminal. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0 | 2,413 | 8/29/2026 |
| 0.3.0-alpha.8 | 60 | 8/28/2026 |
| 0.2.0 | 52 | 8/28/2026 |
| 0.2.0-alpha.6 | 80 | 8/27/2026 |
| 0.1.0 | 52 | 8/27/2026 |
| 0.1.0-alpha.13 | 46 | 8/27/2026 |
| 0.1.0-alpha.11 | 1,749 | 8/25/2026 |
| 0.1.0-alpha.10 | 67 | 8/25/2026 |
| 0.1.0-alpha.9 | 54 | 8/25/2026 |
0.1.0-alpha.10 adds ordered asynchronous lifecycle participants so higher terminal layers can prepare before suspend and re-enter after Terminal restores its owned state.