Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE_REQUEST] <title>Suggestions for Monorepo #66

Open
gitworkflows opened this issue Sep 27, 2024 · 0 comments
Open

[FEATURE_REQUEST] <title>Suggestions for Monorepo #66

gitworkflows opened this issue Sep 27, 2024 · 0 comments

Comments

@gitworkflows
Copy link
Contributor

Is your feature request related to a problem? If so, please describe.

Since you're developing this as a monorepo, let's outline the project structure to maintainability, modularity, and scalability, especially for server-client architecture.

Describe the solution you'd like

Revised Monorepo Structure

gpt-computer-agent/
├── .github/ # GitHub workflows, issue templates, etc.
│ ├── workflows/
│ └── ISSUE_TEMPLATE/
├── build_scripts/ # Build scripts for different platforms
│ ├── macos_build.sh
│ ├── windows_build.sh
│ └── openai/
├── example_use_cases/ # Example use cases and demos
│ ├── workday_summerizer.md
├── client/ # New Client folder for UI, interactions, and local agent operations
│ ├── agent/
│ │ ├── init.py
│ │ ├── agent.py
│ │ ├── agent_tools.py
│ │ ├── assistant.py
│ │ ├── background.py
│ │ ├── chat_history.py
│ │ ├── process.py
│ ├── audio/ # Handling STT and TTS locally
│ │ ├── stt_providers/
│ │ │ ├── openai.py
│ │ │ ├── openai_whisper_local.py
│ │ ├── tts_providers/
│ │ │ ├── microsoft_local.py
│ │ │ ├── openai.py
│ │ ├── init.py
│ │ ├── record.py
│ │ ├── stt.py
│ │ ├── tts.py
│ │ └── wake_word.py
│ ├── gui/ # Graphical User Interface components
│ │ ├── init.py
│ │ ├── button.py
│ │ ├── llmsettings.py
│ │ ├── settings.py
│ │ ├── signal.py
│ ├── screen/ # Screen interaction, e.g., screenshots, clicks, etc.
│ │ ├── init.py
│ │ └── shot.py
│ ├── utils/ # General utilities for the client
│ │ ├── db.py
│ │ ├── function.py
│ │ ├── pypi.py
│ │ ├── telemetry.py
│ │ ├── train.py
│ │ └── init.py
├── server/ # New server folder for backend services
│ ├── init.py
│ ├── api.py # API endpoints to interact with the client
│ ├── task_manager.py # Manage background tasks and processes
│ ├── agentic.py # Central server-side agent logic
│ ├── llm.py # LLM infrastructure (e.g., Ollama integration)
│ ├── llm_settings.py
│ ├── remote.py # Handling remote operations
│ ├── telemetry.py # Server-side telemetry and monitoring
│ ├── db.py # Server-side database operations
│ └── tools/ # Server-side tools and extensions
│ ├── teams.py
│ ├── tooler.py
│ └── standard_tools.py
├── shared/ # Shared utilities between client and server
│ ├── display_tools.py
│ ├── character.py
│ ├── custom_callback.py
│ ├── top_bar_wrapper.py
│ └── init.py
├── assets/ # Media and other assets
│ ├── Audio.png
│ ├── Down.png
│ ├── Microphone.png
│ ├── SF-Pro-Text-Bold.otf
│ ├── Screenshot.png
│ ├── Up.png
│ ├── gca_logo.png
│ ├── icon.icns
│ ├── icon.ico
│ ├── icon_16.png
│ ├── icon_24.png
│ ├── icon_256.png
│ ├── icon_32.png
│ ├── icon_48.png
│ ├── icon_48_active.png
├── tests/ # Tests for the client and server
│ ├── client_tests.py
│ ├── server_tests.py
│ ├── integration_tests.py
│ ├── utils_tests.py
│ └── init.py
├── .deepsource.toml # Deepsource config for code quality
├── .gitignore
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE
├── MANIFEST.in
├── README.md # Main project readme
├── bump.py # Version bumping script
├── gca_setup_generator.py # Setup generator for building GCA agent
├── project.toml # Project configuration
├── refactor.py # Refactor-related utilities
├── requirements.in # Input requirements
├── requirements.txt # Python dependencies
├── run.py # Entry point for running the project
└── setup.py # Setup file for installation

Priority

Medium (Would be very useful)

Is this something you would be keen to implement

None

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants