{"owner":"infiniflow","repo":"infinity","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md",".github/copilot-instructions.md"],"skills":{"AGENTS.md":"# Infinity Project Instructions for GitHub Copilot\n\nThis file provides context, build instructions, and coding standards for the Infinity project.\nIt is structured to follow GitHub Copilot's [customization guidelines](https://docs.github.com/en/copilot/concepts/prompting/response-customization).\n\n## 1. Project Overview\nInfinity is an AI-native database built for LLM applications, providing incredibly fast hybrid search of dense embedding, sparse embedding, tensor, and full-text.\n\n- **Core**: C++23 (requires Clang 20+)\n- **SDK**: Python 3.11+\n\n- **Architecture**: Single-binary.\n  - `src/parser`, `src/planner`, `src/executor`: Query pipeline.\n  - `src/storage`: Storage engine.\n  - `src/network`: Communication.\n\n## 2. Directory Structure\n- `src/`: Core database engine source code.\n  - `parser/`, `planner/`, `executor/`: Query processing pipeline.\n  - `storage/`: Storage engine (buffer manager, wal, etc.).\n  - `network/`: Server-client communication.\n- `python/`: Python SDK (`infinity_sdk`) and Python-based tests.\n- `test/`:\n  - `sql/`: SQL Logic Tests (`.slt` files) for functional verification.\n  - `data/`: Test datasets.\n- `benchmark/`: Performance benchmarking tools.\n- `cmake/`: CMake modules and dependency finders.\n- `scripts/`: CI/CD and build helper scripts.\n\n## 3. Build Instructions\nThe project uses **CMake** with **Ninja** generator and requires **Clang 20+**.\n\n### Core Engine (C++)\n- **Standard Build**:\n  ```bash\n  cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -S . -B cmake-build-debug\n  cmake --build cmake-build-debug --target infinity\n  ```\n- **Developer Shortcut** (if `ymake` is available):\n  - `ymake 1 d infinity`: Build infinity target in debug mode.\n\n### Python SDK\nUse `uv` for package management.\n```bash\n(cd python/infinity_sdk && uv build)\n```\n\n## 4. Testing Instructions\n\n### Unit Tests (C++)\n- **Build**: `ymake 1 d test_main` or `cmake --build cmake-build-debug --target test_main`\n- **Run**: `./cmake-build-debug/src/test_main`\n\n### Python SDK Tests\nLocated in `python/`. Use `uv` to manage the environment.\n\n1. **Setup Environment**:\n   ```bash\n   uv sync --python 3.11 --frozen --all-extras\n   source .venv/bin/activate\n   # uv pip install python/infinity_sdk # This is handled by uv sync if infinity_sdk is in workspace\n   ```\n\n2. **Run Tests**:\n   - **Pre-requisite**: Start Infinity server first!\n     ```bash\n     # Default configuration\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity > /dev/null 2>/dev/null &\n\n     # To enable debug/trace logging:\n     # 1. Create a config file (e.g., cp conf/infinity_conf.toml my_conf.toml)\n     # 2. Set `log_level = \"debug\"` or `\"trace\"` in the config file.\n     # 3. Start with -f:\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity -f my_conf.toml > /dev/null 2>/dev/null &\n     ```\n   - **Run Test**:\n     ```bash\n     uv run pytest python/test/cases/test_basic.py::TestInfinity::test_basic\n     ```\n   - **Note**: `local infinity` mode is deprecated.\n\n### Functional Tests (SQL)\n- SQL Logic Tests (`.slt`) are located in `test/sql`.\n- **Requirement**: Ensure `sqllogictest` binary is in your system `PATH`.\n\n## 5. Coding Standards & Guidelines\n- **C++ Standard**: C++23. Use modern features but ensure compatibility with Clang 20.\n- **C++ Formatting**: **MUST** use `clang-format-20` and follow `.clang-format` configuration.\n- **Dependencies**: Managed via `vcpkg` (integrated in CMake).\n- **Python**: **ALWAYS** use `uv` instead of `pip` for installing Python packages. **ALWAYS** use the python interpreter and pytest from the virtual environment created by `uv` at the project root (e.g. `uv run python`, `uv run pytest`), NOT the system ones.\n\n## 6. Shell Command Execution Guidelines\nWhen executing shell commands:\n- NEVER prefix commands with environment variable assignments such as \"PYTHONPATH=...\", \"ENV=...\", or \"FOO=bar cmd\".\n- If an environment variable is required, ask the user to configure it permanently (e.g., via pytest.ini, .env, or shell profile) instead of injecting it inline.\n- ONLY execute direct commands like \"pytest\", \"python -m pytest\", or \"uv run pytest\".\n- NEVER use chained commands with \"&&\", \";\", or \"|\".\n",".github/copilot-instructions.md":"Refer to [AGENTS.MD](../AGENTS.md) for all repo instructions.\n"},"files":{"AGENTS.md":"# Infinity Project Instructions for GitHub Copilot\n\nThis file provides context, build instructions, and coding standards for the Infinity project.\nIt is structured to follow GitHub Copilot's [customization guidelines](https://docs.github.com/en/copilot/concepts/prompting/response-customization).\n\n## 1. Project Overview\nInfinity is an AI-native database built for LLM applications, providing incredibly fast hybrid search of dense embedding, sparse embedding, tensor, and full-text.\n\n- **Core**: C++23 (requires Clang 20+)\n- **SDK**: Python 3.11+\n\n- **Architecture**: Single-binary.\n  - `src/parser`, `src/planner`, `src/executor`: Query pipeline.\n  - `src/storage`: Storage engine.\n  - `src/network`: Communication.\n\n## 2. Directory Structure\n- `src/`: Core database engine source code.\n  - `parser/`, `planner/`, `executor/`: Query processing pipeline.\n  - `storage/`: Storage engine (buffer manager, wal, etc.).\n  - `network/`: Server-client communication.\n- `python/`: Python SDK (`infinity_sdk`) and Python-based tests.\n- `test/`:\n  - `sql/`: SQL Logic Tests (`.slt` files) for functional verification.\n  - `data/`: Test datasets.\n- `benchmark/`: Performance benchmarking tools.\n- `cmake/`: CMake modules and dependency finders.\n- `scripts/`: CI/CD and build helper scripts.\n\n## 3. Build Instructions\nThe project uses **CMake** with **Ninja** generator and requires **Clang 20+**.\n\n### Core Engine (C++)\n- **Standard Build**:\n  ```bash\n  cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -S . -B cmake-build-debug\n  cmake --build cmake-build-debug --target infinity\n  ```\n- **Developer Shortcut** (if `ymake` is available):\n  - `ymake 1 d infinity`: Build infinity target in debug mode.\n\n### Python SDK\nUse `uv` for package management.\n```bash\n(cd python/infinity_sdk && uv build)\n```\n\n## 4. Testing Instructions\n\n### Unit Tests (C++)\n- **Build**: `ymake 1 d test_main` or `cmake --build cmake-build-debug --target test_main`\n- **Run**: `./cmake-build-debug/src/test_main`\n\n### Python SDK Tests\nLocated in `python/`. Use `uv` to manage the environment.\n\n1. **Setup Environment**:\n   ```bash\n   uv sync --python 3.11 --frozen --all-extras\n   source .venv/bin/activate\n   # uv pip install python/infinity_sdk # This is handled by uv sync if infinity_sdk is in workspace\n   ```\n\n2. **Run Tests**:\n   - **Pre-requisite**: Start Infinity server first!\n     ```bash\n     # Default configuration\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity > /dev/null 2>/dev/null &\n\n     # To enable debug/trace logging:\n     # 1. Create a config file (e.g., cp conf/infinity_conf.toml my_conf.toml)\n     # 2. Set `log_level = \"debug\"` or `\"trace\"` in the config file.\n     # 3. Start with -f:\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity -f my_conf.toml > /dev/null 2>/dev/null &\n     ```\n   - **Run Test**:\n     ```bash\n     uv run pytest python/test/cases/test_basic.py::TestInfinity::test_basic\n     ```\n   - **Note**: `local infinity` mode is deprecated.\n\n### Functional Tests (SQL)\n- SQL Logic Tests (`.slt`) are located in `test/sql`.\n- **Requirement**: Ensure `sqllogictest` binary is in your system `PATH`.\n\n## 5. Coding Standards & Guidelines\n- **C++ Standard**: C++23. Use modern features but ensure compatibility with Clang 20.\n- **C++ Formatting**: **MUST** use `clang-format-20` and follow `.clang-format` configuration.\n- **Dependencies**: Managed via `vcpkg` (integrated in CMake).\n- **Python**: **ALWAYS** use `uv` instead of `pip` for installing Python packages. **ALWAYS** use the python interpreter and pytest from the virtual environment created by `uv` at the project root (e.g. `uv run python`, `uv run pytest`), NOT the system ones.\n\n## 6. Shell Command Execution Guidelines\nWhen executing shell commands:\n- NEVER prefix commands with environment variable assignments such as \"PYTHONPATH=...\", \"ENV=...\", or \"FOO=bar cmd\".\n- If an environment variable is required, ask the user to configure it permanently (e.g., via pytest.ini, .env, or shell profile) instead of injecting it inline.\n- ONLY execute direct commands like \"pytest\", \"python -m pytest\", or \"uv run pytest\".\n- NEVER use chained commands with \"&&\", \";\", or \"|\".\n",".github/copilot-instructions.md":"Refer to [AGENTS.MD](../AGENTS.md) for all repo instructions.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Infinity Project Instructions for GitHub Copilot\n\nThis file provides context, build instructions, and coding standards for the Infinity project.\nIt is structured to follow GitHub Copilot's [customization guidelines](https://docs.github.com/en/copilot/concepts/prompting/response-customization).\n\n## 1. Project Overview\nInfinity is an AI-native database built for LLM applications, providing incredibly fast hybrid search of dense embedding, sparse embedding, tensor, and full-text.\n\n- **Core**: C++23 (requires Clang 20+)\n- **SDK**: Python 3.11+\n\n- **Architecture**: Single-binary.\n  - `src/parser`, `src/planner`, `src/executor`: Query pipeline.\n  - `src/storage`: Storage engine.\n  - `src/network`: Communication.\n\n## 2. Directory Structure\n- `src/`: Core database engine source code.\n  - `parser/`, `planner/`, `executor/`: Query processing pipeline.\n  - `storage/`: Storage engine (buffer manager, wal, etc.).\n  - `network/`: Server-client communication.\n- `python/`: Python SDK (`infinity_sdk`) and Python-based tests.\n- `test/`:\n  - `sql/`: SQL Logic Tests (`.slt` files) for functional verification.\n  - `data/`: Test datasets.\n- `benchmark/`: Performance benchmarking tools.\n- `cmake/`: CMake modules and dependency finders.\n- `scripts/`: CI/CD and build helper scripts.\n\n## 3. Build Instructions\nThe project uses **CMake** with **Ninja** generator and requires **Clang 20+**.\n\n### Core Engine (C++)\n- **Standard Build**:\n  ```bash\n  cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -S . -B cmake-build-debug\n  cmake --build cmake-build-debug --target infinity\n  ```\n- **Developer Shortcut** (if `ymake` is available):\n  - `ymake 1 d infinity`: Build infinity target in debug mode.\n\n### Python SDK\nUse `uv` for package management.\n```bash\n(cd python/infinity_sdk && uv build)\n```\n\n## 4. Testing Instructions\n\n### Unit Tests (C++)\n- **Build**: `ymake 1 d test_main` or `cmake --build cmake-build-debug --target test_main`\n- **Run**: `./cmake-build-debug/src/test_main`\n\n### Python SDK Tests\nLocated in `python/`. Use `uv` to manage the environment.\n\n1. **Setup Environment**:\n   ```bash\n   uv sync --python 3.11 --frozen --all-extras\n   source .venv/bin/activate\n   # uv pip install python/infinity_sdk # This is handled by uv sync if infinity_sdk is in workspace\n   ```\n\n2. **Run Tests**:\n   - **Pre-requisite**: Start Infinity server first!\n     ```bash\n     # Default configuration\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity > /dev/null 2>/dev/null &\n\n     # To enable debug/trace logging:\n     # 1. Create a config file (e.g., cp conf/infinity_conf.toml my_conf.toml)\n     # 2. Set `log_level = \"debug\"` or `\"trace\"` in the config file.\n     # 3. Start with -f:\n     # Note: The log of infinity is at /var/infinity/log/infinity.log\n     nohup ./cmake-build-debug/src/infinity -f my_conf.toml > /dev/null 2>/dev/null &\n     ```\n   - **Run Test**:\n     ```bash\n     uv run pytest python/test/cases/test_basic.py::TestInfinity::test_basic\n     ```\n   - **Note**: `local infinity` mode is deprecated.\n\n### Functional Tests (SQL)\n- SQL Logic Tests (`.slt`) are located in `test/sql`.\n- **Requirement**: Ensure `sqllogictest` binary is in your system `PATH`.\n\n## 5. Coding Standards & Guidelines\n- **C++ Standard**: C++23. Use modern features but ensure compatibility with Clang 20.\n- **C++ Formatting**: **MUST** use `clang-format-20` and follow `.clang-format` configuration.\n- **Dependencies**: Managed via `vcpkg` (integrated in CMake).\n- **Python**: **ALWAYS** use `uv` instead of `pip` for installing Python packages. **ALWAYS** use the python interpreter and pytest from the virtual environment created by `uv` at the project root (e.g. `uv run python`, `uv run pytest`), NOT the system ones.\n\n## 6. Shell Command Execution Guidelines\nWhen executing shell commands:\n- NEVER prefix commands with environment variable assignments such as \"PYTHONPATH=...\", \"ENV=...\", or \"FOO=bar cmd\".\n- If an environment variable is required, ask the user to configure it permanently (e.g., via pytest.ini, .env, or shell profile) instead of injecting it inline.\n- ONLY execute direct commands like \"pytest\", \"python -m pytest\", or \"uv run pytest\".\n- NEVER use chained commands with \"&&\", \";\", or \"|\".\n","category":"root","tokens":1065},{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","title":"copilot-instructions.md","content":"Refer to [AGENTS.MD](../AGENTS.md) for all repo instructions.\n","category":".github","tokens":16}]}