Skip to content

Commit

Permalink
Updated
Browse files Browse the repository at this point in the history
  • Loading branch information
kiplangatkorir committed Oct 25, 2024
1 parent 388add3 commit 90f5923
Showing 1 changed file with 114 additions and 0 deletions.
114 changes: 114 additions & 0 deletions docs/guides/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
```markdown
# Getting Started with GraphFusion Core

Welcome to the GraphFusion Core repository! This guide will help you set up your development environment, understand the repository structure, and run basic tests to ensure everything is working as expected.

## Table of Contents

1. [Repository Overview](#repository-overview)
2. [Prerequisites](#prerequisites)
3. [Setting Up Your Environment](#setting-up-your-environment)
4. [Running the Code](#running-the-code)
5. [Testing and Linting](#testing-and-linting)
6. [Contributing](#contributing)

---

### Repository Overview

The GraphFusion Core repository consists of key components such as:
- **Graph Management**: Core graph representation and optimization.
- **Neural Memory System**: Efficient memory management, persistence, and confidence scoring.
- **Distributed Processing**: Support for multi-agent memory sharing.
- **Utilities and Helpers**: Logging, metrics, and utility functions for smooth development and debugging.

For a more in-depth look at the structure, please refer to the `architecture.md` file in the `docs/internal/` folder.

### Prerequisites

To run GraphFusion, you will need the following tools:
- **Python 3.9 or higher**
- **Poetry**: For dependency management and virtual environment setup.
- **Git**: To clone and manage code versions.

### Setting Up Your Environment

1. **Clone the Repository**:
```bash
git clone [email protected]:graphfusion/graphfusion-core.git
cd graphfusion-core
```

2. **Install Dependencies**:
GraphFusion uses Poetry to manage dependencies. Run the following commands to install Poetry and set up your environment:
```bash
# Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install
```

3. **Activate the Environment**:
Once dependencies are installed, activate the virtual environment:
```bash
poetry shell
```

### Running the Code

To get a feel for GraphFusion’s functionalities, you can run the example scripts provided in the `examples/` directory.

1. **Basic Usage**:
```bash
python examples/basic_usage.py
```
This script demonstrates basic graph and memory operations within the core GraphFusion framework.

2. **Advanced Features**:
```bash
python examples/advanced_features.py
```
Explore advanced functionalities like memory consolidation, confidence scoring, and data processing.

3. **Benchmarking**:
For testing performance, run:
```bash
python examples/benchmarks.py
```

### Testing and Linting

GraphFusion uses `pytest` for testing and `flake8` for linting to ensure code quality.

1. **Run Tests**:
```bash
poetry run pytest
```
This command will execute all unit, integration, and performance tests located in the `tests/` directory.

2. **Run Linting**:
```bash
poetry run flake8 src
```
This will check for style issues across the codebase. You can also use `black` to format your code automatically:
```bash
poetry run black src
```

### Contributing

We welcome contributions to GraphFusion! Please follow these steps to contribute:
1. **Fork the Repository** and create a new branch for your feature or fix:
```bash
git checkout -b feature/new-feature
```
2. **Make Your Changes** and ensure all tests pass.
3. **Submit a Pull Request** following the template in `.github/pull_request_template.md`.

For more detailed guidelines, refer to `CONTRIBUTING.md`.

---

That's it! You're ready to start exploring and contributing to GraphFusion Core. If you have any questions, please reach out via our [GitHub Discussions](https://github.com/graphfusion/graphfusion-core/discussions).
```

0 comments on commit 90f5923

Please sign in to comment.