helix-memory 4.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. helix_memory-4.0.1/.github/actions/setup-python-env/action.yml +34 -0
  2. helix_memory-4.0.1/.github/dependabot.yml +6 -0
  3. helix_memory-4.0.1/.github/workflows/ci.yml +183 -0
  4. helix_memory-4.0.1/.github/workflows/snyk.yml +31 -0
  5. helix_memory-4.0.1/.gitignore +62 -0
  6. helix_memory-4.0.1/.pre-commit-config.yaml +49 -0
  7. helix_memory-4.0.1/CHANGELOG.md +136 -0
  8. helix_memory-4.0.1/LICENSE +21 -0
  9. helix_memory-4.0.1/PKG-INFO +74 -0
  10. helix_memory-4.0.1/README.md +60 -0
  11. helix_memory-4.0.1/docs/PLAN.md +236 -0
  12. helix_memory-4.0.1/helix/__init__.py +3 -0
  13. helix_memory-4.0.1/helix/cli/__init__.py +19 -0
  14. helix_memory-4.0.1/helix/cli/app.py +21 -0
  15. helix_memory-4.0.1/helix/cli/commands.py +136 -0
  16. helix_memory-4.0.1/helix/cli/prompts.py +33 -0
  17. helix_memory-4.0.1/helix/core/__init__.py +35 -0
  18. helix_memory-4.0.1/helix/core/conventions/__init__.py +7 -0
  19. helix_memory-4.0.1/helix/core/conventions/brain.py +127 -0
  20. helix_memory-4.0.1/helix/core/conventions/convention.py +53 -0
  21. helix_memory-4.0.1/helix/core/installer/__init__.py +30 -0
  22. helix_memory-4.0.1/helix/core/installer/models.py +35 -0
  23. helix_memory-4.0.1/helix/core/installer/operations.py +114 -0
  24. helix_memory-4.0.1/helix/core/installer/snippet.py +18 -0
  25. helix_memory-4.0.1/helix/core/settings.py +23 -0
  26. helix_memory-4.0.1/helix/utils/__init__.py +3 -0
  27. helix_memory-4.0.1/helix/utils/parsing.py +4 -0
  28. helix_memory-4.0.1/pyproject.toml +176 -0
  29. helix_memory-4.0.1/pytest.ini +2 -0
  30. helix_memory-4.0.1/tests/__init__.py +0 -0
  31. helix_memory-4.0.1/tests/cli/__init__.py +0 -0
  32. helix_memory-4.0.1/tests/cli/app/__init__.py +0 -0
  33. helix_memory-4.0.1/tests/cli/app/conftest.py +14 -0
  34. helix_memory-4.0.1/tests/cli/app/test_app.py +14 -0
  35. helix_memory-4.0.1/tests/cli/commands/__init__.py +0 -0
  36. helix_memory-4.0.1/tests/cli/commands/conftest.py +45 -0
  37. helix_memory-4.0.1/tests/cli/commands/test_commands.py +140 -0
  38. helix_memory-4.0.1/tests/conftest.py +19 -0
  39. helix_memory-4.0.1/tests/core/__init__.py +0 -0
  40. helix_memory-4.0.1/tests/core/conventions/__init__.py +0 -0
  41. helix_memory-4.0.1/tests/core/conventions/brain/__init__.py +0 -0
  42. helix_memory-4.0.1/tests/core/conventions/brain/conftest.py +8 -0
  43. helix_memory-4.0.1/tests/core/conventions/brain/test_brain.py +184 -0
  44. helix_memory-4.0.1/tests/core/conventions/convention/__init__.py +0 -0
  45. helix_memory-4.0.1/tests/core/conventions/convention/conftest.py +18 -0
  46. helix_memory-4.0.1/tests/core/conventions/convention/test_convention.py +56 -0
  47. helix_memory-4.0.1/tests/core/installer/__init__.py +0 -0
  48. helix_memory-4.0.1/tests/core/installer/conftest.py +36 -0
  49. helix_memory-4.0.1/tests/core/installer/test_installer.py +116 -0
  50. helix_memory-4.0.1/tests/utils/__init__.py +0 -0
  51. helix_memory-4.0.1/tests/utils/test_parsing.py +18 -0
  52. helix_memory-4.0.1/uv.lock +601 -0
