[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "awesome-claude-code" version = "2.0.1" description = "A curated list of slash-commands, CLAUDE.md files, CLI tools, and other resources for enhancing Claude Code workflows" authors = [{ name = "Really Him", email = "git-dev@hesreallyhim.com" }] readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.11" dependencies = ["PyGithub>=2.1.1", "PyYAML>=6.0.0"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "requests>=2.31.0", "python-dotenv>=1.0.0", "types-requests>=2.31.0", "types-PyYAML>=6.0.0", "ruff>=0.1.0", "pre-commit>=3.5.0", "pytest-cov>=7.0.0", "mypy>=1.10.0", ] [project.urls] "Homepage" = "https://github.com/anthropics/awesome-claude-code" "Bug Tracker" = "https://github.com/anthropics/awesome-claude-code/issues" "Repository" = "https://github.com/anthropics/awesome-claude-code" [tool.ruff] target-version = "py311" line-length = 100 exclude = ["scripts/archive"] [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "N", # pep8-naming "UP", # pyupgrade "B", # flake8-bugbear "C4", # flake8-comprehensions "SIM", # flake8-simplify ] ignore = [ "E203", # whitespace before ':' "E402", # module level import not at top of file ] [tool.ruff.lint.per-file-ignores] "__init__.py" = ["F401"] # unused imports in __init__ files "scripts/*" = ["E501"] # line too long in generate_ticker_svg.py [tool.ruff.lint.isort] known-first-party = ["scripts"] [tool.setuptools.packages.find] where = ["."] include = ["scripts*"] [tool.setuptools.package-data] "scripts" = ["*.csv"] [tool.coverage.run] branch = true source = ["scripts"] omit = ["scripts/archive/*", "scripts/testing/test_regenerate_cycle.py"] [tool.coverage.report] show_missing = true skip_covered = true [tool.pytest.ini_options] testpaths = ["tests"] norecursedirs = ["scripts/archive"] [tool.mypy] exclude = "^resources/"