ftl-project-expert 0.5.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 (93) hide show
  1. ftl_project_expert-0.5.0/.gitignore +17 -0
  2. ftl_project_expert-0.5.0/PKG-INFO +196 -0
  3. ftl_project_expert-0.5.0/README.md +184 -0
  4. ftl_project_expert-0.5.0/ftl_project_expert/__init__.py +1 -0
  5. ftl_project_expert-0.5.0/ftl_project_expert/cli.py +2432 -0
  6. ftl_project_expert-0.5.0/ftl_project_expert/data/SKILL.md +61 -0
  7. ftl_project_expert-0.5.0/ftl_project_expert/llm.py +89 -0
  8. ftl_project_expert-0.5.0/ftl_project_expert/prompts/__init__.py +15 -0
  9. ftl_project_expert-0.5.0/ftl_project_expert/prompts/common.py +30 -0
  10. ftl_project_expert-0.5.0/ftl_project_expert/prompts/derive.py +83 -0
  11. ftl_project_expert-0.5.0/ftl_project_expert/prompts/explore.py +59 -0
  12. ftl_project_expert-0.5.0/ftl_project_expert/prompts/propose.py +32 -0
  13. ftl_project_expert-0.5.0/ftl_project_expert/prompts/research.py +65 -0
  14. ftl_project_expert-0.5.0/ftl_project_expert/prompts/scan.py +98 -0
  15. ftl_project_expert-0.5.0/ftl_project_expert/prompts/summary.py +33 -0
  16. ftl_project_expert-0.5.0/ftl_project_expert/sources/__init__.py +15 -0
  17. ftl_project_expert-0.5.0/ftl_project_expert/sources/github.py +213 -0
  18. ftl_project_expert-0.5.0/ftl_project_expert/sources/gitlab.py +250 -0
  19. ftl_project_expert-0.5.0/ftl_project_expert/sources/jira.py +262 -0
  20. ftl_project_expert-0.5.0/ftl_project_expert/sources/models.py +177 -0
  21. ftl_project_expert-0.5.0/ftl_project_expert/topics.py +158 -0
  22. ftl_project_expert-0.5.0/pyproject.toml +20 -0
  23. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/00-auto-functions.json +74 -0
  24. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-claude-response.txt +98 -0
  25. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-gemini-response.txt +33 -0
  26. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-observations.json +195 -0
  27. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-observe-prompt.txt +689 -0
  28. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-observe-response.txt +16 -0
  29. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/01-review-prompt.txt +950 -0
  30. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/observations.json +267 -0
  31. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-09_10-40-22/report.md +117 -0
  32. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/00-auto-functions.json +88 -0
  33. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-claude-response.txt +137 -0
  34. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-gemini-response.txt +168 -0
  35. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-observations.json +236 -0
  36. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-observe-prompt.txt +811 -0
  37. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-observe-response.txt +19 -0
  38. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/01-review-prompt.txt +1127 -0
  39. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/observations.json +322 -0
  40. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-13-42/report.md +256 -0
  41. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/00-auto-functions.json +95 -0
  42. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-claude-response.txt +130 -0
  43. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-gemini-response.txt +92 -0
  44. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-observations.json +264 -0
  45. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-observe-prompt.txt +884 -0
  46. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-observe-response.txt +20 -0
  47. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/01-review-prompt.txt +1235 -0
  48. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/observations.json +357 -0
  49. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-3/2026-06-15_16-20-55/report.md +186 -0
  50. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/00-auto-functions.json +32 -0
  51. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-claude-response.txt +108 -0
  52. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-gemini-response.txt +68 -0
  53. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-observations.json +421 -0
  54. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-observe-prompt.txt +603 -0
  55. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-observe-response.txt +21 -0
  56. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/01-review-prompt.txt +1048 -0
  57. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/observations.json +451 -0
  58. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-24-22/report.md +150 -0
  59. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/00-auto-functions.json +32 -0
  60. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-claude-response.txt +114 -0
  61. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-gemini-response.txt +42 -0
  62. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-observations.json +123 -0
  63. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-observe-prompt.txt +599 -0
  64. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-observe-response.txt +18 -0
  65. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/01-review-prompt.txt +746 -0
  66. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/observations.json +153 -0
  67. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-45-00/report.md +123 -0
  68. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/00-auto-functions.json +32 -0
  69. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-claude-response.txt +103 -0
  70. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-gemini-response.txt +54 -0
  71. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-observations.json +238 -0
  72. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-observe-prompt.txt +605 -0
  73. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-observe-response.txt +17 -0
  74. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/01-review-prompt.txt +867 -0
  75. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/observations.json +268 -0
  76. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-5/2026-06-15_17-51-21/report.md +133 -0
  77. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/00-auto-functions.json +37 -0
  78. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-claude-response.txt +81 -0
  79. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-gemini-response.txt +48 -0
  80. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-observations.json +131 -0
  81. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-observe-prompt.txt +303 -0
  82. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-observe-response.txt +13 -0
  83. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/01-review-prompt.txt +463 -0
  84. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/observations.json +166 -0
  85. ftl_project_expert-0.5.0/reviews/benthomasson-ftl-project-expert-6/2026-06-15_18-11-09/report.md +97 -0
  86. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-claude-response.txt +71 -0
  87. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-gemini-response.txt +27 -0
  88. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-observations.json +332 -0
  89. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-observe-prompt.txt +228 -0
  90. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-observe-response.txt +16 -0
  91. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/01-review-prompt.txt +554 -0
  92. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/observations.json +332 -0
  93. ftl_project_expert-0.5.0/reviews/pr-6/2026-06-15_19-37-09/report.md +73 -0
