Sungen is a versatile utility package derived from sungen
that offers an extensive suite of tools and utilities designed for AI development, project management, and workflow automation. With a user-friendly command-line interface (CLI), Sungen streamlines the development process, automates repetitive tasks, and enhances productivity, making it an essential toolkit for AI projects and modern software architectures.
- Unified CLI Interface: A single command-line tool to manage diverse tasks across the development lifecycle.
- Workflow Automation: Supports automation using BPMN (Business Process Model and Notation), YAML workflows, and other standards.
- Code Generation & Optimization: Tools to generate code, manage software projects, and optimize workflows for large-scale systems.
- Integrated Development Support: Compatible with Docker, VS Code, PyCharm, and other popular development environments.
- Plugin Architecture: Extend functionality through a marketplace of plugins (e.g., Ansible, AI model management, deployment tools).
- Comprehensive AI Toolkit: Leverages LLMs (Large Language Models) for code generation, project planning, and solution architecture design.
To install the Sungen package, use pip
:
pip install sungen
For detailed guidance on configuring Aider for optimal AI coding, refer to the Configuring Aider for Optimal AI Coding chapter.
To get an overview of the available commands, use the help option:
sungen --help
The sungen
CLI provides several commands, each tailored for specific tasks:
init
: Initialize a new Sungen project, setting up configuration files and directories.cmd
: Create and manage subcommands within the Sungen ecosystem.api
: Interact with external APIs, including those for AI services.deploy
: Deploy applications, services, or workflows.fgn
: Handle foreign integrations and tasks that extend beyond the core functionalities.inhabitant
: Manage autonomous service components in a distributed architecture.issue
: Track and manage project issues or tasks.marketplace
: Browse, install, or manage plugins and extensions.optimize
: Optimize codebases, workflows, or configurations to improve performance and efficiency.pln
: Plan and manage tasks, milestones, and deliverables within a project.pr
: Manage pull requests for seamless collaboration.project
: Configure and manage project settings.proposal
: Generate or manage project proposals.repo
: Perform repository-related tasks, such as cloning, pushing, or tagging.support
: Access support commands for debugging or troubleshooting.ticket
: Manage tickets for support or issue tracking.
- Automate complex workflows using BPMN and YAML, integrating various plugins and external services.
- Streamline processes like continuous integration, deployment, and AI model lifecycle management.
- Leverage built-in support for Large Language Models (LLMs) to generate, optimize, and refactor code.
- Use
mdbook
and other plugins to generate entire books or documentation sets with AI assistance.
- Seamlessly integrates with popular tools such as Docker, VS Code, and PyCharm.
- Enables containerized development for consistent environments across the team.
We welcome contributions! To contribute, set up your development environment by following these steps:
-
SSH Configuration for Git
- Generate an SSH key and add it to your GitHub account.
- Configure SSH to load your keys automatically:
cat << EOF >> ~/.ssh/config Host * AddKeysToAgent yes IgnoreUnknown UseKeychain UseKeychain yes ForwardAgent yes EOF
-
Docker Installation
- Install Docker Desktop to facilitate containerized development.
- Linux users: Export your user ID and group ID:
cat << EOF >> ~/.bashrc export UID=$(id --user) export GID=$(id --group) EOF
-
IDE Installation
- Install VS Code with the Dev Containers extension, or install PyCharm for a more customized Python development experience.
You can set up your development environment using the following methods:
- GitHub Codespaces: Quickly start a Dev Container using GitHub Codespaces.
- Dev Container with Volume: Clone the repository into a container volume using VS Code.
- VS Code Local Development: Open the repository in VS Code and use the Dev Containers: Reopen in Container command.
- PyCharm Remote Development: Configure Docker Compose as a remote interpreter in PyCharm.
- Terminal: Use Docker Compose to manage and run development environments.
- Use
poe
to list and manage available tasks. - Use
poetry add {package}
to install dependencies. - Use
poetry update
to upgrade all dependencies to their latest versions.
Join the Sungen community to discuss features, share use cases, and get help:
- GitHub Issues: Report bugs or request new features.
- Discussions: Participate in discussions or start a new topic.
This project is licensed under the MIT License. See the LICENSE file for more details.
We appreciate the contributions and support from the open-source community. Special thanks to all contributors and maintainers.
- Expanded Features and Capabilities: More detail on each feature and its impact on productivity, automation, and project management.
- CLI Command Descriptions: Improved descriptions of the CLI commands to better convey their functionality.
- Development Environment Setup: Clearer guidance on setting up a development environment, with more options and details.
- Community and Support: Added information about where to find help and how to contribute to the project.
This updated README provides a comprehensive overview of what sungen
offers, making it more accessible to new users and contributors.