diff --git a/.cursorrules b/.cursorrules deleted file mode 100644 index db7b6d3c..00000000 --- a/.cursorrules +++ /dev/null @@ -1,18 +0,0 @@ -This project uses ruff for Python linting and formatting. - -Rules: -- Line length: 100 characters -- Python target: 3.11+ -- Use double quotes for strings -- Sort imports with isort (ruff I rules): stdlib, third-party, first-party (framework), local -- Combine as-imports -- Use type hints on all function signatures -- Use `from __future__ import annotations` for modern type syntax -- Raise exceptions with `from` in except blocks (B904) -- No unused imports (F401), no unused variables (F841) -- Prefer list/dict/set comprehensions over map/filter (C4) - -Run `make lint` to auto-fix, `make check` to verify without modifying files. -Run `make format` to apply ruff formatting. - -The ruff config lives in core/pyproject.toml under [tool.ruff]. diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index efb22d1c..00000000 --- a/.dockerignore +++ /dev/null @@ -1,35 +0,0 @@ -# Git -.git/ -.gitignore - -# Documentation -*.md -docs/ -LICENSE - -# IDE -.idea/ -.vscode/ - -# Dependencies (rebuilt in container) -node_modules/ - -# Build artifacts -dist/ -build/ -coverage/ - -# Environment files -.env* -config.yaml - -# Logs -*.log -logs/ - -# OS -.DS_Store -Thumbs.db - -# GitHub -.github/ diff --git a/.editorconfig b/.editorconfig index 252d4146..103c07b9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -22,3 +22,6 @@ indent_size = 2 [Makefile] indent_style = tab + +[*.{sh,ps1}] +end_of_line = lf diff --git a/.gitattributes b/.gitattributes index 3db0e152..24548be8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16,7 +16,6 @@ # Shell scripts (must use LF) *.sh text eol=lf -quickstart.sh text eol=lf # PowerShell scripts (Windows-friendly) *.ps1 text eol=lf @@ -122,3 +121,8 @@ CODE_OF_CONDUCT* text *.db binary *.sqlite binary *.sqlite3 binary + +# Lockfiles — mark generated so GitHub collapses them in PR diffs +*.lock linguist-generated=true -diff +package-lock.json linguist-generated=true -diff +uv.lock linguist-generated=true -diff diff --git a/docs/contributing-lint-setup.md b/docs/contributing-lint-setup.md index f597da0a..d2d7cbd3 100644 --- a/docs/contributing-lint-setup.md +++ b/docs/contributing-lint-setup.md @@ -98,10 +98,6 @@ For any editor, you can always rely on `make lint` and `make format` from the co The repository includes a `.claude/settings.json` hook that automatically runs `ruff check --fix` and `ruff format` after every file edit made by Claude Code. No setup needed — it works out of the box. -### Cursor - -The `.cursorrules` file at the repo root tells Cursor's AI the project's style rules (line length, import order, quote style, etc.) so generated code follows convention. - ### Codex CLI Codex CLI (OpenAI, v0.101.0+) is supported via `.codex/config.toml` (MCP server config). This file is tracked in git. Run `codex` in the repo root to use the configured MCP tools. See the [Codex CLI section in the README](../README.md#codex-cli) for details. @@ -137,7 +133,6 @@ make check # Verify locally before pushing | `.pre-commit-config.yaml` | Pre-commit hook definitions | | `.vscode/settings.json` | VS Code ruff integration | | `.vscode/extensions.json` | Recommended VS Code extensions | -| `.cursorrules` | AI assistant context | | `.claude/settings.json` | Claude Code post-edit hooks | The single source of truth for lint rules is the `[tool.ruff]` section in each package's `pyproject.toml`. All other configs (VS Code, pre-commit, Makefile, CI) reference these. diff --git a/tsconfig.base.json b/tsconfig.base.json deleted file mode 100644 index b348bb90..00000000 --- a/tsconfig.base.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "compilerOptions": { - "target": "ES2022", - "lib": ["ES2022"], - "module": "NodeNext", - "moduleResolution": "NodeNext", - "resolveJsonModule": true, - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "strict": true, - "noImplicitAny": true, - "strictNullChecks": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedIndexedAccess": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "skipLibCheck": true, - "isolatedModules": true - } -}