@@ -0,0 +1,34 @@
1
+ name: 'Setup Python Environment'
2
+ description: 'Install Python, uv, and project dependencies'
3
+
4
+ inputs:
5
+ python-version:
6
+ description: 'Python version to set up'
7
+ required: true
8
+ uv-version:
9
+ description: 'uv version to install'
10
+ required: false
11
+ default: '0.9.11'
12
+ install-dependencies:
13
+ description: 'Whether to run uv sync after setup'
14
+ required: false
15
+ default: 'true'
16
+
17
+ runs:
18
+ using: 'composite'
19
+ steps:
20
+ - name: Set up Python ${{ inputs.python-version }}
21
+ uses: actions/setup-python@v6
22
+ with:
23
+ python-version: ${{ inputs.python-version }}
24
+
25
+ - name: Install uv
26
+ uses: astral-sh/setup-uv@v7
27
+ with:
28
+ version: ${{ inputs.uv-version }}
29
+ python-version: ${{ inputs.python-version }}
30
+
31
+ - name: Install dependencies
32
+ if: inputs.install-dependencies == 'true'
33
+ shell: bash
34
+ run: uv sync --all-groups --frozen
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: 'github-actions'
4
+ directory: '/'
5
+ schedule:
6
+ interval: 'weekly'
@@ -0,0 +1,183 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ['main']
6
+ pull_request:
7
+ branches: ['main']
8
+
9
+ permissions:
10
+ id-token: write
11
+ contents: write
12
+ pull-requests: write
13
+ actions: write
14
+
15
+ jobs:
16
+ lint:
17
+ name: Lint (Python ${{ matrix.python-version }})
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ matrix:
21
+ python-version: ['3.13', '3.14']
22
+ steps:
23
+ - uses: actions/checkout@v6
24
+ with:
25
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
26
+ fetch-depth: 0
27
+
28
+ - name: Setup environment
29
+ uses: ./.github/actions/setup-python-env
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+
33
+ - name: Run lint and format checks
34
+ run: uv run poe format
35
+
36
+ test:
37
+ name: Test (Python ${{ matrix.python-version }})
38
+ runs-on: ubuntu-latest
39
+ strategy:
40
+ matrix:
41
+ python-version: ['3.13', '3.14']
42
+ steps:
43
+ - uses: actions/checkout@v6
44
+ with:
45
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
46
+ fetch-depth: 0
47
+
48
+ - name: Setup environment
49
+ uses: ./.github/actions/setup-python-env
50
+ with:
51
+ python-version: ${{ matrix.python-version }}
52
+
53
+ - name: Run unit tests
54
+ env:
55
+ SECRET_KEY: ${{ secrets.SECRET_KEY }}
56
+ run: uv run poe test
57
+
58
+ update-hooks:
59
+ name: Update pre-commit hooks
60
+ if: github.event_name == 'pull_request'
61
+ runs-on: ubuntu-latest
62
+ steps:
63
+ - uses: actions/checkout@v6
64
+ with:
65
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
66
+ ref: ${{ github.head_ref }}
67
+ fetch-depth: 0
68
+
69
+ - name: Setup environment
70
+ uses: ./.github/actions/setup-python-env
71
+ with:
72
+ python-version: '3.13'
73
+
74
+ - name: Autoupdate pre-commit hooks
75
+ run: uv run pre-commit autoupdate
76
+
77
+ - name: Commit updated hooks
78
+ run: |
79
+ git config --local user.email "github-actions[bot]@users.noreply.github.com"
80
+ git config --local user.name "github-actions[bot]"
81
+ git add .pre-commit-config.yaml
82
+ git diff --staged --quiet || git commit -m "chore(config): update pre-commit hooks"
83
+ git push origin "HEAD:${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}"
84
+
85
+ breaking-changes:
86
+ name: Detect breaking changes
87
+ runs-on: ubuntu-latest
88
+ if: github.ref == 'refs/heads/main'
89
+ needs: [lint, test]
90
+ permissions:
91
+ contents: write
92
+ steps:
93
+ - uses: actions/checkout@v6
94
+ with:
95
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
96
+ ref: main
97
+ fetch-depth: 0
98
+
99
+ - name: Setup environment
100
+ uses: ./.github/actions/setup-python-env
101
+ with:
102
+ python-version: '3.13'
103
+
104
+ - name: Get proposed version
105
+ id: proposed
106
+ run: |
107
+ VERSION=$(pipx run --spec python-semantic-release semantic-release --noop version --print)
108
+ echo "proposed=$VERSION" >> $GITHUB_OUTPUT
109
+
110
+ - name: Run pycracks
111
+ id: pycracks
112
+ continue-on-error: true
113
+ env:
114
+ SECRET_KEY: ${{ secrets.SECRET_KEY }}
115
+ run: |
116
+ pipx run pycracks \
117
+ --path "tests" \
118
+ --target-version "${{ steps.proposed.outputs.proposed }}" \
119
+ --test-command "uv run poe test"
120
+
121
+ - name: Create breaking change commit
122
+ if: steps.pycracks.outcome == 'failure'
123
+ run: |
124
+ git config user.email "github-actions[bot]@users.noreply.github.com"
125
+ git config user.name "github-actions[bot]"
126
+ git commit --allow-empty \
127
+ -m "feat!: breaking change detected [skip ci]"
128
+ git push origin main
129
+
130
+ versioning:
131
+ name: Versioning
132
+ runs-on: ubuntu-latest
133
+ if: github.ref == 'refs/heads/main'
134
+ needs: [breaking-changes]
135
+ steps:
136
+ - uses: actions/checkout@v6
137
+ with:
138
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
139
+ ref: main
140
+ fetch-depth: 0
141
+
142
+ - name: Setup environment
143
+ uses: ./.github/actions/setup-python-env
144
+ with:
145
+ python-version: '3.13'
146
+
147
+ - name: Bump version and update changelog
148
+ id: release
149
+ uses: python-semantic-release/python-semantic-release@v9.21.1
150
+ with:
151
+ github_token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
152
+
153
+ outputs:
154
+ released: ${{ steps.release.outputs.released }}
155
+ version: ${{ steps.release.outputs.version }}
156
+
157
+ publish:
158
+ name: Publish to PyPI
159
+ runs-on: ubuntu-latest
160
+ if: github.ref == 'refs/heads/main' && needs.versioning.outputs.released == 'true'
161
+ needs: [versioning]
162
+ environment:
163
+ name: pypi
164
+ url: https://pypi.org/p/helix-memory
165
+ permissions:
166
+ id-token: write
167
+ steps:
168
+ - uses: actions/checkout@v6
169
+ with:
170
+ token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
171
+ ref: main
172
+ fetch-depth: 0
173
+
174
+ - name: Setup environment
175
+ uses: ./.github/actions/setup-python-env
176
+ with:
177
+ python-version: '3.13'
178
+
179
+ - name: Build distributions
180
+ run: uv build
181
+
182
+ - name: Publish to PyPI
183
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,31 @@
1
+ name: Snyk Security with uv
2
+
3
+ on:
4
+ push:
5
+ branches: ['main']
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: '0 0 * * 0' # 00:00 every Sunday
9
+
10
+ jobs:
11
+ snyk_scan:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v6
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - name: Setup environment
19
+ uses: ./.github/actions/setup-python-env
20
+ with:
21
+ python-version: '3.13'
22
+
23
+ - name: Export dependencies
24
+ run: uv export --format requirements-txt --output-file requirements.txt
25
+
26
+ - name: Run Snyk Open Source
27
+ uses: snyk/actions/python@master
28
+ env:
29
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
30
+ with:
31
+ command: test
@@ -0,0 +1,62 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *$py.class
4
+
5
+ *.so
6
+
7
+ .Python
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ wheels/
20
+ *.egg-info/
21
+ *.egg
22
+ MANIFEST
23
+
24
+ .venv/
25
+ venv/
26
+ ENV/
27
+ env/
28
+
29
+ pip-log.txt
30
+ pip-delete-this-directory.txt
31
+
32
+ htmlcov/
33
+ .tox/
34
+ .nox/
35
+ .coverage
36
+ .coverage.*
37
+ .cache
38
+ nosetests.xml
39
+ coverage.xml
40
+ *.cover
41
+ *.py,cover
42
+ .hypothesis/
43
+ .pytest_cache/
44
+
45
+ .mypy_cache/
46
+ dmypy.json
47
+ dmypy.txt
48
+ .ruff_cache/
49
+
50
+ .vscode/
51
+ .idea/
52
+ *.swp
53
+ *.swo
54
+ *~
55
+
56
+ .DS_Store
57
+ Thumbs.db
58
+
59
+ site/
60
+
61
+ .env
62
+ .env.*
@@ -0,0 +1,49 @@
1
+ repos:
2
+ - repo: https://github.com/abravalheri/validate-pyproject
3
+ rev: v0.25
4
+ hooks:
5
+ - id: validate-pyproject
6
+
7
+ - repo: https://github.com/pre-commit/pre-commit-hooks
8
+ rev: v6.0.0
9
+ hooks:
10
+ - id: trailing-whitespace
11
+ - id: end-of-file-fixer
12
+ - id: detect-private-key
13
+
14
+ - repo: https://github.com/gitleaks/gitleaks
15
+ rev: v8.30.0
16
+ hooks:
17
+ - id: gitleaks
18
+
19
+ - repo: https://github.com/astral-sh/ruff-pre-commit
20
+ rev: 'v0.15.13'
21
+ hooks:
22
+ - id: ruff-check
23
+ name: ruff
24
+ args: ['--fix']
25
+
26
+ - repo: https://github.com/PyCQA/bandit
27
+ rev: 1.9.4
28
+ hooks:
29
+ - id: bandit
30
+ args: ['-r', '-lll']
31
+
32
+ - repo: https://github.com/pylint-dev/pylint
33
+ rev: v4.0.5
34
+ hooks:
35
+ - id: pylint
36
+ types: [python]
37
+ additional_dependencies:
38
+ - loguru==0.7.3
39
+ - pydantic==2.13.4
40
+ - pytest==9.0.3
41
+
42
+ - repo: https://github.com/pre-commit/mirrors-mypy
43
+ rev: v2.1.0
44
+ hooks:
45
+ - id: mypy
46
+ additional_dependencies:
47
+ - loguru==0.7.3
48
+ - pydantic==2.13.4
49
+ - pytest==9.0.3
@@ -0,0 +1,136 @@
1
+ # CHANGELOG
2
+
3
+
4
+ ## v4.0.1 (2026-05-19)
5
+
6
+ ### Bug Fixes
7
+
8
+ - **docs**: Update quickstart docs
9
+ ([`f16da2b`](https://github.com/justmatias/helix/commit/f16da2b8a34d732e6da7c5d13a4f6dce44bec57b))
10
+
11
+ ### Chores
12
+
13
+ - Update project name to 'helix-memory', version to 4.0.0, and a…
14
+ ([#3](https://github.com/justmatias/helix/pull/3),
15
+ [`a680c86`](https://github.com/justmatias/helix/commit/a680c86e5e83c695979f1d775cde18ebed73fa74))
16
+
17
+ * chore: update project name to 'helix-memory', version to 4.0.0, and adjust Python requirement to
18
+ >=3.13; enhance installation instructions in README and CI workflow for PyPI publishing
19
+
20
+ * fix: add Snyk security scanning workflow for automated dependency checks
21
+
22
+ * chore: update Python requirement to >=3.13 and rename package to 'helix-memory' with version 4.0.0
23
+
24
+ * chore: update package version to reflect renaming to 'helix-memory'
25
+
26
+
27
+ ## v4.0.0 (2026-05-19)
28
+
29
+ ### Features
30
+
31
+ - Breaking change detected [skip ci]
32
+ ([`ef40cce`](https://github.com/justmatias/helix/commit/ef40ccedbcb594d8bfa75fdc2b984e141cf84b1e))
33
+
34
+ - Enhance Helix CLI with installation and uninstallation commands…
35
+ ([#2](https://github.com/justmatias/helix/pull/2),
36
+ [`172ebf0`](https://github.com/justmatias/helix/commit/172ebf0ae3eb96e845cd005051fda93bed249e02))
37
+
38
+ * feat: enhance Helix CLI with installation and uninstallation commands for agent integration
39
+
40
+ * chore(config): update pre-commit hooks
41
+
42
+ * fix: refactor installer operations and reorganize modules
43
+
44
+ * chore: fix lint issues and refactor installer tests
45
+
46
+ * fix: extract prompt selection logic into separate functions for improved readability and
47
+ reusability
48
+
49
+ * chore: remove comment
50
+
51
+ ---------
52
+
53
+ Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
54
+
55
+
56
+ ## v3.0.0 (2026-05-14)
57
+
58
+ ### Chores
59
+
60
+ - Restructure CLI application and enhance convention management
61
+ ([`78320e1`](https://github.com/justmatias/helix/commit/78320e1dd4ecf95bdc5c37b057ad8ac135ce2a92))
62
+
63
+ - Update CLI structure and enhance command definitions with type annotations
64
+ ([`a2717a6`](https://github.com/justmatias/helix/commit/a2717a651c915192a647e7f5ed0dc51d6e8d950e))
65
+
66
+ ### Features
67
+
68
+ - Breaking change detected [skip ci]
69
+ ([`52eddd9`](https://github.com/justmatias/helix/commit/52eddd91dc8e68981ecf6b6ff957fbf0a3ed9a29))
70
+
71
+
72
+ ## v2.0.0 (2026-05-14)
73
+
74
+ ### Bug Fixes
75
+
76
+ - **ci**: Prevent semantic-release from re-triggering CI loop
77
+ ([`7aa43ea`](https://github.com/justmatias/helix/commit/7aa43ea6f8eb81652eb7d99ae1facdc8aadcde6d))
78
+
79
+ Add [skip ci] to the release commit message so pushes from python-semantic-release do not trigger a
80
+ new workflow run.
81
+
82
+ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
83
+
84
+ ### Features
85
+
86
+ - Breaking change detected [skip ci]
87
+ ([`ed70a0d`](https://github.com/justmatias/helix/commit/ed70a0dc36f4e7b9d4ea43af2db93ede0e85b788))
88
+
89
+ - Implement CLI for convention management with commands to remember, list, recall, and forget
90
+ conventions
91
+ ([`77fb37b`](https://github.com/justmatias/helix/commit/77fb37bd18bfa11163619c6a416d1ebd48b4fa6d))
92
+
93
+
94
+ ## v1.0.0 (2026-05-13)
95
+
96
+ ### Bug Fixes
97
+
98
+ - Add convention class for managing conventions and enhance filtering functionality
99
+ ([`3517cb3`](https://github.com/justmatias/helix/commit/3517cb36376f537c87f8b55ec822a3a4ce1815b2))
100
+
101
+ - Implement brain class for convention management and remove unused storage utilities
102
+ ([`f795485`](https://github.com/justmatias/helix/commit/f795485643854557076a73949b290c75e8b93bd3))
103
+
104
+ - Update project configuration and enhance storage management functionality
105
+ ([`2cf4993`](https://github.com/justmatias/helix/commit/2cf4993dd94ebe4d6cc1882d0656d588ed609ccb))
106
+
107
+ ### Chores
108
+
109
+ - Add initial project structure with configuration files, README, and core functionality
110
+ ([`fa05287`](https://github.com/justmatias/helix/commit/fa052873076828a4dd3c622ff5f9fba8a17b69a5))
111
+
112
+ - Add pre-commit dependency and update lock file with new packages
113
+ ([`ce99c36`](https://github.com/justmatias/helix/commit/ce99c360602d23a5d701f1230f3ac077f3ca3c59))
114
+
115
+ - Disable pylint invalid-name warning
116
+ ([`41c3c53`](https://github.com/justmatias/helix/commit/41c3c53049153d153b9dc7546fd6454f63cb88e3))
117
+
118
+ - Fix lint issues
119
+ ([`1e94e90`](https://github.com/justmatias/helix/commit/1e94e90fa09d640f7501382e1e55658c04791c3b))
120
+
121
+ - Streamline _filter_index_lines_by_tags method for improved readability
122
+ ([`9eb6dcc`](https://github.com/justmatias/helix/commit/9eb6dccde68c18fb1dae5b9a609e86b6f9543f7c))
123
+
124
+ - Update build system configuration to use hatchling and specify wheel target
125
+ ([`4e9fc37`](https://github.com/justmatias/helix/commit/4e9fc3713c0c41a60e1af22918129938bb4b0d99))
126
+
127
+ - **docs**: Add implementation plan
128
+ ([`b10b684`](https://github.com/justmatias/helix/commit/b10b684e9412c15db733fa3c6de65005c3107846))
129
+
130
+ - **release**: Release version 1.0.0
131
+ ([`bc81d7f`](https://github.com/justmatias/helix/commit/bc81d7fa301c66ff1607542928fc38b75da265e7))
132
+
133
+ ### Features
134
+
135
+ - Breaking change detected [skip ci]
136
+ ([`1229f2e`](https://github.com/justmatias/helix/commit/1229f2efc35bec295ea609ea18d61de573f33ede))
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Matías Giménez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,74 @@
1
+ Metadata-Version: 2.4
2
+ Name: helix-memory
3
+ Version: 4.0.1
4
+ Summary: A lightweight, multi-client memory layer that persists cross-project coding conventions
5
+ Author-email: Matias Gimenez <matiasgimenez.dev@gmail.com>
6
+ License-File: LICENSE
7
+ Requires-Python: >=3.13
8
+ Requires-Dist: loguru>=0.7.3
9
+ Requires-Dist: pydantic-settings>=2.14.1
10
+ Requires-Dist: pydantic>=2.13.4
11
+ Requires-Dist: python-frontmatter>=1.1.0
12
+ Requires-Dist: typer>=0.25.1
13
+ Description-Content-Type: text/markdown
14
+
15
+ # Helix
16
+
17
+ Global convention memory for AI coding agents — persist your coding preferences once, surface them in every Claude Code, Cursor, or MCP-compatible session.
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ # With uv (recommended)
23
+ uv tool install helix-memory
24
+
25
+ # Or with pip
26
+ pip install helix-memory
27
+ ```
28
+
29
+ ## Quick start
30
+
31
+ ```bash
32
+ # 1. Hook Helix into your agent (Claude Code, Cursor, …).
33
+ helix install
34
+
35
+ # 2. Save your first convention.
36
+ helix remember pydantic-validation \
37
+ "Prefer Pydantic v2 for any external-boundary validation." \
38
+ --tags python,validation
39
+ ```
40
+
41
+ From there, your next agent session will see the conventions automatically.
42
+
43
+ ## CLI
44
+
45
+ ```bash
46
+ helix remember <name> "<body>" --tags <comma,separated>
47
+ helix list [--tags <tag>]
48
+ helix recall "<query>" [--tags <tag>]
49
+ helix forget <name>
50
+ helix install # wire Helix into your agent
51
+ helix uninstall # remove the integration
52
+ helix serve # start the MCP server
53
+ ```
54
+
55
+ ## MCP server
56
+
57
+ `helix serve` exposes four tools to any MCP-compatible client: `remember`, `recall`, `list_conventions`, `forget`.
58
+
59
+ Add to your client's MCP config (e.g. `~/.claude/claude_desktop_config.json`):
60
+
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "helix": {
65
+ "command": "helix",
66
+ "args": ["serve"]
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ## License
73
+
74
+ MIT
@@ -0,0 +1,60 @@
1
+ # Helix
2
+
3
+ Global convention memory for AI coding agents — persist your coding preferences once, surface them in every Claude Code, Cursor, or MCP-compatible session.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ # With uv (recommended)
9
+ uv tool install helix-memory
10
+
11
+ # Or with pip
12
+ pip install helix-memory
13
+ ```
14
+
15
+ ## Quick start
16
+
17
+ ```bash
18
+ # 1. Hook Helix into your agent (Claude Code, Cursor, …).
19
+ helix install
20
+
21
+ # 2. Save your first convention.
22
+ helix remember pydantic-validation \
23
+ "Prefer Pydantic v2 for any external-boundary validation." \
24
+ --tags python,validation
25
+ ```
26
+
27
+ From there, your next agent session will see the conventions automatically.
28
+
29
+ ## CLI
30
+
31
+ ```bash
32
+ helix remember <name> "<body>" --tags <comma,separated>
33
+ helix list [--tags <tag>]
34
+ helix recall "<query>" [--tags <tag>]
35
+ helix forget <name>
36
+ helix install # wire Helix into your agent
37
+ helix uninstall # remove the integration
38
+ helix serve # start the MCP server
39
+ ```
40
+
41
+ ## MCP server
42
+
43
+ `helix serve` exposes four tools to any MCP-compatible client: `remember`, `recall`, `list_conventions`, `forget`.
44
+
45
+ Add to your client's MCP config (e.g. `~/.claude/claude_desktop_config.json`):
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "helix": {
51
+ "command": "helix",
52
+ "args": ["serve"]
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ ## License
59
+
60
+ MIT