Skip to content

Commit e9c4d60

Browse files
first commit
0 parents  commit e9c4d60

57 files changed

Lines changed: 7492 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: Test, Build, Publish
2+
3+
on:
4+
push:
5+
branches: [main]
6+
tags: ["v*"]
7+
pull_request:
8+
branches: [main]
9+
10+
jobs:
11+
# ─── Run tests on every push / PR ────────────────────────────────────────
12+
test:
13+
name: Test (Python ${{ matrix.python-version }})
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
python-version: ["3.11", "3.12", "3.13"]
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
25+
- name: Install dependencies
26+
run: pip install -e ".[dev,scale,visual,mcp]"
27+
28+
- name: Run tests
29+
run: pytest --cov=repomap --cov-report=term-missing
30+
31+
# ─── Build Python wheel + sdist (only on version tags) ───────────────────
32+
build-python:
33+
name: Build Python package
34+
needs: test
35+
runs-on: ubuntu-latest
36+
if: startsWith(github.ref, 'refs/tags/v')
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- uses: actions/setup-python@v5
41+
with:
42+
python-version: "3.13"
43+
44+
- name: Build wheel and sdist
45+
run: |
46+
pip install build
47+
python -m build
48+
49+
- uses: actions/upload-artifact@v4
50+
with:
51+
name: python-dist
52+
path: dist/
53+
54+
# ─── Publish to PyPI using trusted publishing (no token needed) ──────────
55+
publish-pypi:
56+
name: Publish to PyPI
57+
needs: build-python
58+
runs-on: ubuntu-latest
59+
if: startsWith(github.ref, 'refs/tags/v')
60+
environment: pypi
61+
permissions:
62+
id-token: write # required for OIDC trusted publishing
63+
steps:
64+
- uses: actions/download-artifact@v4
65+
with:
66+
name: python-dist
67+
path: dist/
68+
69+
- name: Publish to PyPI
70+
uses: pypa/gh-action-pypi-publish@release/v1
71+
72+
# ─── Publish npm wrapper to npmjs.com ────────────────────────────────────
73+
publish-npm:
74+
name: Publish to npm
75+
needs: publish-pypi
76+
runs-on: ubuntu-latest
77+
if: startsWith(github.ref, 'refs/tags/v')
78+
steps:
79+
- uses: actions/checkout@v4
80+
81+
- uses: actions/setup-node@v4
82+
with:
83+
node-version: "20"
84+
registry-url: "https://registry.npmjs.org"
85+
86+
# Keep the npm package version in sync with the git tag (strips leading 'v')
87+
- name: Sync npm version to git tag
88+
working-directory: npm
89+
run: |
90+
TAG="${GITHUB_REF#refs/tags/v}"
91+
npm version "$TAG" --no-git-tag-version
92+
93+
- name: Publish to npm
94+
working-directory: npm
95+
run: npm publish --access public
96+
env:
97+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.gitignore

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# ── Python ────────────────────────────────────────────────────────────────────
2+
__pycache__/
3+
*.py[cod]
4+
*.pyo
5+
*.pyd
6+
.Python
7+
*.egg-info/
8+
*.egg
9+
MANIFEST
10+
11+
# ── Virtual environments ──────────────────────────────────────────────────────
12+
.venv/
13+
venv/
14+
env/
15+
ENV/
16+
17+
# ── Build / dist ──────────────────────────────────────────────────────────────
18+
dist/
19+
build/
20+
21+
# ── Testing ───────────────────────────────────────────────────────────────────
22+
.pytest_cache/
23+
.coverage
24+
.coverage.*
25+
htmlcov/
26+
*.xml
27+
*.log
28+
29+
# ── RepoMap local cache ───────────────────────────────────────────────────────
30+
.repomap/
31+
32+
# ── IDE / editor ─────────────────────────────────────────────────────────────
33+
.vscode/settings.json
34+
.cursor/
35+
.claude/
36+
*.swp
37+
*.swo
38+
.idea/
39+
*.iml
40+
41+
# ── macOS ─────────────────────────────────────────────────────────────────────
42+
.DS_Store
43+
.AppleDouble
44+
.LSOverride
45+
46+
# ── npm / Node ────────────────────────────────────────────────────────────────
47+
node_modules/
48+
npm/.npmrc
49+
50+
# ── Secrets / env ─────────────────────────────────────────────────────────────
51+
.env
52+
.env.*
53+
.envrc
54+
*.pem
55+
*.key
56+
*.p12
57+
credentials.json
58+
secrets.json

.vscode/mcp.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"servers":{"repomap":{"type":"stdio","command":"repomap","args":["serve","--transport","stdio"]}}}

0 commit comments

Comments
 (0)