Skip to content

Process execution and parsing for easy integration of cli tools#61

Merged
darthsharp merged 9 commits into
mainfrom
feature/processutils
Dec 4, 2025
Merged

Process execution and parsing for easy integration of cli tools#61
darthsharp merged 9 commits into
mainfrom
feature/processutils

Conversation

@darthsharp

Copy link
Copy Markdown
Contributor

No description provided.

Introduce a new `CreativeCoders.ProcessUtils` library to provide process handling and execution abstractions. Features include `IProcess` interface, `DefaultProcess` implementation, process factories, executors, and output parsers (e.g., JSON, strings). Update solution file to include the new project.
…sUtils library

- Introduced detailed C# coding standards and development practices, covering naming conventions, formatting, project structure, and more.
- Included new unit tests for `ProcessExecutor` in the `CreativeCoders.ProcessUtils` library to validate synchronous and asynchronous process execution, output parsing, and proper disposal.
- Updated test project references to include `CreativeCoders.ProcessUtils`.
- Add guidelines for using `AwesomeAssertions`, `xUnit`, and `FakeItEasy` in C# testing.
- Update solution file to include new organizational folders (`__ai`, `copilot`, `junie`) and related Markdown files.
- Added tests for `ProcessExecutor` covering synchronous and asynchronous behavior, including output parsing and process disposal.
- Updated C# testing guidelines to recommend the Arrange-Act-Assert pattern.
…itting, and passthrough output parsers

- Deleted unused `StringListOutputParser` implementation.
- Added `SplitLinesOutputParser` class for processing output into trimmed, split lines.
- Added thorough unit tests for `JsonOutputParser`, `SplitLinesOutputParser`, and `PassThroughProcessOutputParser`.
- Enhanced `ProcessExecutorBuilder` to automatically configure output parsing with improved exception handling.
- Applied [PublicAPI] annotations across `IProcess`, `IProcessExecutor`, and related interfaces for better IDE support.
- Updated C# testing guidelines to enforce the Arrange-Act-Assert pattern and added comments for clarity.
- Refactored `PassThroughProcessOutputParserTests`, `JsonOutputParserTests`, and `SplitLinesOutputParserTests` to adhere to the updated pattern.
- Added annotations and suppression attributes for better IDE integration and readability.
- Revised test inputs to improve consistency and maintainability.
…ocessUtils`

- Introduced the `ProcessUtilsSampleApp` project showcasing usage of `ProcessExecutor` and output parsers.
- Updated `CreativeCoders.ProcessUtils` library with `AddProcessUtils` DI extensions for streamlined service registration.
- Included the new sample application and references in the solution file.
…oders.ProcessUtils`

- Added comprehensive unit tests for `ProcessExecutor`, including synchronous and asynchronous methods, output parsing, exit code validation, and process disposal.
- Introduced `ProcessExecutionResult` for encapsulating processes and results with proper disposal.
- Refactored existing implementations to improve code readability and align with testing best practices.
- Applied minor formatting updates across classes and sample projects for consistency.
…ssUtils` tests

- Added comprehensive tests for `AddProcessUtils` to verify DI registrations, lifetimes, idempotency, and TryAdd semantics.
- Refactored and updated namespaces for `ProcessUtils` tests to improve organizational structure and align with the project's conventions.
@darthsharp darthsharp merged commit 047ea5f into main Dec 4, 2025
6 checks passed
@darthsharp darthsharp deleted the feature/processutils branch December 4, 2025 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant