kluris 0.1.0__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 (46) hide show
  1. kluris-0.1.0/.github/workflows/ci.yml +23 -0
  2. kluris-0.1.0/.github/workflows/publish.yml +19 -0
  3. kluris-0.1.0/.gitignore +13 -0
  4. kluris-0.1.0/LICENSE +21 -0
  5. kluris-0.1.0/PKG-INFO +206 -0
  6. kluris-0.1.0/README.md +189 -0
  7. kluris-0.1.0/pyproject.toml +27 -0
  8. kluris-0.1.0/src/kluris/__init__.py +3 -0
  9. kluris-0.1.0/src/kluris/cli.py +713 -0
  10. kluris-0.1.0/src/kluris/commands/__init__.py +0 -0
  11. kluris-0.1.0/src/kluris/core/__init__.py +0 -0
  12. kluris-0.1.0/src/kluris/core/agents.py +501 -0
  13. kluris-0.1.0/src/kluris/core/brain.py +321 -0
  14. kluris-0.1.0/src/kluris/core/config.py +124 -0
  15. kluris-0.1.0/src/kluris/core/frontmatter.py +39 -0
  16. kluris-0.1.0/src/kluris/core/git.py +88 -0
  17. kluris-0.1.0/src/kluris/core/linker.py +140 -0
  18. kluris-0.1.0/src/kluris/core/maps.py +220 -0
  19. kluris-0.1.0/src/kluris/core/mri.py +236 -0
  20. kluris-0.1.0/tests/conftest.py +107 -0
  21. kluris-0.1.0/tests/test_agents.py +92 -0
  22. kluris-0.1.0/tests/test_brain.py +138 -0
  23. kluris-0.1.0/tests/test_brain_resolution.py +74 -0
  24. kluris-0.1.0/tests/test_clone.py +85 -0
  25. kluris-0.1.0/tests/test_config.py +178 -0
  26. kluris-0.1.0/tests/test_create.py +96 -0
  27. kluris-0.1.0/tests/test_doctor.py +21 -0
  28. kluris-0.1.0/tests/test_dream.py +106 -0
  29. kluris-0.1.0/tests/test_e2e.py +72 -0
  30. kluris-0.1.0/tests/test_frontmatter.py +78 -0
  31. kluris-0.1.0/tests/test_git.py +127 -0
  32. kluris-0.1.0/tests/test_help.py +30 -0
  33. kluris-0.1.0/tests/test_install.py +112 -0
  34. kluris-0.1.0/tests/test_json_output.py +171 -0
  35. kluris-0.1.0/tests/test_linker.py +116 -0
  36. kluris-0.1.0/tests/test_list.py +32 -0
  37. kluris-0.1.0/tests/test_lobe.py +34 -0
  38. kluris-0.1.0/tests/test_maps.py +163 -0
  39. kluris-0.1.0/tests/test_mri.py +99 -0
  40. kluris-0.1.0/tests/test_mri_cmd.py +49 -0
  41. kluris-0.1.0/tests/test_neuron.py +57 -0
  42. kluris-0.1.0/tests/test_neuron_templates.py +70 -0
  43. kluris-0.1.0/tests/test_push.py +46 -0
  44. kluris-0.1.0/tests/test_recall.py +25 -0
  45. kluris-0.1.0/tests/test_remove.py +42 -0
  46. kluris-0.1.0/tests/test_status.py +34 -0
@@ -0,0 +1,23 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ strategy:
12
+ fail-fast: false
13
+ matrix:
14
+ os: [ubuntu-latest, macos-latest, windows-latest]
15
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
16
+ runs-on: ${{ matrix.os }}
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: actions/setup-python@v5
20
+ with:
21
+ python-version: ${{ matrix.python-version }}
22
+ - run: pip install -e ".[dev]"
23
+ - run: pytest tests/ -v --cov=kluris --cov-report=term-missing
@@ -0,0 +1,19 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ jobs:
8
+ publish:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: actions/setup-python@v5
15
+ with:
16
+ python-version: "3.12"
17
+ - run: pip install hatch
18
+ - run: hatch build
19
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,13 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ .env
8
+ .coverage
9
+ .pytest_cache/
10
+ .idea/
11
+ .DS_Store
12
+ Thumbs.db
13
+ *.egg
kluris-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Gabriel Voicu
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.
kluris-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,206 @@
1
+ Metadata-Version: 2.4
2
+ Name: kluris
3
+ Version: 0.1.0
4
+ Summary: Create and manage git-backed AI brains for multi-project, multi-agent teams
5
+ License-Expression: MIT
6
+ License-File: LICENSE
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: click>=8.1
9
+ Requires-Dist: pydantic>=2.0
10
+ Requires-Dist: python-frontmatter>=1.1
11
+ Requires-Dist: pyyaml>=6.0
12
+ Requires-Dist: rich>=13.0
13
+ Provides-Extra: dev
14
+ Requires-Dist: pytest-cov>=5.0; extra == 'dev'
15
+ Requires-Dist: pytest>=8.0; extra == 'dev'
16
+ Description-Content-Type: text/markdown
17
+
18
+ # Kluris
19
+
20
+ > Create and manage git-backed AI brains for multi-project, multi-agent teams.
21
+
22
+ *When your best engineer sleeps, Kluris doesn't. When they leave, Kluris stays.*
23
+
24
+ ## What is Kluris?
25
+
26
+ Kluris is a CLI tool that creates **brains** — standalone git repos of
27
+ structured markdown that AI coding agents read, search, and update through
28
+ globally installed slash commands.
29
+
30
+ **Kluris = the tool. A brain = the git repo it creates.**
31
+
32
+ ### Why not a wiki, Notion, or CLAUDE.md?
33
+
34
+ - **Wikis and Notion** are for humans. Agents can't natively read them, search
35
+ across them, or write back. Kluris brains are markdown in git — AI-native.
36
+ - **CLAUDE.md** is per-project and per-tool. A brain sits above all your
37
+ projects and works with 8 different AI agents simultaneously.
38
+ - **Agent memory** is session-scoped and ephemeral. A brain is persistent,
39
+ version-controlled, and shared across the entire team.
40
+
41
+ One brain serves all your projects. Every AI agent on the team reads the same
42
+ knowledge. When someone leaves, nothing is lost.
43
+
44
+ ## Quick start
45
+
46
+ ```bash
47
+ pipx install kluris
48
+ kluris doctor # Check prerequisites
49
+ kluris create ~/my-brain --type team # Create a team brain
50
+ ```
51
+
52
+ Then open any project and run `/kluris.learn` — the AI agent will analyze
53
+ your codebase and populate the brain with architecture, conventions, APIs,
54
+ and decisions.
55
+
56
+ ### Example workflow
57
+
58
+ ```bash
59
+ # 1. Create a brain for your team
60
+ kluris create ~/acme-brain --type team
61
+
62
+ # 2. In your backend project, run the slash command:
63
+ # /kluris.learn focus on architecture and API design
64
+
65
+ # 3. In your frontend project:
66
+ # /kluris.learn focus on components and state management
67
+
68
+ # 4. Now any agent in any project can use the brain:
69
+ # /kluris.think implement the new auth flow
70
+ # (agent loads architecture decisions, API contracts, conventions from the brain)
71
+
72
+ # 5. After a session with useful decisions:
73
+ # /kluris.remember
74
+
75
+ # 6. Validate and push
76
+ kluris dream # Regenerate indexes, check links
77
+ kluris push # Commit and push to git
78
+
79
+ # 7. Visualize the brain
80
+ kluris mri # Opens brain-mri.html
81
+ ```
82
+
83
+ ## What a brain looks like
84
+
85
+ ```
86
+ acme-brain/
87
+ ├── kluris.yml # Brain config
88
+ ├── brain.md # Root index (auto-generated)
89
+ ├── index.md # Flat neuron list (auto-generated)
90
+ ├── glossary.md # Domain terms (hand-edited)
91
+ ├── README.md # Usage guide
92
+ ├── architecture/
93
+ │ ├── map.md # Lobe index (auto-generated)
94
+ │ ├── auth-keycloak.md # <- neuron
95
+ │ └── data-flow.md # <- neuron
96
+ ├── decisions/
97
+ │ ├── map.md
98
+ │ └── use-raw-sql.md # <- neuron (decision template)
99
+ ├── services/
100
+ │ ├── map.md
101
+ │ └── btb-backend/
102
+ │ ├── map.md
103
+ │ ├── endpoints/
104
+ │ │ └── ...
105
+ │ └── data-model.md
106
+ └── ...
107
+ ```
108
+
109
+ Folders are **lobes** (knowledge regions). Files are **neurons** (knowledge
110
+ units). Links between neurons are **synapses**. Auto-generated `map.md` files
111
+ keep everything navigable.
112
+
113
+ ## Brain types
114
+
115
+ | Type | Lobes | Use case |
116
+ |------|-------|----------|
117
+ | `team` (default) | architecture, decisions, product, standards, services, infrastructure, cortex, wisdom | Shared team knowledge across projects |
118
+ | `personal` | projects, tasks, releases, notes | Individual developer brain |
119
+ | `product` | prd, features, ux, analytics, competitors, decisions | Product management |
120
+ | `research` | literature, experiments, findings, datasets, tools, questions | Research projects |
121
+ | `blank` | (empty) | Custom structure |
122
+
123
+ ```bash
124
+ kluris create ~/my-brain --type personal
125
+ kluris create ~/product-brain --type product
126
+ ```
127
+
128
+ ## How it works
129
+
130
+ 1. `kluris create` scaffolds a git repo with lobes, indexes, and a glossary
131
+ 2. `kluris install` generates slash commands for 8 AI agents
132
+ 3. Agents use `/kluris.learn` to scan projects and populate the brain
133
+ 4. Team members use `/kluris.think <task>` to load brain context before working
134
+ 5. `kluris dream` validates links, detects orphans, regenerates indexes
135
+ 6. `kluris mri` generates an interactive HTML graph of the brain
136
+
137
+ ## Slash commands (used inside AI agents)
138
+
139
+ | Command | What it does |
140
+ |---------|-------------|
141
+ | `/kluris <anything>` | **Main command.** Natural language. |
142
+ | `/kluris.think <task>` | Load brain context, work as team expert. |
143
+ | `/kluris.remember [topic]` | Extract knowledge from session. |
144
+ | `/kluris.learn [focus]` | Deep-scan project, populate brain. |
145
+ | `/kluris.recall <topic>` | Search the brain. |
146
+ | `/kluris.neuron <topic>` | Create a knowledge file. |
147
+ | `/kluris.lobe <name>` | Create a knowledge region. |
148
+ | `/kluris.push [msg]` | Commit and push to git. |
149
+ | `/kluris.dream [focus]` | AI-powered brain maintenance. |
150
+
151
+ ## CLI commands
152
+
153
+ | Command | Flags | What it does |
154
+ |---------|-------|-------------|
155
+ | `kluris create <path>` | `--type`, `--from-config`, `--json` | Create a new brain |
156
+ | `kluris clone <url> [path]` | `--json` | Clone an existing brain |
157
+ | `kluris list` | `--json` | List all registered brains |
158
+ | `kluris status` | `--brain`, `--json` | Brain tree and recent changes |
159
+ | `kluris recall <query>` | `--brain`, `--json` | Search across neurons |
160
+ | `kluris neuron <path>` | `--lobe`, `--template`, `--brain`, `--json` | Create a neuron |
161
+ | `kluris lobe <name>` | `--parent`, `--description`, `--brain`, `--json` | Create a lobe |
162
+ | `kluris dream` | `--brain`, `--json` | Regenerate maps, validate links |
163
+ | `kluris push` | `--message`, `--brain`, `--json` | Commit and push |
164
+ | `kluris mri` | `--brain`, `--output`, `--json` | Generate brain visualization |
165
+ | `kluris install` | `--json` | Install slash commands for agents |
166
+ | `kluris remove <name>` | `--json` | Unregister a brain |
167
+ | `kluris doctor` | `--json` | Check prerequisites |
168
+ | `kluris help [command]` | `--json` | Show help |
169
+
170
+ All commands support `--json` for machine-readable output.
171
+
172
+ ## Neuron templates
173
+
174
+ The `team` brain type includes templates for structured knowledge:
175
+
176
+ ```bash
177
+ kluris neuron auth-migration.md --lobe decisions --template decision
178
+ ```
179
+
180
+ | Template | Sections |
181
+ |----------|----------|
182
+ | `decision` | Context, Decision, Rationale, Alternatives considered, Consequences |
183
+ | `incident` | Summary, Timeline, Root cause, Impact, Resolution, Lessons learned |
184
+ | `runbook` | Purpose, Prerequisites, Steps, Rollback, Contacts |
185
+
186
+ ## Brain vocabulary
187
+
188
+ | Term | Meaning |
189
+ |------|---------|
190
+ | **Brain** | Git repo of structured markdown |
191
+ | **Lobe** | Folder / knowledge region |
192
+ | **Neuron** | Single knowledge file |
193
+ | **Synapse** | Link between neurons (bidirectional) |
194
+ | **Map** | Auto-generated lobe index |
195
+ | **Index** | Flat list of all neurons |
196
+ | **MRI** | Interactive brain visualization |
197
+ | **Dream** | Brain maintenance — validate, repair |
198
+
199
+ ## Supported agents
200
+
201
+ Claude Code, Cursor, Windsurf, GitHub Copilot, Codex, Gemini CLI, Kilo Code,
202
+ Junie
203
+
204
+ ## License
205
+
206
+ MIT
kluris-0.1.0/README.md ADDED
@@ -0,0 +1,189 @@
1
+ # Kluris
2
+
3
+ > Create and manage git-backed AI brains for multi-project, multi-agent teams.
4
+
5
+ *When your best engineer sleeps, Kluris doesn't. When they leave, Kluris stays.*
6
+
7
+ ## What is Kluris?
8
+
9
+ Kluris is a CLI tool that creates **brains** — standalone git repos of
10
+ structured markdown that AI coding agents read, search, and update through
11
+ globally installed slash commands.
12
+
13
+ **Kluris = the tool. A brain = the git repo it creates.**
14
+
15
+ ### Why not a wiki, Notion, or CLAUDE.md?
16
+
17
+ - **Wikis and Notion** are for humans. Agents can't natively read them, search
18
+ across them, or write back. Kluris brains are markdown in git — AI-native.
19
+ - **CLAUDE.md** is per-project and per-tool. A brain sits above all your
20
+ projects and works with 8 different AI agents simultaneously.
21
+ - **Agent memory** is session-scoped and ephemeral. A brain is persistent,
22
+ version-controlled, and shared across the entire team.
23
+
24
+ One brain serves all your projects. Every AI agent on the team reads the same
25
+ knowledge. When someone leaves, nothing is lost.
26
+
27
+ ## Quick start
28
+
29
+ ```bash
30
+ pipx install kluris
31
+ kluris doctor # Check prerequisites
32
+ kluris create ~/my-brain --type team # Create a team brain
33
+ ```
34
+
35
+ Then open any project and run `/kluris.learn` — the AI agent will analyze
36
+ your codebase and populate the brain with architecture, conventions, APIs,
37
+ and decisions.
38
+
39
+ ### Example workflow
40
+
41
+ ```bash
42
+ # 1. Create a brain for your team
43
+ kluris create ~/acme-brain --type team
44
+
45
+ # 2. In your backend project, run the slash command:
46
+ # /kluris.learn focus on architecture and API design
47
+
48
+ # 3. In your frontend project:
49
+ # /kluris.learn focus on components and state management
50
+
51
+ # 4. Now any agent in any project can use the brain:
52
+ # /kluris.think implement the new auth flow
53
+ # (agent loads architecture decisions, API contracts, conventions from the brain)
54
+
55
+ # 5. After a session with useful decisions:
56
+ # /kluris.remember
57
+
58
+ # 6. Validate and push
59
+ kluris dream # Regenerate indexes, check links
60
+ kluris push # Commit and push to git
61
+
62
+ # 7. Visualize the brain
63
+ kluris mri # Opens brain-mri.html
64
+ ```
65
+
66
+ ## What a brain looks like
67
+
68
+ ```
69
+ acme-brain/
70
+ ├── kluris.yml # Brain config
71
+ ├── brain.md # Root index (auto-generated)
72
+ ├── index.md # Flat neuron list (auto-generated)
73
+ ├── glossary.md # Domain terms (hand-edited)
74
+ ├── README.md # Usage guide
75
+ ├── architecture/
76
+ │ ├── map.md # Lobe index (auto-generated)
77
+ │ ├── auth-keycloak.md # <- neuron
78
+ │ └── data-flow.md # <- neuron
79
+ ├── decisions/
80
+ │ ├── map.md
81
+ │ └── use-raw-sql.md # <- neuron (decision template)
82
+ ├── services/
83
+ │ ├── map.md
84
+ │ └── btb-backend/
85
+ │ ├── map.md
86
+ │ ├── endpoints/
87
+ │ │ └── ...
88
+ │ └── data-model.md
89
+ └── ...
90
+ ```
91
+
92
+ Folders are **lobes** (knowledge regions). Files are **neurons** (knowledge
93
+ units). Links between neurons are **synapses**. Auto-generated `map.md` files
94
+ keep everything navigable.
95
+
96
+ ## Brain types
97
+
98
+ | Type | Lobes | Use case |
99
+ |------|-------|----------|
100
+ | `team` (default) | architecture, decisions, product, standards, services, infrastructure, cortex, wisdom | Shared team knowledge across projects |
101
+ | `personal` | projects, tasks, releases, notes | Individual developer brain |
102
+ | `product` | prd, features, ux, analytics, competitors, decisions | Product management |
103
+ | `research` | literature, experiments, findings, datasets, tools, questions | Research projects |
104
+ | `blank` | (empty) | Custom structure |
105
+
106
+ ```bash
107
+ kluris create ~/my-brain --type personal
108
+ kluris create ~/product-brain --type product
109
+ ```
110
+
111
+ ## How it works
112
+
113
+ 1. `kluris create` scaffolds a git repo with lobes, indexes, and a glossary
114
+ 2. `kluris install` generates slash commands for 8 AI agents
115
+ 3. Agents use `/kluris.learn` to scan projects and populate the brain
116
+ 4. Team members use `/kluris.think <task>` to load brain context before working
117
+ 5. `kluris dream` validates links, detects orphans, regenerates indexes
118
+ 6. `kluris mri` generates an interactive HTML graph of the brain
119
+
120
+ ## Slash commands (used inside AI agents)
121
+
122
+ | Command | What it does |
123
+ |---------|-------------|
124
+ | `/kluris <anything>` | **Main command.** Natural language. |
125
+ | `/kluris.think <task>` | Load brain context, work as team expert. |
126
+ | `/kluris.remember [topic]` | Extract knowledge from session. |
127
+ | `/kluris.learn [focus]` | Deep-scan project, populate brain. |
128
+ | `/kluris.recall <topic>` | Search the brain. |
129
+ | `/kluris.neuron <topic>` | Create a knowledge file. |
130
+ | `/kluris.lobe <name>` | Create a knowledge region. |
131
+ | `/kluris.push [msg]` | Commit and push to git. |
132
+ | `/kluris.dream [focus]` | AI-powered brain maintenance. |
133
+
134
+ ## CLI commands
135
+
136
+ | Command | Flags | What it does |
137
+ |---------|-------|-------------|
138
+ | `kluris create <path>` | `--type`, `--from-config`, `--json` | Create a new brain |
139
+ | `kluris clone <url> [path]` | `--json` | Clone an existing brain |
140
+ | `kluris list` | `--json` | List all registered brains |
141
+ | `kluris status` | `--brain`, `--json` | Brain tree and recent changes |
142
+ | `kluris recall <query>` | `--brain`, `--json` | Search across neurons |
143
+ | `kluris neuron <path>` | `--lobe`, `--template`, `--brain`, `--json` | Create a neuron |
144
+ | `kluris lobe <name>` | `--parent`, `--description`, `--brain`, `--json` | Create a lobe |
145
+ | `kluris dream` | `--brain`, `--json` | Regenerate maps, validate links |
146
+ | `kluris push` | `--message`, `--brain`, `--json` | Commit and push |
147
+ | `kluris mri` | `--brain`, `--output`, `--json` | Generate brain visualization |
148
+ | `kluris install` | `--json` | Install slash commands for agents |
149
+ | `kluris remove <name>` | `--json` | Unregister a brain |
150
+ | `kluris doctor` | `--json` | Check prerequisites |
151
+ | `kluris help [command]` | `--json` | Show help |
152
+
153
+ All commands support `--json` for machine-readable output.
154
+
155
+ ## Neuron templates
156
+
157
+ The `team` brain type includes templates for structured knowledge:
158
+
159
+ ```bash
160
+ kluris neuron auth-migration.md --lobe decisions --template decision
161
+ ```
162
+
163
+ | Template | Sections |
164
+ |----------|----------|
165
+ | `decision` | Context, Decision, Rationale, Alternatives considered, Consequences |
166
+ | `incident` | Summary, Timeline, Root cause, Impact, Resolution, Lessons learned |
167
+ | `runbook` | Purpose, Prerequisites, Steps, Rollback, Contacts |
168
+
169
+ ## Brain vocabulary
170
+
171
+ | Term | Meaning |
172
+ |------|---------|
173
+ | **Brain** | Git repo of structured markdown |
174
+ | **Lobe** | Folder / knowledge region |
175
+ | **Neuron** | Single knowledge file |
176
+ | **Synapse** | Link between neurons (bidirectional) |
177
+ | **Map** | Auto-generated lobe index |
178
+ | **Index** | Flat list of all neurons |
179
+ | **MRI** | Interactive brain visualization |
180
+ | **Dream** | Brain maintenance — validate, repair |
181
+
182
+ ## Supported agents
183
+
184
+ Claude Code, Cursor, Windsurf, GitHub Copilot, Codex, Gemini CLI, Kilo Code,
185
+ Junie
186
+
187
+ ## License
188
+
189
+ MIT
@@ -0,0 +1,27 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "kluris"
7
+ version = "0.1.0"
8
+ description = "Create and manage git-backed AI brains for multi-project, multi-agent teams"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ dependencies = [
13
+ "click>=8.1",
14
+ "rich>=13.0",
15
+ "pyyaml>=6.0",
16
+ "python-frontmatter>=1.1",
17
+ "pydantic>=2.0",
18
+ ]
19
+
20
+ [project.scripts]
21
+ kluris = "kluris.cli:cli"
22
+
23
+ [project.optional-dependencies]
24
+ dev = ["pytest>=8.0", "pytest-cov>=5.0"]
25
+
26
+ [tool.hatch.build.targets.wheel]
27
+ packages = ["src/kluris"]
@@ -0,0 +1,3 @@
1
+ """Kluris — Git-backed AI brain manager."""
2
+
3
+ __version__ = "0.1.0"