mAIgic is an AI-powered assistant designed to enhance productivity and organization by tracking messages and important information across multiple platforms. It identifies and reminds users about follow-ups, ensuring timely responses and efficient information management. With intelligent search capabilities, mAIgic enables users to easily locate conversations and details tied to specific individuals or tasks.
The project supports popular platforms such as Slack, Trello, Gmail, and Google Chat, providing seamless follow-up tracking, reminders, and contextual search across these communication channels. This integration leverages AI to automate the reminder process, making it easier to stay on top of essential follow-ups and tasks.
- Unit testing with
pytest
- Static code analysis with
ruff
(linter) - Type checking with
mypy
- Continuous Integration (CI) pipeline with CircleCI, running both tests and static analysis automatically on every push.
git clone https://github.com/your-username/mAIgic.git
cd mAIgic
pip install -r requirements.txt
Alternatively, if using the uv
package manager:
uv sync
The above command will create a virtual environment .venv
and install all the dependencies from the uv.lock
file. Activate the environment by executing
source ./.venv/bin/activate
You can run unit tests using pytest
by running the following command:
pytest tests
Example Tests in tests/test_samples.py
:
- Basic arithmetic (addition, subtraction, multiplication, division)
- String operations (case-insensitive checks)
- List and dictionary operations
- Exception handling tests (checking for specific exceptions)
Use ruff
to run static analysis (linting) on your code:
ruff check .
To perform static type checking using mypy
, run:
mypy .
The project is integrated with CircleCI for continuous integration. Every push to the repository automatically triggers the following steps:
- Install dependencies: Installs
pytest
,ruff
, andmypy
. - Run tests: Executes all tests in the
tests/
folder usingpytest
. - Run static analysis: Runs
ruff
for linting andmypy
for type checking.
The latest CircleCI build can be viewed here.
- Missing Dependencies: If any dependency-related issues arise, ensure all dependencies are installed by running:
or
pip install -r requirements.txt
uv init
This project is licensed under the MIT License.
- Project Description: Provides an overview of what the project does.
- Features: Highlights the major tools and features used.
- Setup Instructions: Guides users on how to clone the repo, install dependencies, and initialize the project.
- Running Tests: Explains how to run unit tests, static analysis, and type checks.
- CircleCI Configuration: Outlines how CircleCI automates the process of testing and analysis, including the YAML configuration.
- Troubleshooting: Offers solutions for common errors like string comparison and missing dependencies.
- License: A placeholder for your project's license type.
- Siddharth Singh - [email protected]
- Adittya Mittal - [email protected]
- Anushka Tawte - [email protected]
- Rafael de Leon - [email protected]
- Alex Ying - [email protected]
- Mridul Mittal - [email protected]