agentic-beacon 1.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.
- agentic_beacon-1.1.0/.gitignore +34 -0
- agentic_beacon-1.1.0/.release-trigger +1 -0
- agentic_beacon-1.1.0/CHANGELOG.md +29 -0
- agentic_beacon-1.1.0/LICENSE +21 -0
- agentic_beacon-1.1.0/PKG-INFO +385 -0
- agentic_beacon-1.1.0/PRIVATE_DEPLOYMENT.md +199 -0
- agentic_beacon-1.1.0/PROJECT_COMPLETE.md +337 -0
- agentic_beacon-1.1.0/PYPI_RELEASE.md +229 -0
- agentic_beacon-1.1.0/QUICKSTART.md +179 -0
- agentic_beacon-1.1.0/README.md +352 -0
- agentic_beacon-1.1.0/REBRANDING.md +196 -0
- agentic_beacon-1.1.0/pyproject.toml +52 -0
- agentic_beacon-1.1.0/src/beacon/__init__.py +9 -0
- agentic_beacon-1.1.0/src/beacon/cli.py +661 -0
- agentic_beacon-1.1.0/src/beacon/distributor.py +434 -0
- agentic_beacon-1.1.0/src/beacon/initializer.py +665 -0
- agentic_beacon-1.1.0/test_cli.py +86 -0
- agentic_beacon-1.1.0/uv.lock +718 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Editor and IDE
|
|
2
|
+
.vscode/
|
|
3
|
+
.idea/
|
|
4
|
+
*.swp
|
|
5
|
+
*.swo
|
|
6
|
+
*~
|
|
7
|
+
|
|
8
|
+
# OS
|
|
9
|
+
.DS_Store
|
|
10
|
+
Thumbs.db
|
|
11
|
+
|
|
12
|
+
# Temporary files
|
|
13
|
+
*.tmp
|
|
14
|
+
*.bak
|
|
15
|
+
.session-handoff.md
|
|
16
|
+
|
|
17
|
+
# Build outputs
|
|
18
|
+
dist/
|
|
19
|
+
build/
|
|
20
|
+
*.pyc
|
|
21
|
+
__pycache__/
|
|
22
|
+
.venv/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
|
|
25
|
+
# Logs
|
|
26
|
+
*.log
|
|
27
|
+
logs/
|
|
28
|
+
|
|
29
|
+
# Environment
|
|
30
|
+
.env
|
|
31
|
+
.env.local
|
|
32
|
+
|
|
33
|
+
# Distributed warehouse content (project-specific)
|
|
34
|
+
.opencode/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
manual-release-trigger: 2026-03-07T13:50:35Z
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [1.1.0](https://github.com/Shadowsong27/agentic-beacon/compare/agentic-beacon@v1.0.0...agentic-beacon@v1.1.0) (2026-03-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add Beacon CLI tool for warehouse distribution ([48c9dae](https://github.com/Shadowsong27/agentic-beacon/commit/48c9daeaa2b967f55ab461c713ab6fdd5b1c0802))
|
|
9
|
+
* add beacon init command to bootstrap warehouses ([3cf5a52](https://github.com/Shadowsong27/agentic-beacon/commit/3cf5a52387b63dcf9fd1ee0fde383d847e3e395e))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* force release for agentic-beacon ([7d92917](https://github.com/Shadowsong27/agentic-beacon/commit/7d929170e01c172843e68a8d937e9f78896d2c03))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Code Refactoring
|
|
18
|
+
|
|
19
|
+
* rename to Agentic Beacon with abc CLI command ([b2e6ab9](https://github.com/Shadowsong27/agentic-beacon/commit/b2e6ab9b331990ce01436278e103d4e8e4c9b3bc))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Miscellaneous Chores
|
|
23
|
+
|
|
24
|
+
* prepare for public PyPI release ([8fe4a68](https://github.com/Shadowsong27/agentic-beacon/commit/8fe4a68c44df27a9b219a1bba25869f13e76cb1c))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### CI/CD
|
|
28
|
+
|
|
29
|
+
* add GitHub Actions workflows for PyPI publishing ([87e15a4](https://github.com/Shadowsong27/agentic-beacon/commit/87e15a4f5821b8e5d02ae8e7c2824346f523fb25))
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Beacon Contributors
|
|
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,385 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentic-beacon
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: Agentic Beacon CLI - Distribute knowledge contexts and skills for AI-assisted development teams
|
|
5
|
+
Project-URL: Homepage, https://github.com/Shadowsong27/agentic-beacon
|
|
6
|
+
Project-URL: Documentation, https://github.com/Shadowsong27/agentic-beacon/tree/main/libs/beacon
|
|
7
|
+
Project-URL: Repository, https://github.com/Shadowsong27/agentic-beacon
|
|
8
|
+
Project-URL: Issues, https://github.com/Shadowsong27/agentic-beacon/issues
|
|
9
|
+
Author: Agentic Beacon Contributors
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: agentic,agents,ai,beacon,context,developer-tools,knowledge-management
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
20
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
22
|
+
Requires-Python: >=3.12
|
|
23
|
+
Requires-Dist: click>=8.1.0
|
|
24
|
+
Requires-Dist: loguru>=0.7.0
|
|
25
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
26
|
+
Requires-Dist: rich>=13.0.0
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: build>=1.0.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: twine>=4.0.0; extra == 'dev'
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# Agentic Warehouse CLI
|
|
35
|
+
|
|
36
|
+
CLI tool for distributing agentic engineering contexts, knowledge, and skills from a warehouse repository to project `.opencode` directories.
|
|
37
|
+
|
|
38
|
+
## Overview
|
|
39
|
+
|
|
40
|
+
This tool enables the **DRY (Don't Repeat Yourself)** principle for agentic knowledge management:
|
|
41
|
+
|
|
42
|
+
- **Centralized warehouse**: Store all contexts, knowledge, and skills in one place
|
|
43
|
+
- **Fork workflow**: Fork the warehouse template to create your organization's warehouse
|
|
44
|
+
- **Local distribution**: Use the CLI to distribute content to gitignored `.opencode` folders in projects
|
|
45
|
+
- **Easy updates**: Sync latest changes from the warehouse with one command
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
|
|
49
|
+
### From Warehouse Repository
|
|
50
|
+
|
|
51
|
+
When using your organization's warehouse:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Clone your organization's warehouse
|
|
55
|
+
git clone https://github.com/your-org/agentic-warehouse.git
|
|
56
|
+
cd agentic-warehouse
|
|
57
|
+
|
|
58
|
+
# Install the CLI tool
|
|
59
|
+
pip install -e libs/agentic_warehouse_cli
|
|
60
|
+
|
|
61
|
+
# Verify installation
|
|
62
|
+
agentic --help
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### As a Standalone Package
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install agentic-warehouse-cli
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Usage
|
|
72
|
+
|
|
73
|
+
### 1. List Available Content
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# List all available contexts, knowledge, and skills
|
|
77
|
+
agentic list
|
|
78
|
+
|
|
79
|
+
# From a specific warehouse location
|
|
80
|
+
agentic list --warehouse /path/to/warehouse
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 2. Setup (First Time)
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Interactive mode (recommended for first time)
|
|
87
|
+
agentic setup --interactive
|
|
88
|
+
|
|
89
|
+
# Install specific content
|
|
90
|
+
agentic setup \
|
|
91
|
+
--context global \
|
|
92
|
+
--context python \
|
|
93
|
+
--knowledge global \
|
|
94
|
+
--knowledge languages/python \
|
|
95
|
+
--skill example-skill
|
|
96
|
+
|
|
97
|
+
# Install everything
|
|
98
|
+
agentic setup --all
|
|
99
|
+
|
|
100
|
+
# Specify warehouse and project locations
|
|
101
|
+
agentic setup --all \
|
|
102
|
+
--warehouse /path/to/warehouse \
|
|
103
|
+
--project /path/to/project
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**What it does:**
|
|
107
|
+
- Creates `.opencode/` directory in your project (gitignored)
|
|
108
|
+
- Copies selected contexts to `.opencode/contexts/`
|
|
109
|
+
- Copies selected knowledge to `.opencode/knowledge/`
|
|
110
|
+
- Copies selected skills to `.opencode/skills/`
|
|
111
|
+
- Saves configuration for future updates
|
|
112
|
+
|
|
113
|
+
### 3. Update Existing Installation
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Update all installed content from warehouse
|
|
117
|
+
agentic update
|
|
118
|
+
|
|
119
|
+
# From a specific warehouse location
|
|
120
|
+
agentic update --warehouse /path/to/warehouse
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**What it does:**
|
|
124
|
+
- Reads existing `.opencode/.warehouse-config.yml`
|
|
125
|
+
- Re-copies all previously selected content
|
|
126
|
+
- Overwrites with latest versions from warehouse
|
|
127
|
+
|
|
128
|
+
### 4. Check Installation Status
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Show what's currently installed
|
|
132
|
+
agentic status
|
|
133
|
+
|
|
134
|
+
# For a specific project
|
|
135
|
+
agentic status --project /path/to/project
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 5. Clean Installation
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Remove .opencode directory
|
|
142
|
+
agentic clean
|
|
143
|
+
|
|
144
|
+
# Will prompt for confirmation
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Workflow
|
|
148
|
+
|
|
149
|
+
### For Organization Admins
|
|
150
|
+
|
|
151
|
+
1. **Create warehouse**: Fork the template repository
|
|
152
|
+
```bash
|
|
153
|
+
# Use GitHub's "Use this template" button
|
|
154
|
+
# Name it: your-org-agentic-warehouse
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
2. **Customize content**: Add your organization's contexts, knowledge, and skills
|
|
158
|
+
```
|
|
159
|
+
your-org-agentic-warehouse/
|
|
160
|
+
├── contexts/
|
|
161
|
+
│ ├── AGENTS.global.md
|
|
162
|
+
│ ├── AGENTS.python.md
|
|
163
|
+
│ └── AGENTS.your-domain.md
|
|
164
|
+
├── knowledge/
|
|
165
|
+
│ ├── global/
|
|
166
|
+
│ ├── languages/python/
|
|
167
|
+
│ └── domains/your-domain/
|
|
168
|
+
└── skills/
|
|
169
|
+
└── your-skill/
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
3. **Distribute to teams**: Team members clone and install
|
|
173
|
+
|
|
174
|
+
### For Team Members
|
|
175
|
+
|
|
176
|
+
1. **Clone warehouse** (one time):
|
|
177
|
+
```bash
|
|
178
|
+
git clone https://github.com/your-org/agentic-warehouse.git ~/agentic-warehouse
|
|
179
|
+
cd ~/agentic-warehouse
|
|
180
|
+
pip install -e libs/agentic_warehouse_cli
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
2. **Setup in project** (per project):
|
|
184
|
+
```bash
|
|
185
|
+
cd ~/your-project
|
|
186
|
+
agentic setup --warehouse ~/agentic-warehouse --interactive
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
3. **Update when needed**:
|
|
190
|
+
```bash
|
|
191
|
+
cd ~/your-project
|
|
192
|
+
agentic update --warehouse ~/agentic-warehouse
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
4. **Add to .gitignore**:
|
|
196
|
+
```
|
|
197
|
+
# Add to your project's .gitignore
|
|
198
|
+
.opencode/
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Directory Structure
|
|
202
|
+
|
|
203
|
+
### Warehouse Structure
|
|
204
|
+
```
|
|
205
|
+
your-org-agentic-warehouse/
|
|
206
|
+
├── contexts/
|
|
207
|
+
│ ├── AGENTS.global.md
|
|
208
|
+
│ ├── AGENTS.python.md
|
|
209
|
+
│ └── AGENTS.data-platform.md
|
|
210
|
+
├── knowledge/
|
|
211
|
+
│ ├── global/
|
|
212
|
+
│ │ ├── decisions/
|
|
213
|
+
│ │ ├── lessons/
|
|
214
|
+
│ │ └── facts/
|
|
215
|
+
│ ├── languages/
|
|
216
|
+
│ │ └── python/
|
|
217
|
+
│ └── domains/
|
|
218
|
+
│ └── data-platform/
|
|
219
|
+
├── skills/
|
|
220
|
+
│ └── example-skill/
|
|
221
|
+
│ └── SKILL.md
|
|
222
|
+
└── libs/
|
|
223
|
+
└── agentic_warehouse_cli/ # This CLI tool
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Project Structure (After Setup)
|
|
227
|
+
```
|
|
228
|
+
your-project/
|
|
229
|
+
├── .opencode/ # gitignored
|
|
230
|
+
│ ├── .warehouse-config.yml # Tracks what's installed
|
|
231
|
+
│ ├── contexts/
|
|
232
|
+
│ │ ├── AGENTS.global.md
|
|
233
|
+
│ │ └── AGENTS.python.md
|
|
234
|
+
│ ├── knowledge/
|
|
235
|
+
│ │ ├── global/
|
|
236
|
+
│ │ └── languages/
|
|
237
|
+
│ │ └── python/
|
|
238
|
+
│ └── skills/
|
|
239
|
+
│ └── example-skill/
|
|
240
|
+
├── .gitignore # Contains .opencode/
|
|
241
|
+
└── ...
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Configuration
|
|
245
|
+
|
|
246
|
+
The CLI auto-saves configuration to `.opencode/.warehouse-config.yml`:
|
|
247
|
+
|
|
248
|
+
```yaml
|
|
249
|
+
contexts:
|
|
250
|
+
- global
|
|
251
|
+
- python
|
|
252
|
+
knowledge_scopes:
|
|
253
|
+
- global
|
|
254
|
+
- languages/python
|
|
255
|
+
skills:
|
|
256
|
+
- example-skill
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
This configuration is used by the `update` command to know what to refresh.
|
|
260
|
+
|
|
261
|
+
## Auto-Detection
|
|
262
|
+
|
|
263
|
+
The CLI automatically detects:
|
|
264
|
+
|
|
265
|
+
- **Warehouse root**: Looks for directories containing `contexts/`, `knowledge/`, and `skills/`
|
|
266
|
+
- **Project root**: Looks for `.git` directory or uses current directory
|
|
267
|
+
|
|
268
|
+
You can override with `--warehouse` and `--project` options.
|
|
269
|
+
|
|
270
|
+
## Examples
|
|
271
|
+
|
|
272
|
+
### Example 1: Setup Python Project
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
cd ~/my-python-project
|
|
276
|
+
|
|
277
|
+
# Interactive setup
|
|
278
|
+
agentic setup --interactive
|
|
279
|
+
|
|
280
|
+
# Select:
|
|
281
|
+
# Contexts: global, python
|
|
282
|
+
# Knowledge: global, languages/python
|
|
283
|
+
# Skills: none
|
|
284
|
+
|
|
285
|
+
# Result: .opencode/ created with selected content
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Example 2: Setup Data Platform Project
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
cd ~/data-platform-project
|
|
292
|
+
|
|
293
|
+
# Non-interactive setup
|
|
294
|
+
agentic setup \
|
|
295
|
+
--context global \
|
|
296
|
+
--context python \
|
|
297
|
+
--context data-platform \
|
|
298
|
+
--knowledge global \
|
|
299
|
+
--knowledge languages/python \
|
|
300
|
+
--knowledge domains/data-platform \
|
|
301
|
+
--skill deploy-airflow
|
|
302
|
+
|
|
303
|
+
# Result: Full data platform context installed
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Example 3: Update After Warehouse Changes
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
cd ~/my-project
|
|
310
|
+
|
|
311
|
+
# Warehouse maintainers updated content
|
|
312
|
+
# Pull latest warehouse changes
|
|
313
|
+
cd ~/agentic-warehouse
|
|
314
|
+
git pull origin main
|
|
315
|
+
|
|
316
|
+
# Update project installation
|
|
317
|
+
cd ~/my-project
|
|
318
|
+
agentic update
|
|
319
|
+
|
|
320
|
+
# Result: Latest content synced to .opencode/
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Example 4: Check What's Installed
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
cd ~/my-project
|
|
327
|
+
agentic status
|
|
328
|
+
|
|
329
|
+
# Output:
|
|
330
|
+
# Installation: /Users/you/my-project/.opencode
|
|
331
|
+
#
|
|
332
|
+
# Installed Contexts
|
|
333
|
+
# ┌─────────┐
|
|
334
|
+
# │ Context │
|
|
335
|
+
# ├─────────┤
|
|
336
|
+
# │ global │
|
|
337
|
+
# │ python │
|
|
338
|
+
# └─────────┘
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Development
|
|
342
|
+
|
|
343
|
+
### Running Tests
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
cd libs/agentic_warehouse_cli
|
|
347
|
+
pytest
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Building Package
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
pip install build
|
|
354
|
+
python -m build
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## Troubleshooting
|
|
358
|
+
|
|
359
|
+
### CLI not found after installation
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
# Make sure you're in the right environment
|
|
363
|
+
which agentic
|
|
364
|
+
|
|
365
|
+
# Reinstall
|
|
366
|
+
pip install -e libs/agentic_warehouse_cli --force-reinstall
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Warehouse not auto-detected
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
# Explicitly specify warehouse path
|
|
373
|
+
agentic setup --warehouse /path/to/warehouse
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### .opencode not in .gitignore
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
# Add to .gitignore
|
|
380
|
+
echo ".opencode/" >> .gitignore
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## License
|
|
384
|
+
|
|
385
|
+
MIT
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Private Deployment Guide (Optional)
|
|
2
|
+
|
|
3
|
+
**Note:** Agentic Beacon is publicly available on PyPI. This guide is for organizations that want to host it on their own private PyPI server.
|
|
4
|
+
|
|
5
|
+
## When to Use Private Deployment
|
|
6
|
+
|
|
7
|
+
- Your organization has security requirements for dependency management
|
|
8
|
+
- You want to control package versions internally
|
|
9
|
+
- You need to host in air-gapped environments
|
|
10
|
+
- You want to add organization-specific customizations
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
1. **Private PyPI server** - Running (devpi, PyPI server, Artifactory, etc.)
|
|
15
|
+
2. **uv or twine** - For publishing packages
|
|
16
|
+
3. **Python 3.12+** - Required for building and using agentic-beacon
|
|
17
|
+
|
|
18
|
+
## Build the Package
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
cd libs/beacon
|
|
22
|
+
|
|
23
|
+
# Build with uv
|
|
24
|
+
uv build
|
|
25
|
+
|
|
26
|
+
# This creates:
|
|
27
|
+
# - dist/agentic-beacon-0.2.0-py3-none-any.whl
|
|
28
|
+
# - dist/agentic-beacon-0.2.0.tar.gz
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Publish to Private PyPI
|
|
32
|
+
|
|
33
|
+
### Option 1: Using uv publish (Recommended)
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cd libs/beacon
|
|
37
|
+
|
|
38
|
+
# Publish to your private PyPI
|
|
39
|
+
uv publish \
|
|
40
|
+
--publish-url https://your-private-pypi.local/simple/ \
|
|
41
|
+
--username your-username \
|
|
42
|
+
--password your-password
|
|
43
|
+
|
|
44
|
+
# Or with token authentication:
|
|
45
|
+
uv publish \
|
|
46
|
+
--publish-url https://your-private-pypi.local/simple/ \
|
|
47
|
+
--token your-api-token
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Option 2: Using Environment Variables
|
|
51
|
+
|
|
52
|
+
Create a `.pypirc` file or set environment variables:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# In ~/.pypirc
|
|
56
|
+
[distutils]
|
|
57
|
+
index-servers =
|
|
58
|
+
homelab
|
|
59
|
+
|
|
60
|
+
[homelab]
|
|
61
|
+
repository = https://your-private-pypi.local/simple/
|
|
62
|
+
username = your-username
|
|
63
|
+
password = your-password
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Then publish:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
cd libs/beacon
|
|
70
|
+
uv publish --index homelab
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Option 3: Using twine (Alternative)
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
cd libs/beacon
|
|
77
|
+
|
|
78
|
+
# Install twine in dev environment
|
|
79
|
+
uv pip install twine
|
|
80
|
+
|
|
81
|
+
# Upload to private PyPI
|
|
82
|
+
twine upload --repository-url https://your-private-pypi.local/simple/ dist/*
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Install from Homelab PyPI
|
|
86
|
+
|
|
87
|
+
Once published, users can install beacon from your private PyPI:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Install from private PyPI
|
|
91
|
+
pip install beacon --index-url https://your-private-pypi.local/simple/
|
|
92
|
+
|
|
93
|
+
# Or with uv:
|
|
94
|
+
uv pip install beacon --index-url https://your-private-pypi.local/simple/
|
|
95
|
+
|
|
96
|
+
# Or add to requirements:
|
|
97
|
+
echo "beacon" >> requirements.txt
|
|
98
|
+
pip install -r requirements.txt --index-url https://your-private-pypi.local/simple/
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Verify Installation
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Check version
|
|
105
|
+
beacon --help
|
|
106
|
+
|
|
107
|
+
# Should show:
|
|
108
|
+
# Beacon - Guide your agents with distributed knowledge.
|
|
109
|
+
#
|
|
110
|
+
# Commands:
|
|
111
|
+
# clean Remove .opencode directory from project.
|
|
112
|
+
# delta Compare target installation with warehouse...
|
|
113
|
+
# list List available warehouse content.
|
|
114
|
+
# setup Setup warehouse content in project...
|
|
115
|
+
# status Show current warehouse installation status.
|
|
116
|
+
# update Update existing .opencode content...
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Upgrade Package
|
|
120
|
+
|
|
121
|
+
When you release a new version:
|
|
122
|
+
|
|
123
|
+
1. Update version in `pyproject.toml`
|
|
124
|
+
2. Rebuild: `uv build`
|
|
125
|
+
3. Republish: `uv publish --publish-url ...`
|
|
126
|
+
|
|
127
|
+
Users upgrade with:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
pip install --upgrade beacon --index-url https://your-private-pypi.local/simple/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Troubleshooting
|
|
134
|
+
|
|
135
|
+
### Build fails with Python version error
|
|
136
|
+
|
|
137
|
+
Make sure you're using Python 3.12+:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
python --version # Should be 3.12 or higher
|
|
141
|
+
uv python install 3.12 # Install Python 3.12 with uv
|
|
142
|
+
uv build --python 3.12 # Build with specific Python version
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Publish authentication fails
|
|
146
|
+
|
|
147
|
+
Check your credentials:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Test connection
|
|
151
|
+
curl -u username:password https://your-private-pypi.local/simple/
|
|
152
|
+
|
|
153
|
+
# Or use token
|
|
154
|
+
curl -H "Authorization: Bearer your-token" https://your-private-pypi.local/simple/
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### SSL certificate issues
|
|
158
|
+
|
|
159
|
+
If using self-signed certificates:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Option 1: Add --no-verify-ssl (not recommended for production)
|
|
163
|
+
uv publish --publish-url ... --no-verify-ssl
|
|
164
|
+
|
|
165
|
+
# Option 2: Add cert to trusted store
|
|
166
|
+
pip install --cert /path/to/ca-bundle.crt beacon --index-url ...
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Next Steps
|
|
170
|
+
|
|
171
|
+
After testing in homelab:
|
|
172
|
+
|
|
173
|
+
1. Gather feedback from homelab users
|
|
174
|
+
2. Fix any issues
|
|
175
|
+
3. Increment version (e.g., 0.1.1, 0.2.0)
|
|
176
|
+
4. Rebuild and republish
|
|
177
|
+
5. When ready for public release:
|
|
178
|
+
- `uv publish` (publishes to PyPI.org by default)
|
|
179
|
+
- Or `twine upload dist/*` for PyPI
|
|
180
|
+
|
|
181
|
+
## Configuration Summary
|
|
182
|
+
|
|
183
|
+
**Package Name:** `beacon`
|
|
184
|
+
**Version:** `0.1.0`
|
|
185
|
+
**Python Required:** `>=3.12`
|
|
186
|
+
**License:** MIT
|
|
187
|
+
**Repository:** https://github.com/Shadowsong27/agentic-engineering-warehouse-template
|
|
188
|
+
|
|
189
|
+
**Installation:**
|
|
190
|
+
```bash
|
|
191
|
+
pip install beacon --index-url https://your-private-pypi.local/simple/
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Usage:**
|
|
195
|
+
```bash
|
|
196
|
+
beacon setup --all
|
|
197
|
+
beacon status
|
|
198
|
+
beacon delta
|
|
199
|
+
```
|