ai-dev-workspace 0.1.0b5__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.
- ai_dev_workspace-0.1.0b5/LICENSE +21 -0
- ai_dev_workspace-0.1.0b5/MANIFEST.in +12 -0
- ai_dev_workspace-0.1.0b5/PKG-INFO +74 -0
- ai_dev_workspace-0.1.0b5/README.md +40 -0
- ai_dev_workspace-0.1.0b5/ai_dev_workspace.egg-info/PKG-INFO +74 -0
- ai_dev_workspace-0.1.0b5/ai_dev_workspace.egg-info/SOURCES.txt +133 -0
- ai_dev_workspace-0.1.0b5/ai_dev_workspace.egg-info/dependency_links.txt +1 -0
- ai_dev_workspace-0.1.0b5/ai_dev_workspace.egg-info/entry_points.txt +3 -0
- ai_dev_workspace-0.1.0b5/ai_dev_workspace.egg-info/top_level.txt +1 -0
- ai_dev_workspace-0.1.0b5/bin/publish-release +34 -0
- ai_dev_workspace-0.1.0b5/bin/release-smoke +322 -0
- ai_dev_workspace-0.1.0b5/bin/ws +11 -0
- ai_dev_workspace-0.1.0b5/bin/ws-plugin +10 -0
- ai_dev_workspace-0.1.0b5/bin/ws-python +8 -0
- ai_dev_workspace-0.1.0b5/docs/ADVANCED.md +95 -0
- ai_dev_workspace-0.1.0b5/docs/AGENT-ORCHESTRATION.md +145 -0
- ai_dev_workspace-0.1.0b5/docs/ARCHITECTURE.md +66 -0
- ai_dev_workspace-0.1.0b5/docs/ASSIST-FEATURES.md +11 -0
- ai_dev_workspace-0.1.0b5/docs/CLIENT-VERIFICATION.md +40 -0
- ai_dev_workspace-0.1.0b5/docs/COMMANDS.md +309 -0
- ai_dev_workspace-0.1.0b5/docs/CONCEPTS.md +26 -0
- ai_dev_workspace-0.1.0b5/docs/DEMO.md +118 -0
- ai_dev_workspace-0.1.0b5/docs/MAINTAINING.md +46 -0
- ai_dev_workspace-0.1.0b5/docs/MCP-WORKFLOWS.md +15 -0
- ai_dev_workspace-0.1.0b5/docs/MCP.md +20 -0
- ai_dev_workspace-0.1.0b5/docs/MEASUREMENTS.md +55 -0
- ai_dev_workspace-0.1.0b5/docs/OVERVIEW.md +151 -0
- ai_dev_workspace-0.1.0b5/docs/PACKS.md +42 -0
- ai_dev_workspace-0.1.0b5/docs/PARALLEL-WORKERS.md +132 -0
- ai_dev_workspace-0.1.0b5/docs/PRINCIPLES.md +11 -0
- ai_dev_workspace-0.1.0b5/docs/PRIVATE-PACKS.md +14 -0
- ai_dev_workspace-0.1.0b5/docs/REPO-START.md +40 -0
- ai_dev_workspace-0.1.0b5/docs/ROADMAP.md +43 -0
- ai_dev_workspace-0.1.0b5/docs/SESSION-SEARCH.md +19 -0
- ai_dev_workspace-0.1.0b5/docs/SETUP.md +139 -0
- ai_dev_workspace-0.1.0b5/docs/TEAM-WORKSPACE.md +82 -0
- ai_dev_workspace-0.1.0b5/docs/TEAM.md +43 -0
- ai_dev_workspace-0.1.0b5/docs/TUTORIAL.md +184 -0
- ai_dev_workspace-0.1.0b5/docs/UPGRADE-CHECK.md +22 -0
- ai_dev_workspace-0.1.0b5/docs/WINDOWS.md +25 -0
- ai_dev_workspace-0.1.0b5/docs/demo.tape +25 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/README.md +42 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/adk-requirements.txt +2 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/adk_agent.py +47 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/common.py +40 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/langgraph-requirements.txt +4 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/langgraph_agent.py +31 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/proof.json +42 -0
- ai_dev_workspace-0.1.0b5/docs/examples/frameworks/prove.py +37 -0
- ai_dev_workspace-0.1.0b5/docs/examples/mcp-protocol-proof.json +1 -0
- ai_dev_workspace-0.1.0b5/kit.json +1 -0
- ai_dev_workspace-0.1.0b5/mcp/server.py +342 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/.gitignore +1 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/AGENTS.snippet.md +4 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/investigate.sh +19 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/pack.json +7 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/patch_modes.py +31 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/selftest.sh +22 -0
- ai_dev_workspace-0.1.0b5/packs/codex-worker/setup.sh +9 -0
- ai_dev_workspace-0.1.0b5/packs/discipline/AGENTS.snippet.md +2 -0
- ai_dev_workspace-0.1.0b5/packs/discipline/pack.json +4 -0
- ai_dev_workspace-0.1.0b5/packs/guards/AGENTS.snippet.md +2 -0
- ai_dev_workspace-0.1.0b5/packs/guards/pack.json +5 -0
- ai_dev_workspace-0.1.0b5/packs/ios/AGENTS.snippet.md +6 -0
- ai_dev_workspace-0.1.0b5/packs/ios/pack.json +5 -0
- ai_dev_workspace-0.1.0b5/packs/ios/vault/Runbooks/App Store review replies.md +7 -0
- ai_dev_workspace-0.1.0b5/packs/ios/vault/Runbooks/iOS Simulator debugging.md +10 -0
- ai_dev_workspace-0.1.0b5/packs/ios/vault/Runbooks/iOS build triage.md +8 -0
- ai_dev_workspace-0.1.0b5/packs/library/AGENTS.snippet.md +5 -0
- ai_dev_workspace-0.1.0b5/packs/library/pack.json +3 -0
- ai_dev_workspace-0.1.0b5/packs/local-llm/AGENTS.snippet.md +3 -0
- ai_dev_workspace-0.1.0b5/packs/local-llm/pack.json +3 -0
- ai_dev_workspace-0.1.0b5/packs/local-llm/summarize.py +38 -0
- ai_dev_workspace-0.1.0b5/packs/ml/AGENTS.snippet.md +5 -0
- ai_dev_workspace-0.1.0b5/packs/ml/pack.json +3 -0
- ai_dev_workspace-0.1.0b5/packs/obsidian/AGENTS.snippet.md +3 -0
- ai_dev_workspace-0.1.0b5/packs/obsidian/pack.json +3 -0
- ai_dev_workspace-0.1.0b5/packs/obsidian/vault/.obsidian/app.json +7 -0
- ai_dev_workspace-0.1.0b5/packs/obsidian/vault/.obsidian/core-plugins.json +1 -0
- ai_dev_workspace-0.1.0b5/packs/obsidian/vault/.obsidian/templates.json +3 -0
- ai_dev_workspace-0.1.0b5/packs/web/AGENTS.snippet.md +5 -0
- ai_dev_workspace-0.1.0b5/packs/web/pack.json +3 -0
- ai_dev_workspace-0.1.0b5/pyproject.toml +3 -0
- ai_dev_workspace-0.1.0b5/setup.cfg +4 -0
- ai_dev_workspace-0.1.0b5/setup.py +55 -0
- ai_dev_workspace-0.1.0b5/skills/handoff/SKILL.md +8 -0
- ai_dev_workspace-0.1.0b5/skills/lesson/SKILL.md +7 -0
- ai_dev_workspace-0.1.0b5/skills/pickup/SKILL.md +7 -0
- ai_dev_workspace-0.1.0b5/skills/thinkbeforeact/SKILL.md +25 -0
- ai_dev_workspace-0.1.0b5/template/.gitignore +2 -0
- ai_dev_workspace-0.1.0b5/template/AGENTS.md +21 -0
- ai_dev_workspace-0.1.0b5/template/CLAUDE.md +1 -0
- ai_dev_workspace-0.1.0b5/template/routing-presets.json +10 -0
- ai_dev_workspace-0.1.0b5/template/routing.json +17 -0
- ai_dev_workspace-0.1.0b5/template/vault/Analysis/INDEX.md +5 -0
- ai_dev_workspace-0.1.0b5/template/vault/Feedback.md +2 -0
- ai_dev_workspace-0.1.0b5/template/vault/Learnings.md +2 -0
- ai_dev_workspace-0.1.0b5/template/vault/Product/INDEX.md +2 -0
- ai_dev_workspace-0.1.0b5/template/vault/Project/INDEX.md +2 -0
- ai_dev_workspace-0.1.0b5/template/vault/README.md +14 -0
- ai_dev_workspace-0.1.0b5/template/vault/Runbooks/Delegation.md +15 -0
- ai_dev_workspace-0.1.0b5/template/vault/Templates/Task.md +35 -0
- ai_dev_workspace-0.1.0b5/tools.json +10 -0
- ai_dev_workspace-0.1.0b5/ws/__init__.py +0 -0
- ai_dev_workspace-0.1.0b5/ws/assist.py +232 -0
- ai_dev_workspace-0.1.0b5/ws/audit.py +101 -0
- ai_dev_workspace-0.1.0b5/ws/cards.py +104 -0
- ai_dev_workspace-0.1.0b5/ws/cli.py +935 -0
- ai_dev_workspace-0.1.0b5/ws/codeburn.py +79 -0
- ai_dev_workspace-0.1.0b5/ws/core.py +3396 -0
- ai_dev_workspace-0.1.0b5/ws/demo.py +57 -0
- ai_dev_workspace-0.1.0b5/ws/discipline.py +56 -0
- ai_dev_workspace-0.1.0b5/ws/folder_io.py +107 -0
- ai_dev_workspace-0.1.0b5/ws/folder_publish.py +77 -0
- ai_dev_workspace-0.1.0b5/ws/guards.py +719 -0
- ai_dev_workspace-0.1.0b5/ws/knowledge.py +193 -0
- ai_dev_workspace-0.1.0b5/ws/memory_import.py +104 -0
- ai_dev_workspace-0.1.0b5/ws/native.py +185 -0
- ai_dev_workspace-0.1.0b5/ws/orchestration.py +347 -0
- ai_dev_workspace-0.1.0b5/ws/packaging.py +6 -0
- ai_dev_workspace-0.1.0b5/ws/packs.py +125 -0
- ai_dev_workspace-0.1.0b5/ws/plugin_runtime.py +44 -0
- ai_dev_workspace-0.1.0b5/ws/repo.py +648 -0
- ai_dev_workspace-0.1.0b5/ws/scope.py +53 -0
- ai_dev_workspace-0.1.0b5/ws/setup.py +116 -0
- ai_dev_workspace-0.1.0b5/ws/sharing.py +222 -0
- ai_dev_workspace-0.1.0b5/ws/team.py +131 -0
- ai_dev_workspace-0.1.0b5/ws/team_auto.py +87 -0
- ai_dev_workspace-0.1.0b5/ws/team_folder.py +167 -0
- ai_dev_workspace-0.1.0b5/ws/team_status.py +87 -0
- ai_dev_workspace-0.1.0b5/ws/team_sync.py +169 -0
- ai_dev_workspace-0.1.0b5/ws/team_ui.py +87 -0
- ai_dev_workspace-0.1.0b5/ws/transcripts.py +78 -0
- ai_dev_workspace-0.1.0b5/ws/upgrade.py +216 -0
- ai_dev_workspace-0.1.0b5/ws/workers.py +397 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AI Dev Workspace 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,12 @@
|
|
|
1
|
+
include kit.json tools.json LICENSE
|
|
2
|
+
graft template
|
|
3
|
+
graft packs
|
|
4
|
+
graft skills
|
|
5
|
+
graft mcp
|
|
6
|
+
graft bin
|
|
7
|
+
graft docs
|
|
8
|
+
prune tests
|
|
9
|
+
prune packs/codex-worker/runtime
|
|
10
|
+
global-exclude *.pyc .DS_Store
|
|
11
|
+
recursive-exclude * __pycache__/*
|
|
12
|
+
include README.md
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ai-dev-workspace
|
|
3
|
+
Version: 0.1.0b5
|
|
4
|
+
Summary: Shared task memory for AI coding assistants: Claude Code, Codex, Cursor, Copilot, Gemini CLI
|
|
5
|
+
Home-page: https://github.com/Alenroyfeild/ai-dev-workspace
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Documentation, https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/OVERVIEW.md
|
|
8
|
+
Project-URL: Changelog, https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/CHANGELOG.md
|
|
9
|
+
Project-URL: Issues, https://github.com/Alenroyfeild/ai-dev-workspace/issues
|
|
10
|
+
Project-URL: Source, https://github.com/Alenroyfeild/ai-dev-workspace
|
|
11
|
+
Keywords: ai coding assistant memory claude-code codex cursor copilot gemini-cli mcp agents context handoff
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: description
|
|
26
|
+
Dynamic: description-content-type
|
|
27
|
+
Dynamic: home-page
|
|
28
|
+
Dynamic: keywords
|
|
29
|
+
Dynamic: license
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
Dynamic: project-url
|
|
32
|
+
Dynamic: requires-python
|
|
33
|
+
Dynamic: summary
|
|
34
|
+
|
|
35
|
+
# AI Dev Workspace
|
|
36
|
+
|
|
37
|
+
Switch between Claude Code and Codex without re-explaining your decisions. Your assistant remembers work between sessions in Markdown you own. It keeps decisions, the next step and what not to retry, and warns when files it names changed or disappeared. Try it before connecting a repo: `ws demo` · [5-minute tutorial](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TUTORIAL.md) · [remove it](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TUTORIAL.md#remove-it)
|
|
38
|
+
<!-- Demo GIF -->
|
|
39
|
+
## Quick start
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pipx install ai-dev-workspace --pip-args='--pre' # beta; omit --pip-args after a stable release
|
|
43
|
+
cd ~/code/myapp && ws start
|
|
44
|
+
```
|
|
45
|
+
Without pipx: `python3 -m venv ~/.local/share/ai-dev-workspace && ~/.local/share/ai-dev-workspace/bin/pip install --pre ai-dev-workspace`; put its `bin` directory on `PATH` before `ws start`. Prefer a Claude Code plugin? See the [plugin preview](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/ADVANCED.md#claude-code-plugin-preview).
|
|
46
|
+
## Example
|
|
47
|
+
```text
|
|
48
|
+
Session 1 — You: “Empty email returns missing_email; leave signup unchanged.”
|
|
49
|
+
Assistant: “I’ll trace login and keep the decision with this task.”
|
|
50
|
+
You: “Stop here; I’ll resume tomorrow.”
|
|
51
|
+
Session 2 — You: “Continue the login fix.”
|
|
52
|
+
Assistant: “The saved note says return missing_email and leave signup unchanged.”
|
|
53
|
+
You: “Yes, continue.”
|
|
54
|
+
```
|
|
55
|
+
## Results (small synthetic samples, not general productivity)
|
|
56
|
+
| Session 1 → session 2 | Without workspace | With workspace |
|
|
57
|
+
|---|---:|---:|
|
|
58
|
+
| Claude Code → Claude Code | 0/5 | **5/5** |
|
|
59
|
+
| Claude Code → Codex | 0/5 | **5/5** |
|
|
60
|
+
| Codex → Codex | 0/3 | **3/3** |
|
|
61
|
+
|
|
62
|
+
Later Codex → Codex runs (n=5 each) were less favourable: the workspace passed 1/5 and 2/5, while a plain `HANDOFF.md` control passed 4/5 and 5/5. See [bench/README.md](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/bench/README.md).
|
|
63
|
+
## Team sharing
|
|
64
|
+
Your notes stay private. Share only what you approve, and your teammates' assistants start with it: after `ws start`, `ws team init <private-repo> --attest-private` (`--yes` in scripts) · `ws know add "Payments API rejects floats" --category domain --team` · `ws sync`. A teammate runs `ws team link <private-repo>`; their next brief shows the note, labelled as shared team context, and their own decisions still win. [Team quick start](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TEAM-WORKSPACE.md#quick-start)
|
|
65
|
+
## Compatibility
|
|
66
|
+
| Client | macOS | Linux/Windows |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Claude Code | supported, tested live on macOS | CI-tested |
|
|
69
|
+
| Codex | supported, tested live on macOS | CI-tested |
|
|
70
|
+
| Cursor | supported, fixture-tested; live reports welcome | CI-tested |
|
|
71
|
+
| Copilot (VS Code) | supported, fixture-tested; live reports welcome | CI-tested |
|
|
72
|
+
| Gemini CLI | supported, fixture-tested; live reports welcome | CI-tested |
|
|
73
|
+
|
|
74
|
+
Testers on Cursor, Copilot (VS Code), or Gemini CLI: please share problems through [Something broke](https://github.com/Alenroyfeild/ai-dev-workspace/issues/new?template=bug.yml). · [Overview](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/OVERVIEW.md) · [Setup](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/SETUP.md) · [Commands](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/COMMANDS.md) · [Keeping corrections](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/COMMANDS.md#save-a-correction) · [Measurements](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/MEASUREMENTS.md) · [Client verification](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/CLIENT-VERIFICATION.md) · [Packs](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/PACKS.md) · [Team use](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TEAM.md) · [Windows](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/WINDOWS.md) · [Roadmap](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/ROADMAP.md) · [License](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/LICENSE) <!-- mcp-name: io.github.Alenroyfeild/ai-dev-workspace mcp-name: io.github.alenroyfeild/ai-dev-workspace -->
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# AI Dev Workspace
|
|
2
|
+
|
|
3
|
+
Switch between Claude Code and Codex without re-explaining your decisions. Your assistant remembers work between sessions in Markdown you own. It keeps decisions, the next step and what not to retry, and warns when files it names changed or disappeared. Try it before connecting a repo: `ws demo` · [5-minute tutorial](docs/TUTORIAL.md) · [remove it](docs/TUTORIAL.md#remove-it)
|
|
4
|
+
<!-- Demo GIF -->
|
|
5
|
+
## Quick start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pipx install ai-dev-workspace --pip-args='--pre' # beta; omit --pip-args after a stable release
|
|
9
|
+
cd ~/code/myapp && ws start
|
|
10
|
+
```
|
|
11
|
+
Without pipx: `python3 -m venv ~/.local/share/ai-dev-workspace && ~/.local/share/ai-dev-workspace/bin/pip install --pre ai-dev-workspace`; put its `bin` directory on `PATH` before `ws start`. Prefer a Claude Code plugin? See the [plugin preview](docs/ADVANCED.md#claude-code-plugin-preview).
|
|
12
|
+
## Example
|
|
13
|
+
```text
|
|
14
|
+
Session 1 — You: “Empty email returns missing_email; leave signup unchanged.”
|
|
15
|
+
Assistant: “I’ll trace login and keep the decision with this task.”
|
|
16
|
+
You: “Stop here; I’ll resume tomorrow.”
|
|
17
|
+
Session 2 — You: “Continue the login fix.”
|
|
18
|
+
Assistant: “The saved note says return missing_email and leave signup unchanged.”
|
|
19
|
+
You: “Yes, continue.”
|
|
20
|
+
```
|
|
21
|
+
## Results (small synthetic samples, not general productivity)
|
|
22
|
+
| Session 1 → session 2 | Without workspace | With workspace |
|
|
23
|
+
|---|---:|---:|
|
|
24
|
+
| Claude Code → Claude Code | 0/5 | **5/5** |
|
|
25
|
+
| Claude Code → Codex | 0/5 | **5/5** |
|
|
26
|
+
| Codex → Codex | 0/3 | **3/3** |
|
|
27
|
+
|
|
28
|
+
Later Codex → Codex runs (n=5 each) were less favourable: the workspace passed 1/5 and 2/5, while a plain `HANDOFF.md` control passed 4/5 and 5/5. See [bench/README.md](bench/README.md).
|
|
29
|
+
## Team sharing
|
|
30
|
+
Your notes stay private. Share only what you approve, and your teammates' assistants start with it: after `ws start`, `ws team init <private-repo> --attest-private` (`--yes` in scripts) · `ws know add "Payments API rejects floats" --category domain --team` · `ws sync`. A teammate runs `ws team link <private-repo>`; their next brief shows the note, labelled as shared team context, and their own decisions still win. [Team quick start](docs/TEAM-WORKSPACE.md#quick-start)
|
|
31
|
+
## Compatibility
|
|
32
|
+
| Client | macOS | Linux/Windows |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| Claude Code | supported, tested live on macOS | CI-tested |
|
|
35
|
+
| Codex | supported, tested live on macOS | CI-tested |
|
|
36
|
+
| Cursor | supported, fixture-tested; live reports welcome | CI-tested |
|
|
37
|
+
| Copilot (VS Code) | supported, fixture-tested; live reports welcome | CI-tested |
|
|
38
|
+
| Gemini CLI | supported, fixture-tested; live reports welcome | CI-tested |
|
|
39
|
+
|
|
40
|
+
Testers on Cursor, Copilot (VS Code), or Gemini CLI: please share problems through [Something broke](https://github.com/Alenroyfeild/ai-dev-workspace/issues/new?template=bug.yml). · [Overview](docs/OVERVIEW.md) · [Setup](docs/SETUP.md) · [Commands](docs/COMMANDS.md) · [Keeping corrections](docs/COMMANDS.md#save-a-correction) · [Measurements](docs/MEASUREMENTS.md) · [Client verification](docs/CLIENT-VERIFICATION.md) · [Packs](docs/PACKS.md) · [Team use](docs/TEAM.md) · [Windows](docs/WINDOWS.md) · [Roadmap](docs/ROADMAP.md) · [License](LICENSE) <!-- mcp-name: io.github.Alenroyfeild/ai-dev-workspace mcp-name: io.github.alenroyfeild/ai-dev-workspace -->
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ai-dev-workspace
|
|
3
|
+
Version: 0.1.0b5
|
|
4
|
+
Summary: Shared task memory for AI coding assistants: Claude Code, Codex, Cursor, Copilot, Gemini CLI
|
|
5
|
+
Home-page: https://github.com/Alenroyfeild/ai-dev-workspace
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Documentation, https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/OVERVIEW.md
|
|
8
|
+
Project-URL: Changelog, https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/CHANGELOG.md
|
|
9
|
+
Project-URL: Issues, https://github.com/Alenroyfeild/ai-dev-workspace/issues
|
|
10
|
+
Project-URL: Source, https://github.com/Alenroyfeild/ai-dev-workspace
|
|
11
|
+
Keywords: ai coding assistant memory claude-code codex cursor copilot gemini-cli mcp agents context handoff
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: description
|
|
26
|
+
Dynamic: description-content-type
|
|
27
|
+
Dynamic: home-page
|
|
28
|
+
Dynamic: keywords
|
|
29
|
+
Dynamic: license
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
Dynamic: project-url
|
|
32
|
+
Dynamic: requires-python
|
|
33
|
+
Dynamic: summary
|
|
34
|
+
|
|
35
|
+
# AI Dev Workspace
|
|
36
|
+
|
|
37
|
+
Switch between Claude Code and Codex without re-explaining your decisions. Your assistant remembers work between sessions in Markdown you own. It keeps decisions, the next step and what not to retry, and warns when files it names changed or disappeared. Try it before connecting a repo: `ws demo` · [5-minute tutorial](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TUTORIAL.md) · [remove it](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TUTORIAL.md#remove-it)
|
|
38
|
+
<!-- Demo GIF -->
|
|
39
|
+
## Quick start
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pipx install ai-dev-workspace --pip-args='--pre' # beta; omit --pip-args after a stable release
|
|
43
|
+
cd ~/code/myapp && ws start
|
|
44
|
+
```
|
|
45
|
+
Without pipx: `python3 -m venv ~/.local/share/ai-dev-workspace && ~/.local/share/ai-dev-workspace/bin/pip install --pre ai-dev-workspace`; put its `bin` directory on `PATH` before `ws start`. Prefer a Claude Code plugin? See the [plugin preview](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/ADVANCED.md#claude-code-plugin-preview).
|
|
46
|
+
## Example
|
|
47
|
+
```text
|
|
48
|
+
Session 1 — You: “Empty email returns missing_email; leave signup unchanged.”
|
|
49
|
+
Assistant: “I’ll trace login and keep the decision with this task.”
|
|
50
|
+
You: “Stop here; I’ll resume tomorrow.”
|
|
51
|
+
Session 2 — You: “Continue the login fix.”
|
|
52
|
+
Assistant: “The saved note says return missing_email and leave signup unchanged.”
|
|
53
|
+
You: “Yes, continue.”
|
|
54
|
+
```
|
|
55
|
+
## Results (small synthetic samples, not general productivity)
|
|
56
|
+
| Session 1 → session 2 | Without workspace | With workspace |
|
|
57
|
+
|---|---:|---:|
|
|
58
|
+
| Claude Code → Claude Code | 0/5 | **5/5** |
|
|
59
|
+
| Claude Code → Codex | 0/5 | **5/5** |
|
|
60
|
+
| Codex → Codex | 0/3 | **3/3** |
|
|
61
|
+
|
|
62
|
+
Later Codex → Codex runs (n=5 each) were less favourable: the workspace passed 1/5 and 2/5, while a plain `HANDOFF.md` control passed 4/5 and 5/5. See [bench/README.md](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/bench/README.md).
|
|
63
|
+
## Team sharing
|
|
64
|
+
Your notes stay private. Share only what you approve, and your teammates' assistants start with it: after `ws start`, `ws team init <private-repo> --attest-private` (`--yes` in scripts) · `ws know add "Payments API rejects floats" --category domain --team` · `ws sync`. A teammate runs `ws team link <private-repo>`; their next brief shows the note, labelled as shared team context, and their own decisions still win. [Team quick start](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TEAM-WORKSPACE.md#quick-start)
|
|
65
|
+
## Compatibility
|
|
66
|
+
| Client | macOS | Linux/Windows |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Claude Code | supported, tested live on macOS | CI-tested |
|
|
69
|
+
| Codex | supported, tested live on macOS | CI-tested |
|
|
70
|
+
| Cursor | supported, fixture-tested; live reports welcome | CI-tested |
|
|
71
|
+
| Copilot (VS Code) | supported, fixture-tested; live reports welcome | CI-tested |
|
|
72
|
+
| Gemini CLI | supported, fixture-tested; live reports welcome | CI-tested |
|
|
73
|
+
|
|
74
|
+
Testers on Cursor, Copilot (VS Code), or Gemini CLI: please share problems through [Something broke](https://github.com/Alenroyfeild/ai-dev-workspace/issues/new?template=bug.yml). · [Overview](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/OVERVIEW.md) · [Setup](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/SETUP.md) · [Commands](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/COMMANDS.md) · [Keeping corrections](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/COMMANDS.md#save-a-correction) · [Measurements](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/MEASUREMENTS.md) · [Client verification](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/CLIENT-VERIFICATION.md) · [Packs](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/PACKS.md) · [Team use](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/TEAM.md) · [Windows](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/WINDOWS.md) · [Roadmap](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/docs/ROADMAP.md) · [License](https://github.com/Alenroyfeild/ai-dev-workspace/blob/main/LICENSE) <!-- mcp-name: io.github.Alenroyfeild/ai-dev-workspace mcp-name: io.github.alenroyfeild/ai-dev-workspace -->
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
MANIFEST.in
|
|
3
|
+
README.md
|
|
4
|
+
kit.json
|
|
5
|
+
pyproject.toml
|
|
6
|
+
setup.py
|
|
7
|
+
tools.json
|
|
8
|
+
ai_dev_workspace.egg-info/PKG-INFO
|
|
9
|
+
ai_dev_workspace.egg-info/SOURCES.txt
|
|
10
|
+
ai_dev_workspace.egg-info/dependency_links.txt
|
|
11
|
+
ai_dev_workspace.egg-info/entry_points.txt
|
|
12
|
+
ai_dev_workspace.egg-info/top_level.txt
|
|
13
|
+
bin/publish-release
|
|
14
|
+
bin/release-smoke
|
|
15
|
+
bin/ws
|
|
16
|
+
bin/ws-plugin
|
|
17
|
+
bin/ws-python
|
|
18
|
+
docs/ADVANCED.md
|
|
19
|
+
docs/AGENT-ORCHESTRATION.md
|
|
20
|
+
docs/ARCHITECTURE.md
|
|
21
|
+
docs/ASSIST-FEATURES.md
|
|
22
|
+
docs/CLIENT-VERIFICATION.md
|
|
23
|
+
docs/COMMANDS.md
|
|
24
|
+
docs/CONCEPTS.md
|
|
25
|
+
docs/DEMO.md
|
|
26
|
+
docs/MAINTAINING.md
|
|
27
|
+
docs/MCP-WORKFLOWS.md
|
|
28
|
+
docs/MCP.md
|
|
29
|
+
docs/MEASUREMENTS.md
|
|
30
|
+
docs/OVERVIEW.md
|
|
31
|
+
docs/PACKS.md
|
|
32
|
+
docs/PARALLEL-WORKERS.md
|
|
33
|
+
docs/PRINCIPLES.md
|
|
34
|
+
docs/PRIVATE-PACKS.md
|
|
35
|
+
docs/REPO-START.md
|
|
36
|
+
docs/ROADMAP.md
|
|
37
|
+
docs/SESSION-SEARCH.md
|
|
38
|
+
docs/SETUP.md
|
|
39
|
+
docs/TEAM-WORKSPACE.md
|
|
40
|
+
docs/TEAM.md
|
|
41
|
+
docs/TUTORIAL.md
|
|
42
|
+
docs/UPGRADE-CHECK.md
|
|
43
|
+
docs/WINDOWS.md
|
|
44
|
+
docs/demo.tape
|
|
45
|
+
docs/examples/mcp-protocol-proof.json
|
|
46
|
+
docs/examples/frameworks/README.md
|
|
47
|
+
docs/examples/frameworks/adk-requirements.txt
|
|
48
|
+
docs/examples/frameworks/adk_agent.py
|
|
49
|
+
docs/examples/frameworks/common.py
|
|
50
|
+
docs/examples/frameworks/langgraph-requirements.txt
|
|
51
|
+
docs/examples/frameworks/langgraph_agent.py
|
|
52
|
+
docs/examples/frameworks/proof.json
|
|
53
|
+
docs/examples/frameworks/prove.py
|
|
54
|
+
mcp/server.py
|
|
55
|
+
packs/codex-worker/.gitignore
|
|
56
|
+
packs/codex-worker/AGENTS.snippet.md
|
|
57
|
+
packs/codex-worker/investigate.sh
|
|
58
|
+
packs/codex-worker/pack.json
|
|
59
|
+
packs/codex-worker/patch_modes.py
|
|
60
|
+
packs/codex-worker/selftest.sh
|
|
61
|
+
packs/codex-worker/setup.sh
|
|
62
|
+
packs/discipline/AGENTS.snippet.md
|
|
63
|
+
packs/discipline/pack.json
|
|
64
|
+
packs/guards/AGENTS.snippet.md
|
|
65
|
+
packs/guards/pack.json
|
|
66
|
+
packs/ios/AGENTS.snippet.md
|
|
67
|
+
packs/ios/pack.json
|
|
68
|
+
packs/ios/vault/Runbooks/App Store review replies.md
|
|
69
|
+
packs/ios/vault/Runbooks/iOS Simulator debugging.md
|
|
70
|
+
packs/ios/vault/Runbooks/iOS build triage.md
|
|
71
|
+
packs/library/AGENTS.snippet.md
|
|
72
|
+
packs/library/pack.json
|
|
73
|
+
packs/local-llm/AGENTS.snippet.md
|
|
74
|
+
packs/local-llm/pack.json
|
|
75
|
+
packs/local-llm/summarize.py
|
|
76
|
+
packs/ml/AGENTS.snippet.md
|
|
77
|
+
packs/ml/pack.json
|
|
78
|
+
packs/obsidian/AGENTS.snippet.md
|
|
79
|
+
packs/obsidian/pack.json
|
|
80
|
+
packs/obsidian/vault/.obsidian/app.json
|
|
81
|
+
packs/obsidian/vault/.obsidian/core-plugins.json
|
|
82
|
+
packs/obsidian/vault/.obsidian/templates.json
|
|
83
|
+
packs/web/AGENTS.snippet.md
|
|
84
|
+
packs/web/pack.json
|
|
85
|
+
skills/handoff/SKILL.md
|
|
86
|
+
skills/lesson/SKILL.md
|
|
87
|
+
skills/pickup/SKILL.md
|
|
88
|
+
skills/thinkbeforeact/SKILL.md
|
|
89
|
+
template/.gitignore
|
|
90
|
+
template/AGENTS.md
|
|
91
|
+
template/CLAUDE.md
|
|
92
|
+
template/routing-presets.json
|
|
93
|
+
template/routing.json
|
|
94
|
+
template/vault/Feedback.md
|
|
95
|
+
template/vault/Learnings.md
|
|
96
|
+
template/vault/README.md
|
|
97
|
+
template/vault/Analysis/INDEX.md
|
|
98
|
+
template/vault/Product/INDEX.md
|
|
99
|
+
template/vault/Project/INDEX.md
|
|
100
|
+
template/vault/Runbooks/Delegation.md
|
|
101
|
+
template/vault/Templates/Task.md
|
|
102
|
+
ws/__init__.py
|
|
103
|
+
ws/assist.py
|
|
104
|
+
ws/audit.py
|
|
105
|
+
ws/cards.py
|
|
106
|
+
ws/cli.py
|
|
107
|
+
ws/codeburn.py
|
|
108
|
+
ws/core.py
|
|
109
|
+
ws/demo.py
|
|
110
|
+
ws/discipline.py
|
|
111
|
+
ws/folder_io.py
|
|
112
|
+
ws/folder_publish.py
|
|
113
|
+
ws/guards.py
|
|
114
|
+
ws/knowledge.py
|
|
115
|
+
ws/memory_import.py
|
|
116
|
+
ws/native.py
|
|
117
|
+
ws/orchestration.py
|
|
118
|
+
ws/packaging.py
|
|
119
|
+
ws/packs.py
|
|
120
|
+
ws/plugin_runtime.py
|
|
121
|
+
ws/repo.py
|
|
122
|
+
ws/scope.py
|
|
123
|
+
ws/setup.py
|
|
124
|
+
ws/sharing.py
|
|
125
|
+
ws/team.py
|
|
126
|
+
ws/team_auto.py
|
|
127
|
+
ws/team_folder.py
|
|
128
|
+
ws/team_status.py
|
|
129
|
+
ws/team_sync.py
|
|
130
|
+
ws/team_ui.py
|
|
131
|
+
ws/transcripts.py
|
|
132
|
+
ws/upgrade.py
|
|
133
|
+
ws/workers.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ws
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
tag=${1:?usage: publish-release TAG NOTES_FILE}
|
|
5
|
+
notes=${2:?usage: publish-release TAG NOTES_FILE}
|
|
6
|
+
|
|
7
|
+
if view_error=$(gh release view "$tag" 2>&1 >/dev/null); then
|
|
8
|
+
gh release edit "$tag" --notes-file "$notes" --prerelease=false --latest
|
|
9
|
+
echo "Release $tag already exists; updated notes."
|
|
10
|
+
exit 0
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
case "$view_error" in
|
|
14
|
+
*"HTTP 404:"*|*"release not found"*) ;;
|
|
15
|
+
*) echo "Could not check release $tag; refusing to create: $view_error" >&2; exit 1 ;;
|
|
16
|
+
esac
|
|
17
|
+
|
|
18
|
+
set +e
|
|
19
|
+
create_error=$(gh release create "$tag" --title "$tag" --notes-file "$notes" --latest 2>&1)
|
|
20
|
+
create_status=$?
|
|
21
|
+
set -e
|
|
22
|
+
if [ "$create_status" -eq 0 ]; then
|
|
23
|
+
[ -z "$create_error" ] || echo "$create_error"
|
|
24
|
+
exit 0
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
if gh release view "$tag" >/dev/null 2>&1; then
|
|
28
|
+
gh release edit "$tag" --notes-file "$notes" --prerelease=false --latest
|
|
29
|
+
echo "Release $tag appeared during creation; updated notes."
|
|
30
|
+
exit 0
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
echo "$create_error" >&2
|
|
34
|
+
exit "$create_status"
|