mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 15:44:18 +08:00
chore: ignore .omc, .claude, .playwright-mcp directories and remove from tracking
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"hooks": {
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "python scripts/ruff_hook.py",
|
||||
"timeout": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Skill(update-config)",
|
||||
"Bash(echo '{\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"D:\\\\\\\\python\\\\\\\\xmtdx\\\\\\\\src\\\\\\\\xmtdx\\\\\\\\__init__.py\"}}')",
|
||||
"Bash(python -c \"import sys,json,subprocess;d=json.load\\(sys.stdin\\);f=d.get\\('tool_input',{}\\).get\\('file_path',''\\);exec\\('' if not f.endswith\\(\\\\\\\\'.py\\\\\\\\'\\) else 'subprocess.run\\([\\\\\\\\'ruff\\\\\\\\',\\\\\\\\'check\\\\\\\\',\\\\\\\\'--fix\\\\\\\\',f],capture_output=True\\);subprocess.run\\([\\\\\\\\'ruff\\\\\\\\',\\\\\\\\'format\\\\\\\\',f],capture_output=True\\)'\\);print\\(f'done: {f}'\\)\")",
|
||||
"Bash(python *)",
|
||||
"Bash(ruff check *)",
|
||||
"Bash(git add *)",
|
||||
"Bash(git commit *)",
|
||||
"Bash(git push *)",
|
||||
"mcp__zread__get_repo_structure",
|
||||
"Bash(pip install *)",
|
||||
"mcp__web-reader__webReader",
|
||||
"Bash(python3 *)",
|
||||
"Bash(where mypy *)",
|
||||
"Bash(pip list *)",
|
||||
"Bash(uv run *)",
|
||||
"Bash(git stash *)",
|
||||
"Bash(dir /s /b src\\\\xmtdx)",
|
||||
"Bash(git remote *)",
|
||||
"Bash(uv --version)",
|
||||
"Bash(git rm *)",
|
||||
"mcp__plugin_context7_context7__resolve-library-id",
|
||||
"mcp__plugin_context7_context7__query-docs",
|
||||
"Bash(grep -E \"\\\\.py$\")",
|
||||
"Bash(awk '{added+=$1; deleted+=$2} END {print \"+\" added \" -\" deleted}')",
|
||||
"Bash(find D:/python/easty_tdx/examples/1[1-7]* -name \"*.py\")",
|
||||
"Bash(easy-tdx ping *)",
|
||||
"Bash(easy-tdx version *)",
|
||||
"Bash(easy-tdx kline *)",
|
||||
"Bash(easy-tdx quote *)",
|
||||
"Bash(easy-tdx tick *)",
|
||||
"Bash(easy-tdx transaction *)",
|
||||
"Bash(easy-tdx auction *)",
|
||||
"Bash(easy-tdx quote-list *)",
|
||||
"Bash(easy-tdx board-list *)",
|
||||
"Bash(easy-tdx board-members *)",
|
||||
"Bash(easy-tdx belong-board *)",
|
||||
"Bash(easy-tdx capital-flow *)",
|
||||
"Bash(echo \"EXIT CODE: $?\")",
|
||||
"Bash(easy-tdx unusual *)",
|
||||
"Bash(easy-tdx market-stat *)",
|
||||
"Bash(easy-tdx server-info *)",
|
||||
"Bash(easy-tdx symbol-info *)",
|
||||
"Bash(easy-tdx ex *)",
|
||||
"WebSearch",
|
||||
"mcp__zread__search_doc",
|
||||
"mcp__zread__read_file",
|
||||
"Bash(git status *)",
|
||||
"Bash(pip show *)",
|
||||
"Bash(git tag *)",
|
||||
"Bash(twine upload *)",
|
||||
"Bash(pip index *)",
|
||||
"Bash(curl -s https://pypi.org/pypi/easy-tdx/json)",
|
||||
"Bash(curl -sI \"https://files.pythonhosted.org/packages/py3/e/easy-tdx/easy_tdx-1.2.0-py3-none-any.whl\")",
|
||||
"Bash(gh run *)",
|
||||
"Bash(easy-tdx *)",
|
||||
"mcp__web-search-prime__web_search_prime",
|
||||
"mcp__plugin_compound-engineering_context7__resolve-library-id",
|
||||
"mcp__plugin_compound-engineering_context7__query-docs",
|
||||
"Bash(pip uninstall *)",
|
||||
"Bash(xargs grep -l \"Command\\\\|Request\\\\|Response\")",
|
||||
"Bash(quotes/stock_xdxr_info.go)",
|
||||
"Bash(mypy src/)",
|
||||
"Bash(ruff format *)",
|
||||
"mcp__plugin_episodic-memory_episodic-memory__search",
|
||||
"Bash(echo \"FK/\")",
|
||||
"Bash(git pull *)",
|
||||
"mcp__playwright__browser_navigate",
|
||||
"mcp__playwright__browser_snapshot",
|
||||
"Bash(gh auth *)",
|
||||
"Bash(rm -rf easy_tdx.wiki)",
|
||||
"Bash(gh repo *)",
|
||||
"Bash(gh api *)",
|
||||
"Bash(mypy src/easy_tdx/backtest/types.py)",
|
||||
"Bash(mypy tests/unit/test_backtest_types.py)",
|
||||
"Bash(mypy src/easy_tdx/backtest/types.py tests/unit/test_backtest_types.py)",
|
||||
"Bash(mypy *)",
|
||||
"Bash(git diff *)",
|
||||
"Bash(echo \"exit: $?\")",
|
||||
"Bash(where easy-tdx *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
---
|
||||
name: publish
|
||||
description: Bump version, commit, push tag to trigger GitHub Actions PyPI publish workflow, and verify release
|
||||
---
|
||||
|
||||
Publish a new version of easy-tdx to PyPI via GitHub Actions trusted publisher.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- All code changes must already be committed and pushed to `main`.
|
||||
- PyPI trusted publisher must be configured (owner: `handsomejustin`, repo: `easy_tdx`, workflow: `publish.yml`, environment: `release`).
|
||||
- GitHub `release` environment must exist in repo settings.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Confirm working tree is clean on `main`**: Run `git status` and `git log --oneline -3`. All changes must be pushed.
|
||||
|
||||
2. **Determine new version**: Read current version from `pyproject.toml`. Ask user for target version if not obvious (patch/minor/major), defaulting to patch bump.
|
||||
|
||||
3. **Bump version**: Edit `version` in `pyproject.toml` to the new version.
|
||||
|
||||
4. **Commit and push**:
|
||||
```bash
|
||||
git add pyproject.toml
|
||||
git commit -m "chore: bump version to X.Y.Z"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
5. **Create and push tag**:
|
||||
```bash
|
||||
git tag vX.Y.Z
|
||||
git push origin vX.Y.Z
|
||||
```
|
||||
|
||||
6. **Wait for GitHub Actions**: Run `gh run list --limit 1` to get the run ID, then `gh run watch <ID>` to monitor. Timeout after 120 seconds.
|
||||
|
||||
7. **Verify on PyPI**:
|
||||
```bash
|
||||
curl -s https://pypi.org/pypi/easy-tdx/json | python -c "import sys,json; d=json.load(sys.stdin); print('latest:', d['info']['version'])"
|
||||
```
|
||||
Confirm the version matches.
|
||||
|
||||
8. **Report result**: State the published version and PyPI URL.
|
||||
|
||||
## Rollback
|
||||
|
||||
If the publish fails:
|
||||
- Do NOT delete the tag (it's already pushed).
|
||||
- Fix the issue, bump to next patch version, and re-run.
|
||||
- If PyPI shows the version but something is wrong, it cannot be yanked automatically — the user must do it manually via PyPI dashboard.
|
||||
|
||||
## Notes
|
||||
|
||||
- The workflow file is at `.github/workflows/publish.yml`.
|
||||
- It triggers on `push tags: v*`.
|
||||
- Uses OIDC trusted publishing — no API tokens needed.
|
||||
- Build uses `python -m build` (hatchling backend).
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
name: verify
|
||||
description: Run full offline verification suite (pytest unit tests + mypy + ruff) before committing changes.
|
||||
disable-model-invocation: true
|
||||
---
|
||||
|
||||
# Verify
|
||||
|
||||
Run the full offline verification pipeline:
|
||||
|
||||
1. Run `python -m pytest tests/unit/ -v` — all unit tests must pass.
|
||||
2. Run `mypy src/` — strict type checking must pass with zero errors.
|
||||
3. Run `ruff check src/ tests/` — no lint errors.
|
||||
4. Run `ruff format --check src/ tests/` — formatting must be clean.
|
||||
|
||||
If any step fails, fix the issues and re-run. Do not report completion until all four steps pass.
|
||||
Reference in New Issue
Block a user