beeweave 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 (117) hide show
  1. beeweave-0.1.0/.env.example +110 -0
  2. beeweave-0.1.0/.github/copilot-instructions.md +162 -0
  3. beeweave-0.1.0/.github/workflows/publish.yml +74 -0
  4. beeweave-0.1.0/.github/workflows/setup.yml +29 -0
  5. beeweave-0.1.0/.gitignore +29 -0
  6. beeweave-0.1.0/.skills/README.md +154 -0
  7. beeweave-0.1.0/.skills/wiki/beeweave-agent/SKILL.md +312 -0
  8. beeweave-0.1.0/.skills/wiki/beeweave-capture/SKILL.md +291 -0
  9. beeweave-0.1.0/.skills/wiki/beeweave-capture/references/INBOX-CAPTURE-FORMAT.md +116 -0
  10. beeweave-0.1.0/.skills/wiki/beeweave-claude-ingest/SKILL.md +460 -0
  11. beeweave-0.1.0/.skills/wiki/beeweave-claude-ingest/references/claude-data-format.md +118 -0
  12. beeweave-0.1.0/.skills/wiki/beeweave-codex-ingest/SKILL.md +245 -0
  13. beeweave-0.1.0/.skills/wiki/beeweave-codex-ingest/references/codex-data-format.md +82 -0
  14. beeweave-0.1.0/.skills/wiki/beeweave-context-pack/SKILL.md +138 -0
  15. beeweave-0.1.0/.skills/wiki/beeweave-copilot-ingest/SKILL.md +373 -0
  16. beeweave-0.1.0/.skills/wiki/beeweave-copilot-ingest/references/copilot-data-format.md +321 -0
  17. beeweave-0.1.0/.skills/wiki/beeweave-core/SKILL.md +603 -0
  18. beeweave-0.1.0/.skills/wiki/beeweave-core/references/karpathy-pattern.md +45 -0
  19. beeweave-0.1.0/.skills/wiki/beeweave-cross-linker/SKILL.md +270 -0
  20. beeweave-0.1.0/.skills/wiki/beeweave-daily-update/SKILL.md +199 -0
  21. beeweave-0.1.0/.skills/wiki/beeweave-dashboard/SKILL.md +469 -0
  22. beeweave-0.1.0/.skills/wiki/beeweave-dedup/SKILL.md +282 -0
  23. beeweave-0.1.0/.skills/wiki/beeweave-digest/SKILL.md +239 -0
  24. beeweave-0.1.0/.skills/wiki/beeweave-export/SKILL.md +389 -0
  25. beeweave-0.1.0/.skills/wiki/beeweave-graph-colorize/SKILL.md +178 -0
  26. beeweave-0.1.0/.skills/wiki/beeweave-hermes-ingest/SKILL.md +236 -0
  27. beeweave-0.1.0/.skills/wiki/beeweave-hermes-ingest/references/hermes-data-format.md +131 -0
  28. beeweave-0.1.0/.skills/wiki/beeweave-history-ingest/SKILL.md +61 -0
  29. beeweave-0.1.0/.skills/wiki/beeweave-impl-validator/SKILL.md +118 -0
  30. beeweave-0.1.0/.skills/wiki/beeweave-import/SKILL.md +273 -0
  31. beeweave-0.1.0/.skills/wiki/beeweave-ingest/SKILL.md +533 -0
  32. beeweave-0.1.0/.skills/wiki/beeweave-ingest/references/ingest-prompts.md +54 -0
  33. beeweave-0.1.0/.skills/wiki/beeweave-ingest/references/pageindex.md +72 -0
  34. beeweave-0.1.0/.skills/wiki/beeweave-ingest/references/url-sources.md +291 -0
  35. beeweave-0.1.0/.skills/wiki/beeweave-lint/SKILL.md +532 -0
  36. beeweave-0.1.0/.skills/wiki/beeweave-memory-bridge/SKILL.md +163 -0
  37. beeweave-0.1.0/.skills/wiki/beeweave-openclaw-ingest/SKILL.md +254 -0
  38. beeweave-0.1.0/.skills/wiki/beeweave-openclaw-ingest/references/openclaw-data-format.md +154 -0
  39. beeweave-0.1.0/.skills/wiki/beeweave-pi-ingest/SKILL.md +309 -0
  40. beeweave-0.1.0/.skills/wiki/beeweave-query/SKILL.md +271 -0
  41. beeweave-0.1.0/.skills/wiki/beeweave-rebuild/SKILL.md +211 -0
  42. beeweave-0.1.0/.skills/wiki/beeweave-research/SKILL.md +241 -0
  43. beeweave-0.1.0/.skills/wiki/beeweave-setup/SKILL.md +238 -0
  44. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/LICENSE.txt +202 -0
  45. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/SKILL.md +485 -0
  46. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/agents/analyzer.md +274 -0
  47. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/agents/comparator.md +202 -0
  48. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/agents/grader.md +223 -0
  49. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/assets/eval_review.html +146 -0
  50. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/eval-viewer/generate_review.py +471 -0
  51. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/eval-viewer/viewer.html +1325 -0
  52. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/references/schemas.md +430 -0
  53. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/__init__.py +0 -0
  54. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/aggregate_benchmark.py +401 -0
  55. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/generate_report.py +326 -0
  56. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/improve_description.py +247 -0
  57. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/package_skill.py +136 -0
  58. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/quick_validate.py +103 -0
  59. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/run_eval.py +310 -0
  60. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/run_loop.py +328 -0
  61. beeweave-0.1.0/.skills/wiki/beeweave-skill-creator/scripts/utils.py +47 -0
  62. beeweave-0.1.0/.skills/wiki/beeweave-stage-commit/SKILL.md +165 -0
  63. beeweave-0.1.0/.skills/wiki/beeweave-status/SKILL.md +476 -0
  64. beeweave-0.1.0/.skills/wiki/beeweave-switch/SKILL.md +106 -0
  65. beeweave-0.1.0/.skills/wiki/beeweave-synthesize/SKILL.md +209 -0
  66. beeweave-0.1.0/.skills/wiki/beeweave-tag-taxonomy/SKILL.md +218 -0
  67. beeweave-0.1.0/.skills/wiki/beeweave-update/SKILL.md +240 -0
  68. beeweave-0.1.0/.skills/wiki/beeweave-vault-skill-factory/SKILL.md +135 -0
  69. beeweave-0.1.0/.skills/workbench/beeweave-article-writer/SKILL.md +411 -0
  70. beeweave-0.1.0/.skills/workbench/beeweave-article-writer/references/content_methodology.md +136 -0
  71. beeweave-0.1.0/.skills/workbench/beeweave-article-writer/references/style_examples.md +428 -0
  72. beeweave-0.1.0/.skills/workbench/beeweave-social-writer/SKILL.md +509 -0
  73. beeweave-0.1.0/.skills/workbench/beeweave-social-writer/references/style_examples.md +98 -0
  74. beeweave-0.1.0/AGENTS.md +80 -0
  75. beeweave-0.1.0/LICENSE +21 -0
  76. beeweave-0.1.0/PKG-INFO +414 -0
  77. beeweave-0.1.0/README-zh.md +312 -0
  78. beeweave-0.1.0/README.md +385 -0
  79. beeweave-0.1.0/SETUP.md +234 -0
  80. beeweave-0.1.0/beeweave/__init__.py +14 -0
  81. beeweave-0.1.0/beeweave/__main__.py +6 -0
  82. beeweave-0.1.0/beeweave/ast_extractor.py +387 -0
  83. beeweave-0.1.0/beeweave/batch.py +288 -0
  84. beeweave-0.1.0/beeweave/cache.py +156 -0
  85. beeweave-0.1.0/beeweave/cli.py +1411 -0
  86. beeweave-0.1.0/beeweave/graph_analysis.py +352 -0
  87. beeweave-0.1.0/beeweave/graphrag.py +367 -0
  88. beeweave-0.1.0/bootstrap/AGENTS.md +93 -0
  89. beeweave-0.1.0/bootstrap/agent/rules/beeweave.md +43 -0
  90. beeweave-0.1.0/bootstrap/agent/workflows/beeweave.md +29 -0
  91. beeweave-0.1.0/bootstrap/claude/hooks/beeweave-stop-capture.sh +94 -0
  92. beeweave-0.1.0/bootstrap/claude/settings.stop-hook.json +15 -0
  93. beeweave-0.1.0/bootstrap/cursor/rules/beeweave.mdc +40 -0
  94. beeweave-0.1.0/bootstrap/kiro/steering/beeweave.md +42 -0
  95. beeweave-0.1.0/bootstrap/windsurf/rules/beeweave.md +40 -0
  96. beeweave-0.1.0/docs/beeweave.png +0 -0
  97. beeweave-0.1.0/extensions/brain-capture/README.md +44 -0
  98. beeweave-0.1.0/extensions/brain-capture/assets/icon-128.png +0 -0
  99. beeweave-0.1.0/extensions/brain-capture/assets/icon-16.png +0 -0
  100. beeweave-0.1.0/extensions/brain-capture/assets/icon-48.png +0 -0
  101. beeweave-0.1.0/extensions/brain-capture/assets/obsidian-brain.png +0 -0
  102. beeweave-0.1.0/extensions/brain-capture/background.js +212 -0
  103. beeweave-0.1.0/extensions/brain-capture/manifest.json +28 -0
  104. beeweave-0.1.0/extensions/brain-capture/popup.css +293 -0
  105. beeweave-0.1.0/extensions/brain-capture/popup.html +53 -0
  106. beeweave-0.1.0/extensions/brain-capture/popup.js +265 -0
  107. beeweave-0.1.0/pyproject.toml +99 -0
  108. beeweave-0.1.0/setup.sh +787 -0
  109. beeweave-0.1.0/tests/test_ast_extractor.py +174 -0
  110. beeweave-0.1.0/tests/test_batch.py +262 -0
  111. beeweave-0.1.0/tests/test_cache.py +218 -0
  112. beeweave-0.1.0/tests/test_cli_skills_layout.py +527 -0
  113. beeweave-0.1.0/tests/test_graph_analysis.py +294 -0
  114. beeweave-0.1.0/tests/test_graphrag.py +282 -0
  115. beeweave-0.1.0/tests/test_inline_vault_targeting_docs.py +114 -0
  116. beeweave-0.1.0/tests/test_okf_same_name_link_roundtrip.py +50 -0
  117. beeweave-0.1.0/uv.lock +476 -0
