summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-07-11 17:14:47 +0900
committertanaka takashi <isazaka@gmail.com>2026-07-11 17:14:47 +0900
commit7dca1616b8c891f5e140c7267323d1fcdde6741a (patch)
treebce03e8d8fbbe13455d4c6205c086453cd711ad4
First Commit.
-rw-r--r--.gitignore133
-rw-r--r--README.md38
-rw-r--r--doc/.gitkeep0
-rw-r--r--pyproject.toml35
-rw-r--r--src/__init__.py0
-rw-r--r--tests/__init__.py0
-rw-r--r--tests/test_sample.py5
7 files changed, 211 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a6a7890
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,133 @@
+# Python
+__pycache__/
+*.py[cod]
+*$py.class
+*.so
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# uv
+.venv/
+uv.lock
+
+# PyInstaller
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+.python-version
+
+# pdm
+.pdm.toml
+.pdm-python
+.pdm-build/
+
+# PEP 582
+__pypackages__/
+
+# Celery
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder
+.spyderproject
+.spyproject
+
+# Rope
+.ropeproject
+
+# mkdocs
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre
+.pyre/
+
+# Pytype
+.pytype/
+
+# Cython
+cython_debug/
+
+# PyCharm
+.idea/
+
+# VS Code
+.vscode/
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Windows
+Thumbs.db
+ehthumbs.db
+Desktop.ini
+$RECYCLE.BIN/
+
+# macOS
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Logs
+*.log \ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..7d1d26c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+# mml-composemusic-mcp
+
+MML (Music Macro Language) を使った作曲支援 MCP サーバー向け Python パッケージ。
+
+## 開発環境
+
+- Python 3.14+
+- 依存管理: [uv](https://docs.astral.sh/uv/)
+
+## セットアップ
+
+```bash
+uv sync
+```
+
+## 主要コマンド
+
+```bash
+# テスト実行
+uv run pytest
+
+# リンター・フォーマッタ実行
+uv run ruff check .
+uv run ruff format .
+
+# 依存追加
+uv add <package>
+
+# 開発依存追加
+uv add --dev <package>
+```
+
+## ディレクトリ構成
+
+```
+src/ # ソースコード
+tests/ # テストコード
+doc/ # ドキュメント \ No newline at end of file
diff --git a/doc/.gitkeep b/doc/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/.gitkeep
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..198a5dd
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,35 @@
+[project]
+name = "mml-composemusic-mcp"
+version = "0.1.0"
+description = "Add your description here"
+readme = "README.md"
+requires-python = ">=3.14"
+dependencies = []
+
+[dependency-groups]
+dev = [
+ "pytest>=8.0",
+ "ruff>=0.7.0",
+]
+
+[build-system]
+requires = ["hatchling"]
+build-backend = "hatchling.build"
+
+[tool.hatch.build.targets.wheel]
+packages = ["src/mml_composemusic_mcp"]
+
+[tool.ruff]
+target-version = "py314"
+line-length = 88
+src = ["src", "tests"]
+
+[tool.ruff.lint]
+select = ["E", "F", "W", "I", "N", "UP", "B", "C4"]
+
+[tool.ruff.format]
+quote-style = "double"
+
+[tool.pytest.ini_options]
+testpaths = ["tests"]
+pythonpath = ["src"] \ No newline at end of file
diff --git a/src/__init__.py b/src/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/__init__.py
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/__init__.py
diff --git a/tests/test_sample.py b/tests/test_sample.py
new file mode 100644
index 0000000..6ad3ee0
--- /dev/null
+++ b/tests/test_sample.py
@@ -0,0 +1,5 @@
+"""Sanity check for pytest setup."""
+
+
+def test_true() -> None:
+ assert True