Auto-generated tile from GitHub (10 skills)
92
94%
Does it follow best practices?
Impact
92%
1.16xAverage score across 44 eval scenarios
Advisory
Suggest reviewing before use
Datastream Analytics has a Python monorepo that has grown organically over three years. The codebase now spans multiple service packages, a shared utilities layer, and a legacy payments module that predates the current architecture. The team recently started using AI coding assistants heavily, but there is no AGENTS.md in the repository — agents keep making the same costly mistakes: using the wrong package manager, running tests with flags that produce different output than CI, and occasionally touching a legacy directory that cannot be safely modified.
A staff engineer has gathered the key configuration files and wants you to create a focused AGENTS.md for the repo root. The file should give agents exactly what they cannot figure out on their own from reading the code — no more, no less. Given the size of the repo, think carefully about whether the root file should try to capture everything or whether some guidance belongs closer to individual modules.
Produce an AGENTS.md file at the root of the workspace. The file should be concise and contain only instructions that meet a high bar for inclusion. Do not create any other files.
The following files are provided as inputs. Extract them before beginning.
=============== FILE: README.md ===============
A Python-based event streaming and analytics platform.
services/ingestion/ — Kafka consumer that normalizes incoming eventsservices/aggregator/ — Computes rolling metrics from normalized eventsservices/api/ — FastAPI service exposing aggregated data to clientspackages/shared/ — Shared Pydantic models, logging utilities, and DB helperslegacy/payments/ — Legacy billing integration (pre-2022 architecture)Python 3.12, FastAPI, Kafka (confluent-kafka), PostgreSQL, Redis, SQLAlchemy 2.x.
Install dependencies with uv sync and run services individually. See docs/runbooks/ for deployment guides.
=============== END FILE ===============
=============== FILE: pyproject.toml =============== [project] name = "datastream" version = "0.1.0" requires-python = ">=3.12" dependencies = [ "fastapi>=0.111", "confluent-kafka>=2.4", "sqlalchemy>=2.0", "pydantic>=2.7", "redis>=5.0", "alembic>=1.13", ]
[tool.uv] dev-dependencies = [ "pytest>=8.2", "pytest-asyncio>=0.23", "httpx>=0.27", "ruff>=0.4", ]
[tool.pytest.ini_options] addopts = "--no-header -p no:warnings" asyncio_mode = "auto"
[tool.ruff] line-length = 88 select = ["E", "F", "I"] quote-style = "double" =============== END FILE ===============
=============== FILE: .github/workflows/ci.yml =============== name: CI
on: [push, pull_request]
jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v4 - name: Install dependencies run: uv sync --all-extras - name: Lint run: uv run ruff check . - name: Test run: uv run pytest services/ packages/ --no-header -p no:warnings =============== END FILE ===============
=============== FILE: .cursorrules ===============
=============== FILE: .pre-commit-config.yaml =============== repos:
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
skills
documentation
fastify
init
linting-neostandard-eslint9
node
nodejs-core
rules
oauth
octocat
snipgrapher