@@ -0,0 +1,110 @@
1
+ # =============================================================================
2
+ # BeeWeave — Environment Configuration
3
+ # Copy this to .env and set your vault path
4
+ # =============================================================================
5
+
6
+ # --- Required ---
7
+
8
+ # Path to your Obsidian vault. setup expands this to an absolute path and
9
+ # creates the compiled knowledge layer at the location you choose.
10
+ BEEWEAVE_VAULT_PATH=./vault
11
+
12
+ # --- Optional ---
13
+
14
+ # GitHub remote for vault sync (set by setup.sh when you enable GitHub sync)
15
+ # wiki-sync uses this to push committed vault changes
16
+ VAULT_GITHUB_REMOTE=
17
+
18
+ # Comma-separated source directories to ingest documents from.
19
+ # The workbench is the creation layer; ingest pending inputs and stable
20
+ # drafts/research from here.
21
+ BEEWEAVE_SOURCES_DIR=./workbench
22
+
23
+ # Workbench inbox for unprocessed captures and web clippings.
24
+ BEEWEAVE_INBOX_DIR=./workbench/inbox
25
+
26
+ # Wiki categories (directories created in the vault)
27
+ BEEWEAVE_CATEGORIES=concepts,entities,skills,references,synthesis,projects
28
+
29
+ # Max pages to create/update per ingest operation
30
+ BEEWEAVE_MAX_PAGES_PER_INGEST=15
31
+
32
+ # Projects to exclude from history ingest (claude/codex/hermes/… history-ingest skills).
33
+ # Comma-separated substrings matched against the project directory name. A project
34
+ # dir whose name contains any of these is skipped during scan, delta, and manifest steps.
35
+ # Example: WIKI_SKIP_PROJECTS=archived,scratch,sandbox
36
+ WIKI_SKIP_PROJECTS=
37
+
38
+ # Claude conversation history path (auto-discovered from ~/.claude if empty)
39
+ CLAUDE_HISTORY_PATH=
40
+
41
+ # Codex history path (defaults to ~/.codex if empty)
42
+ CODEX_HISTORY_PATH=
43
+
44
+ # Pi agent session history path (defaults to ~/.pi/agent/sessions if empty)
45
+ PI_HISTORY_PATH=
46
+
47
+ # Lint schedule: daily | weekly | manual
48
+ LINT_SCHEDULE=weekly
49
+
50
+ # Internal link format for generated/updated pages
51
+ # wikilink (default) → [[concepts/foo]] or [[concepts/foo|display text]]
52
+ # markdown → [display text](relative/path.md)
53
+ # Only affects future writes — existing vault content is never migrated automatically.
54
+ BEEWEAVE_LINK_FORMAT=wikilink
55
+
56
+ # --- QMD Semantic Search (optional) ---
57
+ #
58
+ # QMD indexes your wiki and sources for fast semantic search.
59
+ # Install: https://github.com/tobi/qmd
60
+ # After installing, point these at your QMD collection names (set when you ran `qmd index`).
61
+ #
62
+ # Without QMD: wiki-ingest and wiki-query fall back to Grep/Glob — fully functional, just slower.
63
+ # With QMD: semantic search replaces grep passes, enabling concept-level matches and cross-collection queries.
64
+
65
+ # Name of the QMD collection indexing your compiled wiki pages (BEEWEAVE_VAULT_PATH)
66
+ QMD_WIKI_COLLECTION=
67
+
68
+ # Name of the QMD collection indexing your source documents (BEEWEAVE_SOURCES_DIR)
69
+ QMD_PAPERS_COLLECTION=
70
+
71
+ # QMD integration transport: mcp | cli
72
+ # mcp preserves the original behavior and uses an agent-configured QMD MCP server.
73
+ # cli runs the local qmd command directly; useful for agents without QMD MCP support.
74
+ QMD_TRANSPORT=mcp
75
+
76
+ # CLI search quality mode: quality | balanced | fast
77
+ # quality: qmd query with reranking (best relevance, slowest on CPU)
78
+ # balanced: qmd query --no-rerank (good hybrid results, faster)
79
+ # fast: qmd vsearch (semantic only) or qmd search when exact terms matter
80
+ QMD_CLI_SEARCH_MODE=quality
81
+
82
+ # Optional qmd binary override if qmd is not on PATH.
83
+ QMD_CLI=qmd
84
+
85
+ # --- Vault Skill Factory (optional) ---
86
+ #
87
+ # vault-skill-factory turns mature curated pages into portable Agent Skills.
88
+ # Generated skills land in a REVIEW directory — never auto-installed, never written to .skills/.
89
+ #
90
+ # Where generated skills are written (default: <BEEWEAVE_VAULT_PATH>/_generated-skills — a
91
+ # vault-level excluded dir like _meta/_staging, NOT the skills/ knowledge category).
92
+ SKILL_FACTORY_OUTPUT_DIR=
93
+ # Which lifecycle states count as "mature" enough to harvest (pages with tier: core also qualify).
94
+ SKILL_FACTORY_MATURITY=reviewed,verified
95
+ # --- PageIndex: structure-aware long-PDF preprocessing (optional) ---
96
+ #
97
+ # For long PDFs (books, reports), build a table-of-contents tree (section titles +
98
+ # summaries + page ranges) before ingest, so the agent reads only relevant sections.
99
+ # Install: clone https://github.com/VectifyAI/PageIndex, create a venv (uv), and put an
100
+ # LLM key in <repo>/.env (LiteLLM; e.g. deepseek/deepseek-v4-flash or openai/glm-4.6).
101
+ # See wiki-ingest/references/pageindex.md. Without it: wiki-ingest reads PDFs directly.
102
+ #
103
+ # Path to the PageIndex repo (enables the wiki-ingest long-PDF branch).
104
+ PAGEINDEX_REPO=
105
+ # LiteLLM model id PageIndex uses (default openai/glm-4.6).
106
+ PAGEINDEX_MODEL=openai/glm-4.6
107
+ # Only preprocess PDFs with at least this many pages.
108
+ PAGEINDEX_MIN_PAGES=30
109
+ # Optional cache dir for *_structure.json (default: <PAGEINDEX_REPO>/results).
110
+ PAGEINDEX_WORKSPACE=
@@ -0,0 +1,162 @@
1
+ # BeeWeave — Copilot Context
2
+
3
+ BeeWeave is an **agent-native creation workbench** for building a creative data
4
+ flywheel: collect source material, create with agents, distill durable
5
+ knowledge, reuse that knowledge as context, then collect better material for
6
+ the next loop.
7
+
8
+ This repository contains the Python CLI, bundled skills, bootstrap templates,
9
+ browser extension assets, tests, and documentation used to install and maintain
10
+ BeeWeave workspaces.
11
+
12
+ ## Project Overview
13
+
14
+ - **Purpose:** Help agents and humans move material through a structured loop:
15
+ `collect -> create -> distill -> reuse context -> collect better`.
16
+ - **Runtime model:** `workbench/` is the staging and drafting area; `vault/` is
17
+ the compiled markdown knowledge base.
18
+ - **CLI:** The public console command is `bwe`.
19
+ - **Package:** Python package code lives under `beeweave/`; package metadata and
20
+ the CLI entrypoint live in `pyproject.toml`.
21
+ - **Skills:** Source skills live under `.skills/wiki/` and
22
+ `.skills/workbench/`. Each skill folder uses a `SKILL.md` workflow file.
23
+ - **Bootstrap:** Agent-facing setup templates live under `bootstrap/`.
24
+ - **Extension:** Browser capture assets live under `extensions/brain-capture/`.
25
+
26
+ ## Key Concepts
27
+
28
+ - BeeWeave is a loop, not a one-way archive.
29
+ - Raw inputs, drafts, captures, web clips, and source libraries belong in
30
+ `workbench/`.
31
+ - Stable reusable knowledge belongs in `vault/` as markdown with metadata and
32
+ Obsidian-style `[[wikilinks]]`.
33
+ - The vault is a compiled artifact: concepts, entities, references, project
34
+ notes, synthesis pages, and graph-ready relationships distilled from higher
35
+ signal material.
36
+ - Setup-generated runtime `vault/` and `workbench/` directories should not be
37
+ committed to this repository.
38
+
39
+ ## Runtime Layout
40
+
41
+ BeeWeave setup creates this structure inside a user-selected workspace:
42
+
43
+ ```text
44
+ project/
45
+ +-- vault/ # durable markdown knowledge
46
+ | +-- concepts/
47
+ | +-- entities/
48
+ | +-- skills/
49
+ | +-- references/
50
+ | +-- synthesis/
51
+ | +-- projects/
52
+ | +-- _meta/
53
+ | +-- _archives/
54
+ | +-- _staging/
55
+ | +-- .obsidian/
56
+ +-- workbench/ # staging and drafting area
57
+ +-- inbox/
58
+ | +-- captures/
59
+ | +-- web/
60
+ | +-- archived/
61
+ | +-- rejected/
62
+ +-- articles/
63
+ | +-- drafts/
64
+ | +-- published/
65
+ +-- library/
66
+ ```
67
+
68
+ Keep repository development files separate from this runtime layout.
69
+
70
+ ## Install and Configuration Model
71
+
72
+ - Users install from PyPI with `pip install beeweave`, then run `bwe setup`.
73
+ - Source-checkout setup is also supported with `bash setup.sh`.
74
+ - Global config is written under `~/.beeweave/config`.
75
+ - BeeWeave config uses `BEEWEAVE_*` names such as `BEEWEAVE_VAULT_PATH`,
76
+ `BEEWEAVE_REPO`, and `BEEWEAVE_VERSION`.
77
+ - Named vault routing uses request-local `@name` overrides that resolve to
78
+ files such as `~/.beeweave/config.work`.
79
+
80
+ ## Skill Install Policy
81
+
82
+ Global installs are intentionally small.
83
+
84
+ Always global by default:
85
+
86
+ - `beeweave-update`: sync useful project knowledge into the vault
87
+ - `beeweave-query`: answer questions from the compiled vault
88
+ - `beeweave-ingest`: process source material into durable notes
89
+
90
+ Optional advanced global skills include:
91
+
92
+ - `beeweave-capture`
93
+ - `beeweave-context-pack`
94
+ - `beeweave-digest`
95
+ - `beeweave-status`
96
+ - `beeweave-memory-bridge`
97
+
98
+ All other BeeWeave skills remain project-local by default. When changing setup
99
+ behavior, preserve this split unless the README and tests are updated together.
100
+
101
+ ## Important Skills
102
+
103
+ - `.skills/wiki/beeweave-setup/`: initialize a BeeWeave workspace.
104
+ - `.skills/wiki/beeweave-ingest/`: distill source material into durable vault
105
+ notes.
106
+ - `.skills/wiki/beeweave-query/`: answer from the compiled vault.
107
+ - `.skills/wiki/beeweave-update/`: preserve durable decisions or lessons from
108
+ current project work.
109
+ - `.skills/wiki/beeweave-synthesize/`: find cross-cutting connections after
110
+ the vault has grown.
111
+ - `.skills/wiki/beeweave-status/`: inspect ingest status and vault health.
112
+ - `.skills/workbench/beeweave-article-writer/`: draft long-form articles from
113
+ workbench material.
114
+ - `.skills/workbench/beeweave-social-writer/`: turn findings into short-form
115
+ social writing.
116
+
117
+ ## Repository Layout
118
+
119
+ ```text
120
+ beeweave/ # Python CLI and helpers
121
+ .skills/ # source skill definitions
122
+ bootstrap/ # user-project bootstrap templates and agent rules
123
+ extensions/ # browser extension assets
124
+ tests/ # pytest suite
125
+ openspec/ # proposed and active change specs
126
+ setup.sh # source-checkout setup path
127
+ pyproject.toml # package metadata and bwe entrypoint
128
+ ```
129
+
130
+ ## Coding and Documentation Conventions
131
+
132
+ - Prefer existing CLI, setup, bootstrap, and skill patterns over new
133
+ abstractions.
134
+ - Keep implementation changes scoped to the active request.
135
+ - Preserve the public CLI command as `bwe`.
136
+ - Keep generated user-project instructions in `bootstrap/AGENTS.md`, not the
137
+ repository root `AGENTS.md`.
138
+ - Do not generate `.hermes.md`; Hermes uses `HERMES.md`.
139
+ - Do not recreate runtime `vault/` or `workbench/` directories in the repo root.
140
+ - Do not commit project-local generated skill mirrors such as
141
+ `.claude/skills/`.
142
+ - When creating vault pages in skills or docs, use YAML frontmatter and
143
+ Obsidian `[[wikilinks]]`.
144
+ - Do not modify `.obsidian/` except through explicit graph-related behavior
145
+ such as `beeweave-graph-colorize`.
146
+
147
+ ## Verification
148
+
149
+ Use focused checks for small documentation-only edits. When behavior changes,
150
+ run:
151
+
152
+ ```bash
153
+ uv run pytest
154
+ uv run bwe setup --help
155
+ uv run bwe info
156
+ ```
157
+
158
+ For OpenSpec-backed changes, also run:
159
+
160
+ ```bash
161
+ openspec validate <change-name> --strict
162
+ ```
@@ -0,0 +1,74 @@
1
+ name: publish
2
+
3
+ # Build and publish beeweave to PyPI when a version tag is pushed.
4
+ #
5
+ # Setup (one-time): on PyPI, add a Trusted Publisher for this repo with
6
+ # workflow `publish.yml` and environment `pypi`. No API token needed — the
7
+ # `id-token: write` permission below mints a short-lived OIDC credential.
8
+ #
9
+ # Release: bump `version` in pyproject.toml, commit, then
10
+ # git tag v0.1.0 && git push origin v0.1.0
11
+
12
+ on:
13
+ push:
14
+ tags:
15
+ - "v*"
16
+ # Allow a manual build (artifacts only, no publish) for verification.
17
+ workflow_dispatch:
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ jobs:
23
+ build:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: actions/setup-python@v5
28
+ with:
29
+ python-version: "3.x"
30
+ - name: Build sdist and wheel
31
+ run: |
32
+ python -m pip install --upgrade build
33
+ python -m build
34
+ - name: Verify wheel bundles the skills
35
+ run: |
36
+ python -m pip install --upgrade twine
37
+ twine check dist/*
38
+ wheel=$(ls dist/*.whl)
39
+ echo "Inspecting $wheel"
40
+ if ! python -m zipfile -l "$wheel" | grep -q "beeweave/_data/skills/wiki/beeweave-setup/SKILL.md"; then
41
+ echo "::error::wheel is missing bundled skills under beeweave/_data/skills/"
42
+ exit 1
43
+ fi
44
+ - uses: actions/upload-artifact@v4
45
+ with:
46
+ name: dist
47
+ path: dist/
48
+
49
+ publish:
50
+ needs: build
51
+ runs-on: ubuntu-latest
52
+ # Only publish on a real tag push, not workflow_dispatch.
53
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
54
+ environment: pypi
55
+ permissions:
56
+ id-token: write # required for PyPI Trusted Publishing (OIDC)
57
+ contents: write # required for creating GitHub Releases
58
+ steps:
59
+ - uses: actions/download-artifact@v4
60
+ with:
61
+ name: dist
62
+ path: dist/
63
+ - name: Publish to PyPI
64
+ uses: pypa/gh-action-pypi-publish@release/v1
65
+ with:
66
+ skip-existing: true
67
+ - name: Create GitHub Release
68
+ env:
69
+ GH_TOKEN: ${{ github.token }}
70
+ run: |
71
+ gh release create "${{ github.ref_name }}" dist/* \
72
+ --repo "${{ github.repository }}" \
73
+ --title "${{ github.ref_name }}" \
74
+ --generate-notes
@@ -0,0 +1,29 @@
1
+ name: setup
2
+
3
+ # Guards setup.sh against the regression where it rewrites committed
4
+ # relative symlinks with absolute paths (or any other modification to
5
+ # tracked files). See #52 for the original bug.
6
+
7
+ on:
8
+ push:
9
+ branches: [main]
10
+ pull_request:
11
+
12
+ jobs:
13
+ install-leaves-tree-clean:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - name: Run setup.sh
18
+ # stdin closed so the vault-path prompt returns empty rather than hang
19
+ run: bash setup.sh < /dev/null
20
+ - name: Working tree must be unchanged
21
+ run: |
22
+ if ! git diff --exit-code; then
23
+ echo "::error::setup.sh modified tracked files. Likely cause: an" \
24
+ "in-repo symlink mirror is being written with an absolute" \
25
+ "target instead of a relative one. See install_skills() in setup.sh."
26
+ exit 1
27
+ fi
28
+ - name: Re-run is idempotent
29
+ run: bash setup.sh < /dev/null && git diff --exit-code
@@ -0,0 +1,29 @@
1
+ .env
2
+ .DS_Store
3
+ .venv/
4
+ .pytest_cache/
5
+ *.pyc
6
+ __pycache__/
7
+ tmp/
8
+
9
+ # Python build artifacts (pyproject.toml / `python -m build`)
10
+ /dist/
11
+ /build/
12
+ *.egg-info/
13
+
14
+ # Agent skill symlinks (created by setup.sh) — these are just pointers to .skills/
15
+ # We track them so cloners get the symlinks too, but if your git doesn't
16
+ # preserve symlinks, run `bash setup.sh` after cloning.
17
+
18
+ .serena/
19
+ openspec/
20
+
21
+ # Obsidian local workspace/cache files inside the monorepo vault
22
+ /vault/.obsidian/workspace.json
23
+ /vault/.obsidian/workspace-mobile.json
24
+ /vault/.obsidian/cache/
25
+ /vault/.trash/
26
+
27
+ # Local render/output byproducts; keep source drafts in workbench tracked
28
+ /workbench/exports/*
29
+ !/workbench/exports/.gitkeep
@@ -0,0 +1,154 @@
1
+ # BeeWeave Skills
2
+
3
+ BeeWeave skills are markdown instructions that agents read when a workflow is
4
+ triggered. They live under `.skills/` and are installed in two different ways:
5
+
6
+ - **Project-local skills**: the full skill set, installed into a project agent
7
+ directory such as `.claude/skills/`, `.codex/skills/`, or `.agents/skills/`.
8
+ - **Global skills**: a small portable subset, installed into global agent
9
+ directories such as `~/.claude/skills/` or `~/.codex/skills/`.
10
+
11
+ The global set is intentionally small. Too many globally visible skills make
12
+ agents harder to predict and users harder to orient.
13
+
14
+ ## Global Skill Policy
15
+
16
+ By default, BeeWeave installs only three global skills:
17
+
18
+ ```text
19
+ beeweave-update
20
+ beeweave-query
21
+ beeweave-ingest
22
+ ```
23
+
24
+ These are the core cross-project workflows:
25
+
26
+ | Skill | What it does | Why global |
27
+ |---|---|---|
28
+ | `beeweave-update` | Sync the current project's durable knowledge into the vault | Useful from any codebase |
29
+ | `beeweave-query` | Ask questions against the compiled vault | Read-only and useful anywhere |
30
+ | `beeweave-ingest` | Distill documents, URLs, exports, logs, and inbox captures into wiki pages | General source-ingest entrypoint |
31
+
32
+ Advanced users can explicitly add a few recommended extra global skills:
33
+
34
+ ```bash
35
+ bwe setup --global-extra beeweave-capture,beeweave-context-pack
36
+ bash setup.sh --global-extra beeweave-capture,beeweave-context-pack
37
+ ```
38
+
39
+ Supported extras:
40
+
41
+ | Skill | What it does | Notes |
42
+ |---|---|---|
43
+ | `beeweave-capture` | Save current-session findings to inbox/wiki | Prefer quick capture to inbox, then promote with `beeweave-ingest` |
44
+ | `beeweave-context-pack` | Package vault context for another agent or task | Pulls knowledge from vault; it does not save the current chat |
45
+ | `beeweave-digest` | Generate a daily, weekly, monthly, or custom-period knowledge digest | Useful for review workflows |
46
+ | `beeweave-status` | Show ingest status, pending delta, and vault health | Operational overview |
47
+ | `beeweave-memory-bridge` | Browse and compare knowledge by source agent | Most useful after importing multiple agent histories |
48
+
49
+ ## Install Shape
50
+
51
+ Interactive setup shows the same shape:
52
+
53
+ ```text
54
+ Global skills
55
+ Always installed:
56
+ [x] beeweave-update
57
+ [x] beeweave-query
58
+ [x] beeweave-ingest
59
+
60
+ Optional advanced global skills:
61
+ [ ] beeweave-capture
62
+ [ ] beeweave-context-pack
63
+ [ ] beeweave-digest
64
+ [ ] beeweave-status
65
+ [ ] beeweave-memory-bridge
66
+
67
+ Workbench/project-local skills:
68
+ beeweave-article-writer — long-form articles, blog posts, essays, and opinion pieces
69
+ beeweave-social-writer — X/Twitter posts, threads, short takes, and social copy
70
+ ```
71
+
72
+ After global skill selection, setup asks which agents to install for.
73
+
74
+ ## Wiki Skills
75
+
76
+ Everything below lives under `.skills/wiki/`. Project-local installs get the
77
+ full set.
78
+
79
+ | Skill | What it does | Global recommendation |
80
+ |---|---|---|
81
+ | `beeweave-update` | Sync durable knowledge from the current project into the vault: architecture decisions, patterns, key abstractions, trade-offs, and project context | Default global |
82
+ | `beeweave-query` | Search and synthesize answers from the compiled vault, including multi-hop relationship queries and fast summary-only lookup | Default global |
83
+ | `beeweave-ingest` | Distill external sources into interconnected wiki pages: documents, folders, PDFs, URLs, logs, transcripts, exports, raw text, and `workbench/inbox` captures | Default global |
84
+ | `beeweave-capture` | Preserve the current conversation or session findings as structured wiki knowledge; quick mode stages files under `workbench/inbox/captures/` | Optional extra |
85
+ | `beeweave-context-pack` | Produce a token-bounded context pack from vault pages for another agent, skill, or downstream task | Optional extra |
86
+ | `beeweave-digest` | Generate a human-readable knowledge digest for a day, week, month, or custom period | Optional extra |
87
+ | `beeweave-status` | Report what has been ingested, what is pending, source delta, token footprint, and graph structure insights | Optional extra |
88
+ | `beeweave-memory-bridge` | Browse and diff wiki knowledge by source tool, such as Claude vs Codex vs Hermes | Optional extra |
89
+ | `beeweave-core` | Explain the underlying LLM Wiki pattern, vault schema, frontmatter, relationships, retrieval primitives, and config resolution protocol | Project-local |
90
+ | `beeweave-setup` | Initialize vault structure, special files, Obsidian config, `.env`, and optional capture hooks | Project-local |
91
+ | `beeweave-switch` | Manage named vault profiles under `~/.beeweave/config.NAME` and switch the active default vault | Project-local |
92
+ | `beeweave-lint` | Audit vault health: orphan pages, broken links, missing frontmatter, missing summaries, stale content, contradictions, and optional consolidation | Project-local |
93
+ | `beeweave-cross-linker` | Scan the vault and insert missing `[[wikilinks]]` to strengthen the knowledge graph | Project-local |
94
+ | `beeweave-tag-taxonomy` | Audit and normalize tags using the controlled vocabulary in `_meta/taxonomy.md` | Project-local |
95
+ | `beeweave-dedup` | Detect identity collisions and merge duplicate pages under different names | Project-local |
96
+ | `beeweave-rebuild` | Archive, rebuild, or restore the vault | Project-local |
97
+ | `beeweave-daily-update` | Run a daily maintenance pass: source freshness, index refresh, hot cache update, and optional cron/notification setup | Project-local |
98
+ | `beeweave-stage-commit` | Review and promote staged pages from `_staging/` when `WIKI_STAGED_WRITES=true` | Project-local |
99
+ | `beeweave-impl-validator` | Validate whether an implementation or skill output matches its stated goal; often used as a helper subagent | Project-local |
100
+ | `beeweave-graph-colorize` | Rewrite Obsidian graph color groups by tag, folder, category, or visibility | Project-local |
101
+ | `beeweave-dashboard` | Create Obsidian Bases or Dataview dashboard views over vault content | Project-local |
102
+ | `beeweave-synthesize` | Discover synthesis opportunities across concepts and create `synthesis/` pages | Project-local |
103
+ | `beeweave-research` | Run multi-round web research and file the results into the vault | Project-local |
104
+ | `beeweave-export` | Export the vault graph to JSON, GraphML, Neo4j Cypher, browser HTML, or OKF markdown bundle | Project-local |
105
+ | `beeweave-import` | Import from `graph.json` stubs or an OKF markdown bundle into the current vault | Project-local |
106
+ | `beeweave-vault-skill-factory` | Generate a portable Agent Skill from mature vault pages into a review directory | Project-local |
107
+ | `beeweave-skill-creator` | Create, edit, package, benchmark, and improve Agent Skills | Project-local |
108
+ | `beeweave-history-ingest` | Route agent-history ingestion requests to the specialized history skill for the selected tool | Project-local |
109
+ | `beeweave-agent` | Search a specific agent's raw history by topic, ingest the relevant sessions, and return a synthesized answer | Project-local |
110
+ | `beeweave-claude-ingest` | Mine Claude Code and Claude desktop history, memory files, sessions, and audit logs into the vault | Project-local |
111
+ | `beeweave-codex-ingest` | Mine Codex CLI sessions, rollout logs, and session indexes into the vault | Project-local |
112
+ | `beeweave-copilot-ingest` | Mine GitHub Copilot CLI and VS Code Copilot Chat history into the vault | Project-local |
113
+ | `beeweave-hermes-ingest` | Mine Hermes memories and sessions into the vault | Project-local |
114
+ | `beeweave-openclaw-ingest` | Mine OpenClaw `MEMORY.md`, daily notes, and session logs into the vault | Project-local |
115
+ | `beeweave-pi-ingest` | Mine Pi coding agent session history into the vault | Project-local |
116
+
117
+ ## Workbench Skills
118
+
119
+ Creation-specific skills live under `.skills/workbench/`. They are installed
120
+ project-locally with the full skill set, not globally.
121
+
122
+ | Skill | What it does |
123
+ |---|---|
124
+ | `beeweave-article-writer` | Long-form articles, blog posts, essays, and opinion pieces |
125
+ | `beeweave-social-writer` | X/Twitter posts, threads, short takes, and social copy |
126
+
127
+ ## Why Most Skills Stay Local
128
+
129
+ Many BeeWeave skills are powerful maintenance or migration tools. They are
130
+ useful, but they should only appear when the user is intentionally working on
131
+ the vault or workbench.
132
+
133
+ Keep these local by default:
134
+
135
+ - **High-impact writes**: `beeweave-rebuild`, `beeweave-dedup`, `beeweave-import`, `beeweave-stage-commit`
136
+ - **Vault maintenance**: `beeweave-lint`, `beeweave-cross-linker`, `beeweave-tag-taxonomy`, `beeweave-synthesize`
137
+ - **Machine setup**: `beeweave-setup`, `beeweave-switch`, `beeweave-daily-update`
138
+ - **Agent history mining**: `beeweave-history-ingest`, `beeweave-agent`, and all agent-specific history ingest skills
139
+ - **Skill development**: `beeweave-skill-creator`, `beeweave-vault-skill-factory`, `beeweave-impl-validator`
140
+ - **Obsidian-specific UI/config**: `beeweave-graph-colorize`, `beeweave-dashboard`
141
+
142
+ This keeps the global surface area small while preserving the full BeeWeave
143
+ toolbox inside project-local installs.
144
+
145
+ ## OKF
146
+
147
+ OKF means **Open Knowledge Format** in BeeWeave's export/import workflow.
148
+
149
+ - `beeweave-export` can create an OKF markdown bundle.
150
+ - `beeweave-import` can import an OKF bundle into another vault.
151
+ - Unlike `graph.json`, which is mostly a graph skeleton, OKF preserves full
152
+ markdown page bodies and is better for vault-to-vault transfer.
153
+
154
+ Use OKF when you want to move knowledge, not just inspect the graph.