Skip to main content
Glama
pyproject.tomlโ€ข4.82 kB
[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "castplan-automation" version = "2.0.7" description = "Python bridge for CastPlan Automation MCP Server - Universal auto-configuration" readme = "README.md" license = { text = "MIT" } authors = [ { name = "Ghostseller", email = "banessayuu@gmail.com" } ] maintainers = [ { name = "Ghostseller", email = "banessayuu@gmail.com" } ] keywords = [ "mcp", "castplan", "automation", "documentation", "bmad", "hooks", "ai-analysis", "claude", "typescript", "bridge", "launcher" ] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: JavaScript", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Documentation", "Topic :: System :: Systems Administration", "Topic :: Utilities" ] requires-python = ">=3.8" dependencies = [ "requests>=2.28.0", "packaging>=21.0", "click>=8.0.0", "rich>=13.0.0", "pydantic>=2.0.0", "psutil>=5.9.0" ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "pytest-asyncio>=0.21.0", "black>=23.0.0", "isort>=5.12.0", "flake8>=6.0.0", "mypy>=1.0.0", "pre-commit>=3.0.0" ] test = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "pytest-asyncio>=0.21.0", "pytest-mock>=3.10.0" ] docs = [ "sphinx>=6.0.0", "sphinx-rtd-theme>=1.2.0", "myst-parser>=1.0.0" ] [project.urls] Homepage = "https://github.com/Ghostseller/CastPlan_mcp" Repository = "https://github.com/Ghostseller/CastPlan_mcp.git" Issues = "https://github.com/Ghostseller/CastPlan_mcp/issues" Documentation = "https://github.com/Ghostseller/CastPlan_mcp/blob/main/README.md" Changelog = "https://github.com/Ghostseller/CastPlan_mcp/blob/main/CHANGELOG.md" [project.scripts] castplan-mcp = "castplan_automation.cli:main" castplan-init = "castplan_automation.cli:init_command" castplan-config = "castplan_automation.cli:config_command" castplan-verify = "castplan_automation.cli:verify_command" castplan-doctor = "castplan_automation.cli:doctor_command" # Hatch configuration [tool.hatch.build.targets.wheel] packages = ["src/castplan_automation"] [tool.hatch.build.targets.sdist] include = [ "src/", "README.md", "LICENSE", "CHANGELOG.md" ] [tool.hatch.envs.default] dependencies = [ "pytest>=7.0.0", "pytest-cov>=4.0.0" ] [tool.hatch.envs.default.scripts] test = "pytest {args:tests}" cov = "pytest --cov=castplan_automation {args:tests}" cov-report = "pytest --cov=castplan_automation --cov-report=html {args:tests}" [tool.hatch.envs.lint] detached = true dependencies = [ "black>=23.0.0", "isort>=5.12.0", "flake8>=6.0.0", "mypy>=1.0.0" ] [tool.hatch.envs.lint.scripts] check = [ "black --check --diff src tests", "isort --check-only --diff src tests", "flake8 src tests", "mypy src" ] fmt = [ "black src tests", "isort src tests" ] # Tool configurations [tool.black] target-version = ["py38"] line-length = 88 skip-string-normalization = true [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 [tool.flake8] max-line-length = 88 extend-ignore = ["E203", "W503"] exclude = [".git", "__pycache__", "dist", "build", ".eggs"] [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true show_error_codes = true [tool.pytest.ini_options] minversion = "7.0" addopts = "-ra -q --strict-markers --strict-config" testpaths = ["tests"] [tool.coverage.run] source = ["castplan_automation"] branch = true [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:" ] # CastPlan specific configuration [tool.castplan] bridge-type = "python-nodejs" nodejs-package = "@castplan/automation-mcp" min-node-version = "18.0.0" installation-priority = ["npm", "yarn", "pnpm", "direct"] supported-platforms = ["windows", "macos", "linux"] supported-python = ["3.8", "3.9", "3.10", "3.11", "3.12"] auto-install-nodejs = true auto-configure = true

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ghostseller/CastPlan_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server