-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
133 lines (117 loc) · 4.83 KB
/
pyproject.toml
File metadata and controls
133 lines (117 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[build-system]
requires = ["setuptools>=68.0"]
build-backend = "setuptools.build_meta"
[project]
name = "sin-code-bundle"
version = "1.0.0"
description = "Unified CLI and MCP server for the SIN-Code agent-engineering stack — Bundle glues the standalone tools (Discover, Execute, Map, Grasp, Scout, Harvest, Orchestrate, SCKG, IBD, PoC, EFM, ADW, Oracle) into a single pip-installable package."
readme = "README.md"
requires-python = ">=3.11"
license = { text = "Apache-2.0" }
authors = [{ name = "OpenSIN-Code" }]
keywords = ["mcp", "ai-agents", "coding-agent", "opencode", "codex", "lsp", "swe-bench"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Quality Assurance",
]
# Core deps — everything else (SCKG, IBD, PoC, EFM, ADW, Oracle, etc.)
# is an OPTIONAL subsystem installed from its own OpenSIN-Code repo.
dependencies = [
"typer>=0.12",
"pyyaml>=6.0",
# Consolidated skill deps (issue #29 — sin-slash, sin-mcp-server-builder, sin-marketplace)
"click>=8.0", # sin-slash Click CLI (legacy)
"rich>=13.0", # sin-slash + sin-marketplace pretty printing
"fastmcp>=2.0", # MCP server surfaces for all 3 subcommands
"jinja2>=3.0", # sin-mcp-server-builder templates
"httpx>=0.27", # sin-marketplace remote catalog
"gitpython>=3.1", # sin-marketplace install/update
]
# === ECOSYSTEM PACKAGES (git+ deps via requirements-ecosystem.txt) ===
# The 6 SIN-Code core ecosystem packages (sin-code-sckg, sin-code-ibd,
# sin-code-poc, sin-code-efsm, sin-code-adw, sin-code-oracle) were
# extracted from this monorepo into standalone repos under OpenSIN-Code/
# as part of issue #28. They are installed via `requirements-ecosystem.txt`,
# which uses git+https URLs — PyPI's core-metadata spec forbids direct URL
# references in extras. See https://packaging.python.org/specifications/core-metadata
[project.optional-dependencies]
# === LSP / benchmark / MCP runtime / observability ===
# Full tree-sitter stack — NO tree-sitter-languages (no Py3.14 wheels).
# Direct bindings: tree-sitter + 4 per-language parsers (Py/JS/TS/Go).
# tree-sitter 0.23+ uses new API: tree_sitter.Language(lang_fn()), not Language(ptr).
lsp = [
"multilspy>=0.0.10",
"tree-sitter>=0.23",
"tree-sitter-python>=0.23",
"tree-sitter-javascript>=0.23",
"tree-sitter-typescript>=0.23",
"tree-sitter-go>=0.23",
]
bench = [
"datasets>=2.19",
]
mcp = [
"mcp[cli]>=1.2",
]
otel = [
"opentelemetry-sdk>=1.25",
"opentelemetry-exporter-otlp>=1.25",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"ruff>=0.5",
]
# === PyPI-clean: all available extras ===
# `pip install sin-code-bundle[all]` → lsp + bench + mcp + otel + dev
# For the 6 SIN-Code core ecosystem packages (sckg, ibd, poc, efsm, adw,
# oracle), install with:
# pip install -r https://raw.githubusercontent.com/OpenSIN-Code/SIN-Code-Bundle/main/requirements-ecosystem.txt
all = [
"sin-code-bundle[lsp,bench,mcp,otel,dev]",
]
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
sin_code_bundle = [
"data/codocs/*.md",
"tools/mcp_server_builder/templates/**/*",
]
[project.urls]
Homepage = "https://github.com/OpenSIN-Code/SIN-Code-Bundle"
Issues = "https://github.com/OpenSIN-Code/SIN-Code-Bundle/issues"
[project.scripts]
sin = "sin_code_bundle.cli:app"
sin-serve = "sin_code_bundle.mcp_server:main"
sin-serve-mcp = "sin_code_bundle.mcp_server:main"
# v0.9.3 — Standalone CLI shims for the 5 MCP-only file-ops. Lets
# sub-agents and shell users call sin-read/sin-write/etc. without
# spinning up the MCP server. Implementation lives in file_ops.py.
# Note: package is `cli_shims` (NOT `cli`) to avoid shadowing the
# existing `sin_code_bundle.cli` Typer app (the `sin` console script).
sin-read = "sin_code_bundle.cli_shims.sin_read:main"
sin-write = "sin_code_bundle.cli_shims.sin_write:main"
sin-edit = "sin_code_bundle.cli_shims.sin_edit:main"
sin-bash = "sin_code_bundle.cli_shims.sin_bash:main"
sin-search = "sin_code_bundle.cli_shims.sin_search:main"
# issue #29 — backward-compat entry points for the consolidated skills.
# These are kept for scripts that still invoke the old names; they all
# forward to the same `sin` Typer app.
sin-slash = "sin_code_bundle.tools.slash.cli:main"
sin-mcp-server-builder = "sin_code_bundle.tools.mcp_server_builder.mcp_server:main"
sin-marketplace-skill = "sin_code_bundle.tools.marketplace.legacy_cli:main"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
[tool.ruff]
line-length = 100
target-version = "py311"
# CoDocs example fixtures demonstrate doc co-location, not runnable code.
extend-exclude = ["examples", "build", "dist"]
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
ignore = ["E501"]