Skip to content

Conversation

@Iamsdt
Copy link
Collaborator

@Iamsdt Iamsdt commented Oct 13, 2025

This pull request introduces a major rebranding and restructuring of the project from "Pyagenity" to "AgentFlow CLI", along with the addition of new CLI command implementations. The changes affect documentation, packaging, configuration, and introduce new code for CLI commands. The most important changes are grouped below:

Project Rebranding and Documentation Updates

  • The project name is changed throughout from "Pyagenity" to "AgentFlow CLI", including in the README.md, installation instructions, CLI usage examples, configuration file names, and directory structure references. [1] [2] [3] [4] [5] [6] [7] [8]

Packaging and Manifest Updates

  • The packaging manifest (MANIFEST.in) is updated to include and recursively reference agentflow_cli files instead of pyagenity_api, and the main config file is renamed to agentflow.json.
  • The Makefile and test coverage targets are updated to reference agentflow-cli instead of pyagenity. [1] [2]

New CLI Command Implementations

  • Adds a new BaseCommand class in agentflow_cli/cli/commands/__init__.py to provide a consistent interface and error handling for CLI commands.
  • Implements the APICommand in agentflow_cli/cli/commands/api.py to start the API server, with configuration loading, environment setup, and robust error handling.
  • Implements the BuildCommand in agentflow_cli/cli/commands/build.py to generate Dockerfiles and optional docker-compose.yml files, including requirements file discovery, validation, and user guidance.

Configuration and Versioning

  • Adds a package version and docstring to agentflow_cli/cli/__init__.py.

Miscellaneous

  • Adds documentation about "thinking blocks" not converted to reasoning blocks in Task.md.

These changes collectively modernize, clarify, and extend the CLI tooling and documentation for the project under its new name.

…, including create, search, update, delete, and forget functionalities
- Added OutputFormatter class for structured output in the CLI.
- Included methods for printing banners, success, error, info, and warning messages.
- Introduced convenience functions for global access to output formatting.

feat: Create input validation utilities for the CLI

- Developed Validator class with static methods for validating ports, hosts, paths, and Python versions.
- Added validation for service names and configuration structures.
- Implemented environment file validation with basic format checks.

feat: Introduce custom exceptions for the Pyagenity CLI

- Created base exception class PyagenityCLIError and specific exceptions for configuration, validation, file operations, and server errors.
- Enhanced error handling across the CLI.

feat: Set up logging configuration for the Pyagenity CLI

- Added CLILoggerMixin for logging capabilities in CLI commands.
- Implemented get_logger and setup_cli_logging functions for consistent logging.

feat: Develop main entry point for the Pyagenity CLI

- Created main.py with Typer app for command-line interface.
- Integrated commands for API, version, initialization, and build functionalities.
- Added exception handling for consistent error reporting.

feat: Add default templates for CLI initialization

- Included JSON configuration template and default Python agent graph template.
- Developed Dockerfile and docker-compose.yml generation functions.

test: Implement tests for CLI architecture

- Created test_cli.py to validate imports and CLI structure.
- Ensured that CLI modules can be imported and commands are registered correctly.
- Updated CLI command imports for clarity and consistency.
- Enhanced Sentry initialization with better error handling and logging.
- Added tests for API command execution with environment file support.
- Implemented tests for core command functionalities, including error handling.
- Improved response handling in utility functions for better metadata management.
- Added Swagger response generation tests and ensured compatibility with Snowflake ID generator.
- Removed outdated test script and consolidated testing structure.
- Added `app` import to `graph/__init__.py` for better module accessibility.
- Updated import paths in `graph/react.py` to streamline dependencies.
- Removed unnecessary future annotations from several CLI command files.
- Enhanced error handling in `BaseCommand` class.
- Adjusted default host in `constants.py` for better local development.
- Improved output formatting in `output.py`.
- Refined validation logic in `validation.py` for better clarity.
- Cleaned up exception handling in `exceptions.py`.
- Removed unused imports and organized imports in various files.
- Deleted `quick_test.py` as it was redundant.
- Added comprehensive API tests back into `quick_test.py`.
- Updated test cases in `test_checkpointer_service.py` for consistency and clarity.
- Created README.md for store module unit tests, detailing test coverage and organization.
- Implemented unit tests for store schemas, including validation and edge cases.
- Developed unit tests for StoreService methods, covering memory storage, retrieval, updating, deletion, and forgetting memories.
- Added fixtures for mocking store and user data in tests.
- Ensured 100% test coverage for both service methods and schema validations.
…n, and Snowflake ID generation

- Implemented output schemas for error handling and success responses using Pydantic.
- Created user authentication schema for handling user data.
- Developed Snowflake ID generator with configuration options and environment variable support.
- Added Swagger helper functions to generate standardized API responses.
- Established tests for CLI commands, including API command execution and initialization with production settings.
- Enhanced test coverage for response helpers and utility functions.
…o 'agentflow.json' across documentation and codebase
@Iamsdt Iamsdt merged commit c883b56 into main Oct 13, 2025
1 check failed
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.

2 participants