924ec49796
A unified virtual filesystem for AI agents. Mount S3, Google Drive, Slack, Gmail, GitHub, Linear, Notion, Postgres, MongoDB, SSH, and more behind one filesystem so agents read, write, and pipe across services with familiar shell commands. Ships Python (mirage-ai) and TypeScript (@struktoai/mirage-*) SDKs, a CLI, FUSE mounts, and adapters for OpenAI Agents SDK, Vercel AI SDK, LangChain deepagents, Pydantic AI, CAMEL, OpenHands, Mastra, Pi Coding Agent, plus FUSE-based integration with Claude Code and Codex. Apache 2.0 licensed.
125 lines
3.3 KiB
YAML
125 lines
3.3 KiB
YAML
ci:
|
|
# https://pre-commit.ci/#configuration
|
|
autofix_prs: true
|
|
autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
|
|
autoupdate_schedule: monthly
|
|
|
|
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v6.0.0
|
|
hooks:
|
|
- id: no-commit-to-branch
|
|
name: No commits to master
|
|
- id: end-of-file-fixer
|
|
name: End-of-file fixer
|
|
exclude: ^typescript/
|
|
- name: mixed-line-ending
|
|
id: mixed-line-ending
|
|
args: [--fix, lf]
|
|
exclude: ^typescript/
|
|
- id: trailing-whitespace
|
|
name: Remove trailing whitespaces
|
|
exclude: ^typescript/
|
|
- id: check-toml
|
|
name: Check toml
|
|
- id: check-yaml
|
|
name: Check yaml
|
|
exclude: |
|
|
(?x)^(
|
|
conda/pytorch-geometric/meta.yaml|
|
|
conda/pyg/meta.yaml|
|
|
typescript/.*
|
|
)$
|
|
|
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
rev: v1.37.1
|
|
hooks:
|
|
- id: yamllint
|
|
name: Lint yaml
|
|
args: [-d, '{extends: default, rules: {line-length: disable, document-start: disable, truthy: {level: error}, braces: {max-spaces-inside: 1}}}']
|
|
exclude: ^typescript/
|
|
|
|
- repo: https://github.com/asottile/pyupgrade
|
|
rev: v3.21.0
|
|
hooks:
|
|
- id: pyupgrade
|
|
name: Upgrade Python syntax
|
|
args: [--py38-plus]
|
|
|
|
- repo: https://github.com/PyCQA/autoflake
|
|
rev: v2.3.1
|
|
hooks:
|
|
- id: autoflake
|
|
name: Remove unused imports and variables
|
|
args: [
|
|
--remove-all-unused-imports,
|
|
--remove-unused-variables,
|
|
--remove-duplicate-keys,
|
|
--ignore-init-module-imports,
|
|
--in-place,
|
|
]
|
|
|
|
- repo: https://github.com/google/yapf
|
|
rev: v0.43.0
|
|
hooks:
|
|
- id: yapf
|
|
name: Format code
|
|
additional_dependencies: [toml]
|
|
|
|
- repo: https://github.com/pycqa/isort
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: isort
|
|
name: Sort imports
|
|
|
|
- repo: https://github.com/PyCQA/flake8
|
|
rev: 7.3.0
|
|
hooks:
|
|
- id: flake8
|
|
name: Check PEP8
|
|
args: [--toml-config=python/pyproject.toml]
|
|
additional_dependencies: [Flake8-pyproject]
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.14.3
|
|
hooks:
|
|
- id: ruff
|
|
name: Ruff formatting
|
|
args: [--fix, --exit-non-zero-on-fix]
|
|
|
|
- repo: https://github.com/executablebooks/mdformat
|
|
rev: 0.7.22
|
|
hooks:
|
|
- id: mdformat
|
|
name: Format Markdown
|
|
additional_dependencies:
|
|
- mdformat-gfm
|
|
- mdformat_frontmatter
|
|
- mdformat_footnote
|
|
exclude: |
|
|
(?x)^(
|
|
test/data/cursor\.md|
|
|
typescript/.*
|
|
)$
|
|
|
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
rev: v1.0.1
|
|
hooks:
|
|
- id: sphinx-lint
|
|
name: Check Sphinx
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: ts-prettier
|
|
name: Prettier (typescript)
|
|
entry: typescript/scripts/precommit-run.sh prettier --write
|
|
language: system
|
|
files: ^typescript/.*\.(ts|tsx|js|mjs|cjs|json|md|yaml|yml)$
|
|
pass_filenames: true
|
|
- id: ts-eslint
|
|
name: ESLint (typescript)
|
|
entry: typescript/scripts/precommit-run.sh eslint --fix
|
|
language: system
|
|
files: ^typescript/.*\.(ts|tsx|js|mjs|cjs)$
|
|
pass_filenames: true
|