buildlog 0.9.0__tar.gz → 0.10.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.
- {buildlog-0.9.0 → buildlog-0.10.1}/PKG-INFO +28 -26
- {buildlog-0.9.0 → buildlog-0.10.1}/README.md +26 -23
- {buildlog-0.9.0 → buildlog-0.10.1}/post_gen.py +10 -5
- {buildlog-0.9.0 → buildlog-0.10.1}/pyproject.toml +4 -6
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/cli.py +304 -26
- buildlog-0.10.1/src/buildlog/constants.py +160 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/core/__init__.py +44 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/core/operations.py +1170 -0
- buildlog-0.10.1/src/buildlog/data/seeds/bragi.yaml +61 -0
- buildlog-0.10.1/src/buildlog/mcp/__init__.py +65 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/mcp/server.py +36 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/mcp/tools.py +526 -12
- buildlog-0.10.1/template/buildlog/.gitkeep +0 -0
- buildlog-0.10.1/template/buildlog/assets/.gitkeep +0 -0
- buildlog-0.9.0/src/buildlog/mcp/__init__.py +0 -17
- {buildlog-0.9.0 → buildlog-0.10.1}/.gitignore +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/LICENSE +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/copier.yml +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/__init__.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/confidence.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/core/bandit.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/data/__init__.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/data/seeds/security_karen.yaml +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/data/seeds/test_terrorist.yaml +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/distill.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/embeddings.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/__init__.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/bandit.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/confidence.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/embeddings.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/experiments.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/engine/types.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/llm.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/__init__.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/base.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/claude_md.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/continue_dev.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/copilot.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/cursor.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/settings_json.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/skill.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/tracking.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/render/windsurf.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/__init__.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/categorizers.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/extractors.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/generators.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/llm_extractor.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/models.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/pipeline.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seed_engine/sources.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/seeds.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/skills.py +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/src/buildlog/stats.py +0 -0
- {buildlog-0.9.0/template/buildlog → buildlog-0.10.1/template/buildlog/.buildlog}/.gitkeep +0 -0
- {buildlog-0.9.0/template/buildlog/assets → buildlog-0.10.1/template/buildlog/.buildlog/seeds}/.gitkeep +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/template/buildlog/2026-01-01-example.md +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/template/buildlog/BUILDLOG_SYSTEM.md +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/template/buildlog/_TEMPLATE.md +0 -0
- {buildlog-0.9.0 → buildlog-0.10.1}/template/buildlog/_TEMPLATE_QUICK.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: buildlog
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.1
|
|
4
4
|
Summary: Engineering notebook for AI-assisted development
|
|
5
5
|
Project-URL: Homepage, https://github.com/Peleke/buildlog-template
|
|
6
6
|
Project-URL: Repository, https://github.com/Peleke/buildlog-template
|
|
@@ -22,12 +22,12 @@ Classifier: Topic :: Software Development :: Documentation
|
|
|
22
22
|
Requires-Python: >=3.10
|
|
23
23
|
Requires-Dist: click>=8.0.0
|
|
24
24
|
Requires-Dist: copier>=9.0.0
|
|
25
|
+
Requires-Dist: mcp>=1.0.0
|
|
25
26
|
Requires-Dist: numpy>=1.21.0
|
|
26
27
|
Requires-Dist: pymupdf>=1.26.7
|
|
27
28
|
Requires-Dist: pyyaml>=6.0.0
|
|
28
29
|
Provides-Extra: all
|
|
29
30
|
Requires-Dist: anthropic>=0.40.0; extra == 'all'
|
|
30
|
-
Requires-Dist: mcp>=1.0.0; extra == 'all'
|
|
31
31
|
Requires-Dist: ollama>=0.4.0; extra == 'all'
|
|
32
32
|
Requires-Dist: openai>=1.0.0; extra == 'all'
|
|
33
33
|
Requires-Dist: sentence-transformers>=2.2.0; extra == 'all'
|
|
@@ -51,7 +51,6 @@ Provides-Extra: llm
|
|
|
51
51
|
Requires-Dist: anthropic>=0.40.0; extra == 'llm'
|
|
52
52
|
Requires-Dist: ollama>=0.4.0; extra == 'llm'
|
|
53
53
|
Provides-Extra: mcp
|
|
54
|
-
Requires-Dist: mcp>=1.0.0; extra == 'mcp'
|
|
55
54
|
Provides-Extra: ollama
|
|
56
55
|
Requires-Dist: ollama>=0.4.0; extra == 'ollama'
|
|
57
56
|
Provides-Extra: openai
|
|
@@ -164,21 +163,34 @@ The roadmap: contextual bandits (now) -> richer policy models -> longer-horizon
|
|
|
164
163
|
|
|
165
164
|
## Installation
|
|
166
165
|
|
|
167
|
-
###
|
|
166
|
+
### Always-On Mode (recommended)
|
|
167
|
+
|
|
168
|
+
We run buildlog as an **ambient data capture layer** across all projects. One command, works everywhere:
|
|
168
169
|
|
|
169
170
|
```bash
|
|
170
|
-
|
|
171
|
+
pipx install buildlog # or: uv tool install buildlog
|
|
172
|
+
buildlog init-mcp --global # registers MCP + writes instructions to ~/.claude/CLAUDE.md
|
|
171
173
|
```
|
|
172
174
|
|
|
173
|
-
|
|
175
|
+
That's it. Claude Code now has all 29 buildlog tools **and knows how to use them** in every project you open. No per-project setup needed.
|
|
176
|
+
|
|
177
|
+
The `--global` flag:
|
|
178
|
+
- Registers the MCP server in `~/.claude/settings.json`
|
|
179
|
+
- Creates `~/.claude/CLAUDE.md` with usage instructions so Claude proactively uses buildlog
|
|
180
|
+
- Works immediately in any repo, even without a local `buildlog/` directory
|
|
181
|
+
|
|
182
|
+
This is how we use buildlog ourselves: always on, capturing structured trajectories from every session, feeding downstream systems that generate engineering logs, courses, and content.
|
|
183
|
+
|
|
184
|
+
### Per-project setup
|
|
174
185
|
|
|
175
|
-
|
|
186
|
+
If you prefer explicit per-project control:
|
|
176
187
|
|
|
177
188
|
```bash
|
|
178
|
-
|
|
189
|
+
pip install buildlog # MCP server included by default
|
|
190
|
+
buildlog init --defaults # scaffold buildlog/, register MCP, update CLAUDE.md
|
|
179
191
|
```
|
|
180
192
|
|
|
181
|
-
|
|
193
|
+
This creates a `buildlog/` directory with templates and configures Claude Code for that specific project.
|
|
182
194
|
|
|
183
195
|
### For JS/TS projects
|
|
184
196
|
|
|
@@ -186,30 +198,20 @@ Omit `[mcp]` if you only need the CLI.
|
|
|
186
198
|
npx @peleke.s/buildlog init
|
|
187
199
|
```
|
|
188
200
|
|
|
189
|
-
###
|
|
201
|
+
### Verify installation
|
|
190
202
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
{
|
|
195
|
-
"mcpServers": {
|
|
196
|
-
"buildlog": {
|
|
197
|
-
"command": "buildlog-mcp",
|
|
198
|
-
"args": []
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
203
|
+
```bash
|
|
204
|
+
buildlog mcp-test # verify all 29 tools are registered
|
|
205
|
+
buildlog overview # check project state (works without init in global mode)
|
|
202
206
|
```
|
|
203
207
|
|
|
204
|
-
This exposes buildlog tools (seeds, skills, experiments, gauntlet, bandit status) to any Claude Code session.
|
|
205
|
-
|
|
206
208
|
## Quick Start
|
|
207
209
|
|
|
208
210
|
```bash
|
|
209
|
-
buildlog init
|
|
210
|
-
buildlog new my-feature
|
|
211
|
+
buildlog init --defaults # scaffold + MCP + CLAUDE.md
|
|
212
|
+
buildlog new my-feature # start a session
|
|
211
213
|
# ... work ...
|
|
212
|
-
buildlog
|
|
214
|
+
buildlog commit -m "feat: add auth"
|
|
213
215
|
buildlog experiment start
|
|
214
216
|
# ... work across sessions ...
|
|
215
217
|
buildlog experiment end
|
|
@@ -104,21 +104,34 @@ The roadmap: contextual bandits (now) -> richer policy models -> longer-horizon
|
|
|
104
104
|
|
|
105
105
|
## Installation
|
|
106
106
|
|
|
107
|
-
###
|
|
107
|
+
### Always-On Mode (recommended)
|
|
108
|
+
|
|
109
|
+
We run buildlog as an **ambient data capture layer** across all projects. One command, works everywhere:
|
|
108
110
|
|
|
109
111
|
```bash
|
|
110
|
-
|
|
112
|
+
pipx install buildlog # or: uv tool install buildlog
|
|
113
|
+
buildlog init-mcp --global # registers MCP + writes instructions to ~/.claude/CLAUDE.md
|
|
111
114
|
```
|
|
112
115
|
|
|
113
|
-
|
|
116
|
+
That's it. Claude Code now has all 29 buildlog tools **and knows how to use them** in every project you open. No per-project setup needed.
|
|
117
|
+
|
|
118
|
+
The `--global` flag:
|
|
119
|
+
- Registers the MCP server in `~/.claude/settings.json`
|
|
120
|
+
- Creates `~/.claude/CLAUDE.md` with usage instructions so Claude proactively uses buildlog
|
|
121
|
+
- Works immediately in any repo, even without a local `buildlog/` directory
|
|
122
|
+
|
|
123
|
+
This is how we use buildlog ourselves: always on, capturing structured trajectories from every session, feeding downstream systems that generate engineering logs, courses, and content.
|
|
124
|
+
|
|
125
|
+
### Per-project setup
|
|
114
126
|
|
|
115
|
-
|
|
127
|
+
If you prefer explicit per-project control:
|
|
116
128
|
|
|
117
129
|
```bash
|
|
118
|
-
|
|
130
|
+
pip install buildlog # MCP server included by default
|
|
131
|
+
buildlog init --defaults # scaffold buildlog/, register MCP, update CLAUDE.md
|
|
119
132
|
```
|
|
120
133
|
|
|
121
|
-
|
|
134
|
+
This creates a `buildlog/` directory with templates and configures Claude Code for that specific project.
|
|
122
135
|
|
|
123
136
|
### For JS/TS projects
|
|
124
137
|
|
|
@@ -126,30 +139,20 @@ Omit `[mcp]` if you only need the CLI.
|
|
|
126
139
|
npx @peleke.s/buildlog init
|
|
127
140
|
```
|
|
128
141
|
|
|
129
|
-
###
|
|
142
|
+
### Verify installation
|
|
130
143
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
{
|
|
135
|
-
"mcpServers": {
|
|
136
|
-
"buildlog": {
|
|
137
|
-
"command": "buildlog-mcp",
|
|
138
|
-
"args": []
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
144
|
+
```bash
|
|
145
|
+
buildlog mcp-test # verify all 29 tools are registered
|
|
146
|
+
buildlog overview # check project state (works without init in global mode)
|
|
142
147
|
```
|
|
143
148
|
|
|
144
|
-
This exposes buildlog tools (seeds, skills, experiments, gauntlet, bandit status) to any Claude Code session.
|
|
145
|
-
|
|
146
149
|
## Quick Start
|
|
147
150
|
|
|
148
151
|
```bash
|
|
149
|
-
buildlog init
|
|
150
|
-
buildlog new my-feature
|
|
152
|
+
buildlog init --defaults # scaffold + MCP + CLAUDE.md
|
|
153
|
+
buildlog new my-feature # start a session
|
|
151
154
|
# ... work ...
|
|
152
|
-
buildlog
|
|
155
|
+
buildlog commit -m "feat: add auth"
|
|
153
156
|
buildlog experiment start
|
|
154
157
|
# ... work across sessions ...
|
|
155
158
|
buildlog experiment end
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
try:
|
|
7
|
+
from buildlog.constants import CLAUDE_MD_BUILDLOG_SECTION
|
|
8
|
+
except ImportError:
|
|
9
|
+
# Fallback for when buildlog isn't installed (e.g., copier from GitHub)
|
|
10
|
+
CLAUDE_MD_BUILDLOG_SECTION = """
|
|
7
11
|
## Build Journal
|
|
8
12
|
|
|
9
13
|
After completing significant work (features, debugging sessions, deployments,
|
|
@@ -40,15 +44,16 @@ def main():
|
|
|
40
44
|
|
|
41
45
|
content = claude_md.read_text()
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
# Check for either old or new section marker
|
|
48
|
+
if "## buildlog Integration" in content or "## Build Journal" in content:
|
|
49
|
+
print("buildlog section already exists in CLAUDE.md")
|
|
45
50
|
return
|
|
46
51
|
|
|
47
52
|
# Append to end of file
|
|
48
53
|
with open(claude_md, "a") as f:
|
|
49
|
-
f.write("\n" +
|
|
54
|
+
f.write("\n" + CLAUDE_MD_BUILDLOG_SECTION)
|
|
50
55
|
|
|
51
|
-
print("Added
|
|
56
|
+
print("Added buildlog Integration section to CLAUDE.md")
|
|
52
57
|
|
|
53
58
|
|
|
54
59
|
if __name__ == "__main__":
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "buildlog"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.10.1"
|
|
8
8
|
description = "Engineering notebook for AI-assisted development"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -32,6 +32,7 @@ dependencies = [
|
|
|
32
32
|
"pyyaml>=6.0.0",
|
|
33
33
|
"numpy>=1.21.0",
|
|
34
34
|
"pymupdf>=1.26.7",
|
|
35
|
+
"mcp>=1.0.0",
|
|
35
36
|
]
|
|
36
37
|
|
|
37
38
|
[project.optional-dependencies]
|
|
@@ -60,15 +61,12 @@ llm = [
|
|
|
60
61
|
"ollama>=0.4.0",
|
|
61
62
|
"anthropic>=0.40.0",
|
|
62
63
|
]
|
|
63
|
-
# MCP server for Claude Code integration
|
|
64
|
-
mcp = [
|
|
65
|
-
"mcp>=1.0.0",
|
|
66
|
-
]
|
|
64
|
+
# MCP server for Claude Code integration (now a default dependency, kept for backwards compat)
|
|
65
|
+
mcp = []
|
|
67
66
|
# All optional features
|
|
68
67
|
all = [
|
|
69
68
|
"sentence-transformers>=2.2.0",
|
|
70
69
|
"openai>=1.0.0",
|
|
71
|
-
"mcp>=1.0.0",
|
|
72
70
|
"ollama>=0.4.0",
|
|
73
71
|
"anthropic>=0.40.0",
|
|
74
72
|
]
|