@@ -0,0 +1,17 @@
1
+ __pycache__/
2
+ *.pyc
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ *.db
8
+ .code-expert/
9
+ .project-expert/
10
+ entries/
11
+ beliefs.md
12
+ nogoods.md
13
+ proposed-beliefs.md
14
+ proposed-derivations.md
15
+ network.json
16
+ uv.lock
17
+ .claude/
@@ -0,0 +1,196 @@
1
+ Metadata-Version: 2.4
2
+ Name: ftl-project-expert
3
+ Version: 0.5.0
4
+ Summary: Build expert knowledge bases from project management data
5
+ Requires-Python: >=3.12
6
+ Requires-Dist: click>=8.0
7
+ Requires-Dist: requests>=2.28
8
+ Provides-Extra: embeddings
9
+ Requires-Dist: fastembed>=0.7.4; extra == 'embeddings'
10
+ Requires-Dist: numpy; extra == 'embeddings'
11
+ Description-Content-Type: text/markdown
12
+
13
+ # project-expert
14
+
15
+ Deep project analysis through belief networks. Systematically scans issue trackers (GitHub, GitLab, Jira), extracts factual beliefs about project state, builds dependency networks, and surfaces risks that status meetings, dashboards, and individual issue views miss.
16
+
17
+ **What it finds:** Not just overdue tickets, but structural project risks — overloaded teams with no recent closures, epics with hidden blockers, milestones at risk from upstream dependencies, and patterns across issues that only become visible when you build a theory of the project and reason over it.
18
+
19
+ **How it works:** project-expert fetches issues from your tracker, runs them through an LLM for structured analysis, extracts factual claims into a reason maintenance system, and derives logical consequences across the belief network — surfacing the issues that matter most.
20
+
21
+ ## Install
22
+
23
+ ```bash
24
+ uv tool install git+https://github.com/benthomasson/ftl-project-expert
25
+ ```
26
+
27
+ Prerequisites — these CLIs must be on your PATH:
28
+
29
+ - [`entry`](https://github.com/benthomasson/entry) — chronological entry creation
30
+ - [`beliefs`](https://github.com/benthomasson/beliefs) or [`reasons`](https://github.com/benthomasson/reasons) — belief registry management
31
+ - `claude` or `gemini` — at least one LLM CLI
32
+
33
+ Platform CLIs (install whichever you need):
34
+
35
+ - [`gh`](https://cli.github.com) — GitHub CLI
36
+ - [`glab`](https://gitlab.com/gitlab-org/cli) — GitLab CLI
37
+ - For Jira: set `JIRA_URL`, `JIRA_USER`, `JIRA_TOKEN` env vars
38
+
39
+ ## Quick Start
40
+
41
+ ```bash
42
+ # 1. Point project-expert at an issue tracker
43
+ project-expert init github owner/repo --domain "Payment platform"
44
+
45
+ # 2. Scan issues for an overview
46
+ project-expert scan
47
+
48
+ # 3. Explore topics one at a time
49
+ project-expert explore # next topic
50
+ project-expert explore --pick 3 # specific topic
51
+ project-expert explore --pick 1,3,8 # multiple (stable indices)
52
+ project-expert explore --skip # skip and move on
53
+
54
+ # 4. Extract beliefs from exploration entries
55
+ project-expert propose-beliefs
56
+ # Review proposed-beliefs.md — mark entries ACCEPT or REJECT
57
+ project-expert accept-beliefs
58
+
59
+ # 5. Check progress
60
+ project-expert status
61
+ ```
62
+
63
+ ## How It Works
64
+
65
+ project-expert follows a **scan → explore → distill → reason** pipeline:
66
+
67
+ ```
68
+ scan Fetch issues → LLM analysis → topic queue
69
+
70
+
71
+ explore Pop one topic, fetch full issue, analyze deeply
72
+ │ ├── issue Single issue deep-dive
73
+ │ ├── epic Epic with children/blockers
74
+ │ ├── milestone Milestone risk assessment
75
+ │ └── general Cross-cutting analysis
76
+
77
+
78
+ propose-beliefs Batch-extract factual claims from entries
79
+
80
+
81
+ accept-beliefs Import reviewed claims into beliefs.md / reasons.db
82
+ ```
83
+
84
+ Each exploration creates a dated entry in `entries/` and may generate new topics, so the queue grows organically as you learn.
85
+
86
+ ## Supported Platforms
87
+
88
+ | Platform | Init Command | CLI Required |
89
+ |----------|-------------|-------------|
90
+ | GitHub | `project-expert init github owner/repo` | `gh` |
91
+ | GitLab | `project-expert init gitlab group/project` | `glab` |
92
+ | Jira | `project-expert init jira PROJ --jira-url URL` | None (REST API) |
93
+
94
+ ## Commands
95
+
96
+ ### `project-expert init <platform> <target>`
97
+
98
+ Bootstrap a knowledge base. Creates `.project-expert/` config, `entries/`, and belief store.
99
+
100
+ ```bash
101
+ project-expert init github owner/repo --domain "Payment platform"
102
+ project-expert init gitlab group/project --domain "CI/CD infrastructure"
103
+ project-expert init jira MYPROJ --jira-url https://myco.atlassian.net
104
+ ```
105
+
106
+ ### `project-expert scan`
107
+
108
+ Fetch issues and produce an LLM-powered overview. Populates the topic queue with issues, epics, and milestones worth exploring.
109
+
110
+ ```bash
111
+ project-expert scan
112
+ project-expert scan --limit 200 # fetch more issues
113
+ project-expert scan --labels bug,critical # filter by labels
114
+ project-expert scan --state closed # scan closed issues
115
+ project-expert scan --jql "project=X AND priority=High" # Jira JQL
116
+ ```
117
+
118
+ ### `project-expert explore`
119
+
120
+ Process the next topic in the queue. Fetches the full issue (with comments), runs deep analysis, creates an entry, and discovers follow-up topics.
121
+
122
+ ```bash
123
+ project-expert explore # next pending topic
124
+ project-expert explore --pick 2 # pick topic #2
125
+ project-expert explore --pick 1,3,8 # pick multiple (indices resolved before any are consumed)
126
+ project-expert explore --skip # skip current topic
127
+ project-expert explore --loop 10 # continuously explore up to 10 topics
128
+ ```
129
+
130
+ ### `project-expert topics`
131
+
132
+ View the exploration queue.
133
+
134
+ ```bash
135
+ project-expert topics # pending only
136
+ project-expert topics --all # include done and skipped
137
+ ```
138
+
139
+ ### `project-expert propose-beliefs`
140
+
141
+ Extract candidate beliefs from exploration entries.
142
+
143
+ ```bash
144
+ project-expert propose-beliefs
145
+ project-expert propose-beliefs --batch-size 10
146
+ ```
147
+
148
+ Output goes to `proposed-beliefs.md`. Each proposal is marked `[ACCEPT]` or `[REJECT]` — review and flip as needed, then import.
149
+
150
+ ### `project-expert accept-beliefs`
151
+
152
+ Import accepted proposals into `beliefs.md` or `reasons.db`.
153
+
154
+ ```bash
155
+ project-expert accept-beliefs
156
+ project-expert accept-beliefs --file my-proposals.md
157
+ ```
158
+
159
+ ### `project-expert status`
160
+
161
+ Dashboard showing platform, entries, beliefs, topic queue, and cached issues.
162
+
163
+ ## Global Options
164
+
165
+ | Option | Description |
166
+ |--------|-------------|
167
+ | `--model`, `-m` | Model to use: `claude` or `gemini` (default: claude) |
168
+ | `--quiet`, `-q` | Suppress explanation output to stdout |
169
+ | `--timeout`, `-t` | LLM timeout in seconds (default: 300) |
170
+ | `--version` | Show version |
171
+
172
+ ## Project Layout
173
+
174
+ After `init`, the working directory gets:
175
+
176
+ ```
177
+ .project-expert/
178
+ ├── config.json # platform, repo/project, domain
179
+ ├── topics.json # exploration queue
180
+ └── issues-cache.json # cached issue data from last scan
181
+
182
+ entries/ # dated exploration entries
183
+ ├── 2026/04/09/
184
+ │ ├── scan-owner-repo.md
185
+ │ └── explore-GH-42.md
186
+
187
+ beliefs.md # belief registry
188
+ proposed-beliefs.md # proposals awaiting review
189
+ ```
190
+
191
+ ## Supported Models
192
+
193
+ | Name | CLI Command | Notes |
194
+ |------|-------------|-------|
195
+ | `claude` | `claude -p` | Default. Requires [Claude Code](https://claude.com/claude-code) |
196
+ | `gemini` | `gemini -p ""` | Requires Gemini CLI |
@@ -0,0 +1,184 @@
1
+ # project-expert
2
+
3
+ Deep project analysis through belief networks. Systematically scans issue trackers (GitHub, GitLab, Jira), extracts factual beliefs about project state, builds dependency networks, and surfaces risks that status meetings, dashboards, and individual issue views miss.
4
+
5
+ **What it finds:** Not just overdue tickets, but structural project risks — overloaded teams with no recent closures, epics with hidden blockers, milestones at risk from upstream dependencies, and patterns across issues that only become visible when you build a theory of the project and reason over it.
6
+
7
+ **How it works:** project-expert fetches issues from your tracker, runs them through an LLM for structured analysis, extracts factual claims into a reason maintenance system, and derives logical consequences across the belief network — surfacing the issues that matter most.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ uv tool install git+https://github.com/benthomasson/ftl-project-expert
13
+ ```
14
+
15
+ Prerequisites — these CLIs must be on your PATH:
16
+
17
+ - [`entry`](https://github.com/benthomasson/entry) — chronological entry creation
18
+ - [`beliefs`](https://github.com/benthomasson/beliefs) or [`reasons`](https://github.com/benthomasson/reasons) — belief registry management
19
+ - `claude` or `gemini` — at least one LLM CLI
20
+
21
+ Platform CLIs (install whichever you need):
22
+
23
+ - [`gh`](https://cli.github.com) — GitHub CLI
24
+ - [`glab`](https://gitlab.com/gitlab-org/cli) — GitLab CLI
25
+ - For Jira: set `JIRA_URL`, `JIRA_USER`, `JIRA_TOKEN` env vars
26
+
27
+ ## Quick Start
28
+
29
+ ```bash
30
+ # 1. Point project-expert at an issue tracker
31
+ project-expert init github owner/repo --domain "Payment platform"
32
+
33
+ # 2. Scan issues for an overview
34
+ project-expert scan
35
+
36
+ # 3. Explore topics one at a time
37
+ project-expert explore # next topic
38
+ project-expert explore --pick 3 # specific topic
39
+ project-expert explore --pick 1,3,8 # multiple (stable indices)
40
+ project-expert explore --skip # skip and move on
41
+
42
+ # 4. Extract beliefs from exploration entries
43
+ project-expert propose-beliefs
44
+ # Review proposed-beliefs.md — mark entries ACCEPT or REJECT
45
+ project-expert accept-beliefs
46
+
47
+ # 5. Check progress
48
+ project-expert status
49
+ ```
50
+
51
+ ## How It Works
52
+
53
+ project-expert follows a **scan → explore → distill → reason** pipeline:
54
+
55
+ ```
56
+ scan Fetch issues → LLM analysis → topic queue
57
+
58
+
59
+ explore Pop one topic, fetch full issue, analyze deeply
60
+ │ ├── issue Single issue deep-dive
61
+ │ ├── epic Epic with children/blockers
62
+ │ ├── milestone Milestone risk assessment
63
+ │ └── general Cross-cutting analysis
64
+
65
+
66
+ propose-beliefs Batch-extract factual claims from entries
67
+
68
+
69
+ accept-beliefs Import reviewed claims into beliefs.md / reasons.db
70
+ ```
71
+
72
+ Each exploration creates a dated entry in `entries/` and may generate new topics, so the queue grows organically as you learn.
73
+
74
+ ## Supported Platforms
75
+
76
+ | Platform | Init Command | CLI Required |
77
+ |----------|-------------|-------------|
78
+ | GitHub | `project-expert init github owner/repo` | `gh` |
79
+ | GitLab | `project-expert init gitlab group/project` | `glab` |
80
+ | Jira | `project-expert init jira PROJ --jira-url URL` | None (REST API) |
81
+
82
+ ## Commands
83
+
84
+ ### `project-expert init <platform> <target>`
85
+
86
+ Bootstrap a knowledge base. Creates `.project-expert/` config, `entries/`, and belief store.
87
+
88
+ ```bash
89
+ project-expert init github owner/repo --domain "Payment platform"
90
+ project-expert init gitlab group/project --domain "CI/CD infrastructure"
91
+ project-expert init jira MYPROJ --jira-url https://myco.atlassian.net
92
+ ```
93
+
94
+ ### `project-expert scan`
95
+
96
+ Fetch issues and produce an LLM-powered overview. Populates the topic queue with issues, epics, and milestones worth exploring.
97
+
98
+ ```bash
99
+ project-expert scan
100
+ project-expert scan --limit 200 # fetch more issues
101
+ project-expert scan --labels bug,critical # filter by labels
102
+ project-expert scan --state closed # scan closed issues
103
+ project-expert scan --jql "project=X AND priority=High" # Jira JQL
104
+ ```
105
+
106
+ ### `project-expert explore`
107
+
108
+ Process the next topic in the queue. Fetches the full issue (with comments), runs deep analysis, creates an entry, and discovers follow-up topics.
109
+
110
+ ```bash
111
+ project-expert explore # next pending topic
112
+ project-expert explore --pick 2 # pick topic #2
113
+ project-expert explore --pick 1,3,8 # pick multiple (indices resolved before any are consumed)
114
+ project-expert explore --skip # skip current topic
115
+ project-expert explore --loop 10 # continuously explore up to 10 topics
116
+ ```
117
+
118
+ ### `project-expert topics`
119
+
120
+ View the exploration queue.
121
+
122
+ ```bash
123
+ project-expert topics # pending only
124
+ project-expert topics --all # include done and skipped
125
+ ```
126
+
127
+ ### `project-expert propose-beliefs`
128
+
129
+ Extract candidate beliefs from exploration entries.
130
+
131
+ ```bash
132
+ project-expert propose-beliefs
133
+ project-expert propose-beliefs --batch-size 10
134
+ ```
135
+
136
+ Output goes to `proposed-beliefs.md`. Each proposal is marked `[ACCEPT]` or `[REJECT]` — review and flip as needed, then import.
137
+
138
+ ### `project-expert accept-beliefs`
139
+
140
+ Import accepted proposals into `beliefs.md` or `reasons.db`.
141
+
142
+ ```bash
143
+ project-expert accept-beliefs
144
+ project-expert accept-beliefs --file my-proposals.md
145
+ ```
146
+
147
+ ### `project-expert status`
148
+
149
+ Dashboard showing platform, entries, beliefs, topic queue, and cached issues.
150
+
151
+ ## Global Options
152
+
153
+ | Option | Description |
154
+ |--------|-------------|
155
+ | `--model`, `-m` | Model to use: `claude` or `gemini` (default: claude) |
156
+ | `--quiet`, `-q` | Suppress explanation output to stdout |
157
+ | `--timeout`, `-t` | LLM timeout in seconds (default: 300) |
158
+ | `--version` | Show version |
159
+
160
+ ## Project Layout
161
+
162
+ After `init`, the working directory gets:
163
+
164
+ ```
165
+ .project-expert/
166
+ ├── config.json # platform, repo/project, domain
167
+ ├── topics.json # exploration queue
168
+ └── issues-cache.json # cached issue data from last scan
169
+
170
+ entries/ # dated exploration entries
171
+ ├── 2026/04/09/
172
+ │ ├── scan-owner-repo.md
173
+ │ └── explore-GH-42.md
174
+
175
+ beliefs.md # belief registry
176
+ proposed-beliefs.md # proposals awaiting review
177
+ ```
178
+
179
+ ## Supported Models
180
+
181
+ | Name | CLI Command | Notes |
182
+ |------|-------------|-------|
183
+ | `claude` | `claude -p` | Default. Requires [Claude Code](https://claude.com/claude-code) |
184
+ | `gemini` | `gemini -p ""` | Requires Gemini CLI |
@@ -0,0 +1 @@
1
+ """Project Expert — build expert knowledge bases from project management data."""