codemble 0.3.0__tar.gz → 0.3.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.
- {codemble-0.3.0 → codemble-0.3.1}/CHANGELOG.md +10 -0
- codemble-0.3.1/PKG-INFO +219 -0
- {codemble-0.3.0 → codemble-0.3.1}/README.md +17 -24
- {codemble-0.3.0 → codemble-0.3.1}/TESTING.md +1 -4
- {codemble-0.3.0 → codemble-0.3.1}/codemble/__init__.py +1 -1
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/package.json +1 -1
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/early-testing.md +1 -4
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/installation.md +4 -12
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/introduction.md +3 -2
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/quickstart.md +0 -3
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/roadmap.md +1 -1
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/pages/index.astro +3 -15
- {codemble-0.3.0 → codemble-0.3.1}/pyproject.toml +19 -2
- {codemble-0.3.0 → codemble-0.3.1}/web/package.json +1 -1
- codemble-0.3.0/.hallmark/log.json +0 -37
- codemble-0.3.0/.hallmark/preflight.json +0 -9
- codemble-0.3.0/.remember/now.md +0 -3
- codemble-0.3.0/.remember/tmp/last-ndc.ts +0 -1
- codemble-0.3.0/.remember/tmp/last-save-ts +0 -1
- codemble-0.3.0/.remember/tmp/last-save.json +0 -1
- codemble-0.3.0/.remember/tmp/save-session.pid +0 -1
- codemble-0.3.0/.remember/today-2026-07-19.md +0 -10
- codemble-0.3.0/PKG-INFO +0 -417
- {codemble-0.3.0 → codemble-0.3.1}/.env.example +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.gitattributes +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/early_tester.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/dependabot.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/ci.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/pages.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/publish-pypi.yml +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/.gitignore +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/AGENTS.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/CLAUDE.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/CODE_OF_CONDUCT.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/CONTRIBUTING.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/LICENSE +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/NOTICE +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/SECURITY.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/assets/demo.gif +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/base.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/discovery.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/project.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/python_ast.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/typescript_tree_sitter.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/checks/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/checks/service.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/cli.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/finalize.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/layout.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/javascript_typescript.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/python.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/providers.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/study.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/progress/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/progress/store.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/server/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/server/app.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/server/runtime.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/index-DOBVd_-M.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/index-cIG6GGIB.js +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-500-normal-C-QwvIb3.woff +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-500-normal-XI1O8euf.woff2 +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-700-normal-CkoCYOiI.woff +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-700-normal-DHcmzUO5.woff2 +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/zen-kaku-gothic-new-latin-400-normal-BEdayliK.woff2 +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/zen-kaku-gothic-new-latin-400-normal-CPSmNJAU.woff +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/index.html +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/adr/README.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/plans/2026-07-19-install-ux-folder-picker-design.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/plans/2026-07-19-install-ux-folder-picker-plan.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/plans/README.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/plans/phase-1.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/releases/checklist.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/releases/v0.1.0.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/releases/v0.2.0.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs/research/README.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/.gitignore +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/astro.config.mjs +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/design.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/favicon-16.png +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/favicon-32.png +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-180.png +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-192.png +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-512.png +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/mark-animated.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/mark.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-chart.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-field.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-gold.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/kasumi-rule.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-galaxy.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-study.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-system.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/seal.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/favicon.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/scripts/build-plates.mjs +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/assets/codemble-mark-dark.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/assets/codemble-mark-light.svg +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/components/Search.astro +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/components/Tatebanko.astro +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/architecture.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/build-from-source.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/checks-and-lighting.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/contributing.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/correctness.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m1-parser.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m10-polyglot-release.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m2-galaxy.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m3-study.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m4-lens.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m5-checks.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m6-release.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m8-typescript.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m9-typescript-lens.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/star-chart.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/the-galaxy.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content.config.ts +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/custom.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/landing.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/tokens.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/scripts/dev.sh +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/scripts/record_demo.sh +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/concepts_sample.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/python_worker.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/broken.ts +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/legacy.js +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/local.js +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/main.ts +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/reexport.ts +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/util.ts +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/widget.tsx +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/.gitignore +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/ambiguous.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/api.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/app.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/broken.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/cli.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/__init__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/helpers.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/service.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/util.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/runner/__main__.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/shared.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_checks.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_graph_finalization.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_progress.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_project_parser.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_python_ast.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_server.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_smoke.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_study.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/tests/test_typescript_tree_sitter.py +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/README.md +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/index.html +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/package-lock.json +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/scripts/check_graph_data.mjs +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/scripts/check_learner_session.mjs +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/scripts/record_demo.mjs +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/App.jsx +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/GalaxyCanvas.jsx +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/graphData.js +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/learnerSession.js +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/main.jsx +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/styles.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/src/tokens.css +0 -0
- {codemble-0.3.0 → codemble-0.3.1}/web/vite.config.js +0 -0
|
@@ -5,6 +5,16 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) · Versioning:
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.3.1] - 2026-07-19
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Packaging metadata only, no behavior change: added PyPI classifiers (Beta
|
|
12
|
+
status, Python 3.11-3.13, Apache-2.0 license, dev/education audience), moved
|
|
13
|
+
license metadata to the PEP 639 SPDX form so the License field is concise
|
|
14
|
+
instead of dumping the full Apache text, made README links absolute so the
|
|
15
|
+
PyPI project page renders them, and excluded internal tooling directories
|
|
16
|
+
from the sdist.
|
|
17
|
+
|
|
8
18
|
## [0.3.0] - 2026-07-19
|
|
9
19
|
|
|
10
20
|
### Added
|
codemble-0.3.1/PKG-INFO
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: codemble
|
|
3
|
+
Version: 0.3.1
|
|
4
|
+
Summary: A learning game that turns the code AI wrote for you into a galaxy you light up by understanding it.
|
|
5
|
+
Project-URL: Homepage, https://udhawan97.github.io/Codemble/
|
|
6
|
+
Project-URL: Repository, https://github.com/udhawan97/Codemble
|
|
7
|
+
Author-email: Umang Dhawan <umangdhawan97@gmail.com>
|
|
8
|
+
License-Expression: Apache-2.0
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Environment :: Web Environment
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Education
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Education
|
|
20
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Requires-Dist: fastapi>=0.115
|
|
23
|
+
Requires-Dist: tree-sitter-javascript<0.26,>=0.25
|
|
24
|
+
Requires-Dist: tree-sitter-typescript<0.24,>=0.23.2
|
|
25
|
+
Requires-Dist: tree-sitter<0.27,>=0.25
|
|
26
|
+
Requires-Dist: uvicorn>=0.30
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: httpx>=0.27; extra == 'dev'
|
|
29
|
+
Requires-Dist: pytest>=8; extra == 'dev'
|
|
30
|
+
Requires-Dist: ruff>=0.6; extra == 'dev'
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
<p align="center">
|
|
35
|
+
<a href="https://udhawan97.github.io/Codemble/">
|
|
36
|
+
<img src="https://github.com/udhawan97/Codemble/raw/main/docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
|
|
37
|
+
</a>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
<h1 align="center">Codemble</h1>
|
|
41
|
+
|
|
42
|
+
<p align="center"><strong>Turn AI-built code into a galaxy you actually understand.</strong></p>
|
|
43
|
+
|
|
44
|
+
<p align="center">
|
|
45
|
+
Codemble is a local-first learning game for projects built with Claude Code,
|
|
46
|
+
Codex, and other coding agents. It maps real parser evidence into a 3D galaxy,
|
|
47
|
+
then lights each region only after you prove you understand it.
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<p align="center"><strong>Your project · Your key · Your machine · No invented structure</strong></p>
|
|
51
|
+
|
|
52
|
+
<p align="center">
|
|
53
|
+
<a href="https://github.com/udhawan97/Codemble/releases/latest"><img src="https://img.shields.io/github/v/release/udhawan97/Codemble?style=flat-square&label=release&color=2b4d96" alt="Latest release"></a>
|
|
54
|
+
<a href="https://github.com/udhawan97/Codemble/actions/workflows/ci.yml"><img src="https://github.com/udhawan97/Codemble/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI status"></a>
|
|
55
|
+
<img src="https://img.shields.io/badge/Python-3.11+-2b4d96?style=flat-square" alt="Python 3.11 or newer">
|
|
56
|
+
<img src="https://img.shields.io/badge/maps-Python_·_JavaScript_·_TypeScript-3f6ac0?style=flat-square" alt="Maps Python, JavaScript, and TypeScript projects">
|
|
57
|
+
<img src="https://img.shields.io/badge/license-Apache_2.0-070b1c?style=flat-square" alt="Apache 2.0 license">
|
|
58
|
+
</p>
|
|
59
|
+
|
|
60
|
+
<p align="center">
|
|
61
|
+
<a href="#quick-start">Quick start</a> ·
|
|
62
|
+
<a href="#how-the-learning-loop-works">Learning loop</a> ·
|
|
63
|
+
<a href="https://udhawan97.github.io/Codemble/">Documentation</a> ·
|
|
64
|
+
<a href="https://github.com/udhawan97/Codemble/blob/main/TESTING.md">Test Codemble</a>
|
|
65
|
+
</p>
|
|
66
|
+
|
|
67
|
+
<p align="center">
|
|
68
|
+
<img src="https://github.com/udhawan97/Codemble/raw/main/assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
> [!IMPORTANT]
|
|
72
|
+
> **Codemble is in its Phase 1 tester release.** It maps Python,
|
|
73
|
+
> JavaScript, TypeScript, and mixed projects in one parser-proven galaxy,
|
|
74
|
+
> installable straight from PyPI with an in-app project picker. The
|
|
75
|
+
> technical release is complete; unaided learner runs are the evidence still
|
|
76
|
+
> being collected. [Try the ten-minute tester loop](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
|
|
77
|
+
|
|
78
|
+
## Quick start
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
uvx codemble # or: pipx install codemble && codemble
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Codemble opens your browser — pick your project folder there. To skip the
|
|
85
|
+
picker, pass a path: `codemble ./your-ai-built-project`.
|
|
86
|
+
|
|
87
|
+
The wheel already contains the web app, so Node.js is not required. No API key
|
|
88
|
+
is needed for the galaxy, source viewer, language Lens, checks, lighting, or
|
|
89
|
+
saved progress. Add your own Anthropic or OpenAI key only if you want grounded
|
|
90
|
+
prose explanations:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY=sk-...
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
[Installation, configuration, and troubleshooting →](https://udhawan97.github.io/Codemble/installation/)
|
|
97
|
+
|
|
98
|
+
## How the learning loop works
|
|
99
|
+
|
|
100
|
+
| Step | What Codemble does | What you gain |
|
|
101
|
+
| --- | --- | --- |
|
|
102
|
+
| **1. Chart** | Parses your project without running its code or package scripts | A deterministic map made from source evidence |
|
|
103
|
+
| **2. Navigate** | Guides you from galaxy → system → study on scripted camera rails | Orientation without getting lost in free flight |
|
|
104
|
+
| **3. Study** | Shows the real source, exact line numbers, neighbors, and parser-detected language idioms | Context tied to code you can inspect |
|
|
105
|
+
| **4. Prove** | Generates and scores checks from the graph—never from the model | A region lights only when understanding is demonstrated |
|
|
106
|
+
| **5. Return** | Saves progress locally; changing one file re-dims only its module | A living map that stays honest as the project changes |
|
|
107
|
+
|
|
108
|
+
No XP. No streaks. No leaderboard. The visible reward is the useful one: more
|
|
109
|
+
of your own code becomes a sky you understand.
|
|
110
|
+
|
|
111
|
+
## Read the galaxy
|
|
112
|
+
|
|
113
|
+
| In the galaxy | In your project |
|
|
114
|
+
| --- | --- |
|
|
115
|
+
| A star system | One source module |
|
|
116
|
+
| A planet | A function or class |
|
|
117
|
+
| The Home system | The selected parser-ranked entrypoint |
|
|
118
|
+
| A route or edge | An import or call; approximate calls are labeled **possible** |
|
|
119
|
+
| Size | Lines of code |
|
|
120
|
+
| Brightness | Structural centrality |
|
|
121
|
+
| Dim → lit | Not yet proven → understood |
|
|
122
|
+
|
|
123
|
+
Python-only, JavaScript-only, TypeScript-only, and mixed projects share the same
|
|
124
|
+
graph contract. Language focus changes only what you are looking at; it never
|
|
125
|
+
changes coordinates, progress, or parser truth.
|
|
126
|
+
|
|
127
|
+
## Honest by construction
|
|
128
|
+
|
|
129
|
+
Codemble is built for learners who may not yet be able to spot a confident
|
|
130
|
+
mistake. Accuracy therefore outranks spectacle:
|
|
131
|
+
|
|
132
|
+
- Structure, entrypoints, concepts, imports, and calls come from parsers.
|
|
133
|
+
- Every explanation points to a real `file:line` and may name only supplied
|
|
134
|
+
identifiers and relationships.
|
|
135
|
+
- Language Lens notes appear only where a parser detected the construct.
|
|
136
|
+
- Check answers come from the graph, never an LLM.
|
|
137
|
+
- Approximate relationships stay visibly uncertain.
|
|
138
|
+
- Provider output that fails grounding validation is withheld instead of being
|
|
139
|
+
softened into a guess.
|
|
140
|
+
|
|
141
|
+
Read the full [correctness contract](https://udhawan97.github.io/Codemble/correctness/).
|
|
142
|
+
A wrong explanation is a highest-severity bug—[report it without mercy](https://github.com/udhawan97/Codemble/issues).
|
|
143
|
+
|
|
144
|
+
## Local-first, with an explicit AI boundary
|
|
145
|
+
|
|
146
|
+
| Stays on your machine | Leaves only when you ask |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| Project discovery and parsing | The bounded Study context sent to your configured provider |
|
|
149
|
+
| Graph, language Lens, and checks | A request triggered only when you open Study |
|
|
150
|
+
| Local server and packaged web app | Nothing in the background |
|
|
151
|
+
| Progress and explanation cache in `~/.codemble/` | No accounts, telemetry, or Codemble cloud |
|
|
152
|
+
|
|
153
|
+
No key? Codemble remains a complete parser-backed map and learning game; only
|
|
154
|
+
the optional prose narration is unavailable.
|
|
155
|
+
|
|
156
|
+
## Boundaries that keep the map truthful
|
|
157
|
+
|
|
158
|
+
- **Supported source:** Python 3.11+, JavaScript/JSX, TypeScript/TSX, and mixed
|
|
159
|
+
projects. Unsupported languages stay outside the graph rather than being guessed.
|
|
160
|
+
- **Scale:** above roughly 300 supported source files, choose a subdirectory —
|
|
161
|
+
the in-app picker prompts for the scope, or pass
|
|
162
|
+
`codemble --path ./project/subdirectory`.
|
|
163
|
+
- **Ambiguous Home:** choose a parser-ranked entrypoint in the app or pass
|
|
164
|
+
`--entrypoint NODE_ID`.
|
|
165
|
+
- **Broken source:** syntax errors remain visible; Codemble maps safe partial
|
|
166
|
+
evidence instead of crashing or inventing the missing structure.
|
|
167
|
+
- **Rendering:** WebGL is required. There is intentionally no misleading 2D
|
|
168
|
+
fallback in this release.
|
|
169
|
+
|
|
170
|
+
## Help test the release
|
|
171
|
+
|
|
172
|
+
The most valuable contribution right now is not a feature request. It is a
|
|
173
|
+
first run on a real AI-built project:
|
|
174
|
+
|
|
175
|
+
1. Follow the [ten-minute tester guide](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
|
|
176
|
+
2. Light at least one system.
|
|
177
|
+
3. Report confusion verbatim—never paste private source or API keys.
|
|
178
|
+
|
|
179
|
+
[Open an early-tester report →](https://github.com/udhawan97/Codemble/issues/new?template=early_tester.yml)
|
|
180
|
+
|
|
181
|
+
## Develop
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
python -m venv .venv && source .venv/bin/activate
|
|
185
|
+
pip install -e ".[dev]"
|
|
186
|
+
pytest && ruff check .
|
|
187
|
+
|
|
188
|
+
(cd web && npm install && npm run check)
|
|
189
|
+
(cd docs-site && npm install && npm run check && npm run build)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The load-bearing design and architecture contracts are documented, not implied:
|
|
193
|
+
|
|
194
|
+
- [Architecture](https://udhawan97.github.io/Codemble/architecture/)
|
|
195
|
+
- [Contributing](https://github.com/udhawan97/Codemble/blob/main/CONTRIBUTING.md)
|
|
196
|
+
- [Formal Edo design system](https://github.com/udhawan97/Codemble/blob/main/docs-site/design.md)
|
|
197
|
+
- [Agent operating guide and current state](https://github.com/udhawan97/Codemble/blob/main/CLAUDE.md)
|
|
198
|
+
|
|
199
|
+
## Roadmap
|
|
200
|
+
|
|
201
|
+
| Horizon | Work |
|
|
202
|
+
| --- | --- |
|
|
203
|
+
| **Now** | Collect unaided first-run evidence on the current release across supported project types |
|
|
204
|
+
| **Next** | Go, Rust, and Java adapters; level-of-detail rendering for larger repositories |
|
|
205
|
+
| **Later** | Read-only share links, new quest types, and the coordinated public launch |
|
|
206
|
+
|
|
207
|
+
The [public roadmap](https://udhawan97.github.io/Codemble/roadmap/) separates
|
|
208
|
+
shipped work from planned work. Milestones move only when their acceptance
|
|
209
|
+
evidence exists.
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
Codemble is released under the [Apache License 2.0](https://github.com/udhawan97/Codemble/blob/main/LICENSE).
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
<p align="center"><sub>
|
|
218
|
+
Built for the moment after “AI made it work” and before “I know how it works.”
|
|
219
|
+
</sub></p>
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
<!-- Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 -->
|
|
2
1
|
|
|
3
2
|
<p align="center">
|
|
4
3
|
<a href="https://udhawan97.github.io/Codemble/">
|
|
5
|
-
<img src="docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
|
|
4
|
+
<img src="https://github.com/udhawan97/Codemble/raw/main/docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
|
|
6
5
|
</a>
|
|
7
6
|
</p>
|
|
8
7
|
|
|
@@ -30,18 +29,19 @@
|
|
|
30
29
|
<a href="#quick-start">Quick start</a> ·
|
|
31
30
|
<a href="#how-the-learning-loop-works">Learning loop</a> ·
|
|
32
31
|
<a href="https://udhawan97.github.io/Codemble/">Documentation</a> ·
|
|
33
|
-
<a href="TESTING.md">Test
|
|
32
|
+
<a href="https://github.com/udhawan97/Codemble/blob/main/TESTING.md">Test Codemble</a>
|
|
34
33
|
</p>
|
|
35
34
|
|
|
36
35
|
<p align="center">
|
|
37
|
-
<img src="assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
|
|
36
|
+
<img src="https://github.com/udhawan97/Codemble/raw/main/assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
|
|
38
37
|
</p>
|
|
39
38
|
|
|
40
39
|
> [!IMPORTANT]
|
|
41
|
-
> **
|
|
42
|
-
> JavaScript, TypeScript, and mixed projects in one parser-proven galaxy
|
|
40
|
+
> **Codemble is in its Phase 1 tester release.** It maps Python,
|
|
41
|
+
> JavaScript, TypeScript, and mixed projects in one parser-proven galaxy,
|
|
42
|
+
> installable straight from PyPI with an in-app project picker. The
|
|
43
43
|
> technical release is complete; unaided learner runs are the evidence still
|
|
44
|
-
> being collected. [Try the ten-minute tester loop](TESTING.md).
|
|
44
|
+
> being collected. [Try the ten-minute tester loop](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
|
|
45
45
|
|
|
46
46
|
## Quick start
|
|
47
47
|
|
|
@@ -52,17 +52,10 @@ uvx codemble # or: pipx install codemble && codemble
|
|
|
52
52
|
Codemble opens your browser — pick your project folder there. To skip the
|
|
53
53
|
picker, pass a path: `codemble ./your-ai-built-project`.
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
> pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0
|
|
60
|
-
> codemble ./your-ai-built-project
|
|
61
|
-
> ```
|
|
62
|
-
|
|
63
|
-
The wheel already contains the web app, so Node.js is not required. No API key is needed for the galaxy,
|
|
64
|
-
source viewer, language Lens, checks, lighting, or saved progress. Add your own
|
|
65
|
-
Anthropic or OpenAI key only if you want grounded prose explanations:
|
|
55
|
+
The wheel already contains the web app, so Node.js is not required. No API key
|
|
56
|
+
is needed for the galaxy, source viewer, language Lens, checks, lighting, or
|
|
57
|
+
saved progress. Add your own Anthropic or OpenAI key only if you want grounded
|
|
58
|
+
prose explanations:
|
|
66
59
|
|
|
67
60
|
```bash
|
|
68
61
|
export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY=sk-...
|
|
@@ -147,7 +140,7 @@ the optional prose narration is unavailable.
|
|
|
147
140
|
The most valuable contribution right now is not a feature request. It is a
|
|
148
141
|
first run on a real AI-built project:
|
|
149
142
|
|
|
150
|
-
1. Follow the [ten-minute tester guide](TESTING.md).
|
|
143
|
+
1. Follow the [ten-minute tester guide](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
|
|
151
144
|
2. Light at least one system.
|
|
152
145
|
3. Report confusion verbatim—never paste private source or API keys.
|
|
153
146
|
|
|
@@ -167,15 +160,15 @@ pytest && ruff check .
|
|
|
167
160
|
The load-bearing design and architecture contracts are documented, not implied:
|
|
168
161
|
|
|
169
162
|
- [Architecture](https://udhawan97.github.io/Codemble/architecture/)
|
|
170
|
-
- [Contributing](CONTRIBUTING.md)
|
|
171
|
-
- [Formal Edo design system](docs-site/design.md)
|
|
172
|
-
- [Agent operating guide and current state](CLAUDE.md)
|
|
163
|
+
- [Contributing](https://github.com/udhawan97/Codemble/blob/main/CONTRIBUTING.md)
|
|
164
|
+
- [Formal Edo design system](https://github.com/udhawan97/Codemble/blob/main/docs-site/design.md)
|
|
165
|
+
- [Agent operating guide and current state](https://github.com/udhawan97/Codemble/blob/main/CLAUDE.md)
|
|
173
166
|
|
|
174
167
|
## Roadmap
|
|
175
168
|
|
|
176
169
|
| Horizon | Work |
|
|
177
170
|
| --- | --- |
|
|
178
|
-
| **Now** | Collect unaided first-run evidence on
|
|
171
|
+
| **Now** | Collect unaided first-run evidence on the current release across supported project types |
|
|
179
172
|
| **Next** | Go, Rust, and Java adapters; level-of-detail rendering for larger repositories |
|
|
180
173
|
| **Later** | Read-only share links, new quest types, and the coordinated public launch |
|
|
181
174
|
|
|
@@ -185,7 +178,7 @@ evidence exists.
|
|
|
185
178
|
|
|
186
179
|
## License
|
|
187
180
|
|
|
188
|
-
Codemble is released under the [Apache License 2.0](LICENSE).
|
|
181
|
+
Codemble is released under the [Apache License 2.0](https://github.com/udhawan97/Codemble/blob/main/LICENSE).
|
|
189
182
|
|
|
190
183
|
---
|
|
191
184
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Test Codemble
|
|
1
|
+
# Test Codemble
|
|
2
2
|
|
|
3
3
|
Codemble needs people who built a small Python, JavaScript, TypeScript, or mixed
|
|
4
4
|
project with AI and want to understand it better. This is a ten-minute first-run
|
|
@@ -24,9 +24,6 @@ uvx codemble # or: pipx install codemble && codemble
|
|
|
24
24
|
Codemble opens your browser to an in-app picker — pick your project folder
|
|
25
25
|
there, or pass one directly: `codemble ./path-to-your-project`.
|
|
26
26
|
|
|
27
|
-
> Until the first PyPI release (v0.3.0) lands, install from the tag instead:
|
|
28
|
-
> `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
|
|
29
|
-
|
|
30
27
|
Then, without reading the docs first:
|
|
31
28
|
|
|
32
29
|
1. Identify Home, or choose it if Codemble asks.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Early testing
|
|
3
|
-
description: A ten-minute, privacy-safe first-run test for Codemble
|
|
3
|
+
description: A ten-minute, privacy-safe first-run test for Codemble.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Codemble needs learners who built a small Python, JavaScript, TypeScript, or
|
|
@@ -16,9 +16,6 @@ uvx codemble # or: pipx install codemble && codemble
|
|
|
16
16
|
Codemble opens your browser to an in-app picker — pick your project folder
|
|
17
17
|
there, or pass one directly: `codemble ./path-to-your-project`.
|
|
18
18
|
|
|
19
|
-
> Until the first PyPI release (v0.3.0) lands, install from the tag instead:
|
|
20
|
-
> `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
|
|
21
|
-
|
|
22
19
|
An API key is optional. Do not read the rest of the docs before the first run;
|
|
23
20
|
the product should teach the loop itself.
|
|
24
21
|
|
|
@@ -3,7 +3,7 @@ title: Installation
|
|
|
3
3
|
description: Requirements and setup, including bring-your-own-key configuration.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
:::note[
|
|
6
|
+
:::note[Polyglot tester release]
|
|
7
7
|
The complete learning loop supports Python, JavaScript, TypeScript, and mixed
|
|
8
8
|
projects. Human first-run evidence is still being collected separately.
|
|
9
9
|
:::
|
|
@@ -22,18 +22,10 @@ An Anthropic or OpenAI key is optional and enables only explanation prose.
|
|
|
22
22
|
uvx codemble # or: pipx install codemble && codemble
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Codemble opens your browser to an in-app picker — browse your
|
|
26
26
|
home folders or reopen a recent project, no path typing required. To skip the
|
|
27
27
|
picker, pass a path directly: `codemble ./your-project`.
|
|
28
28
|
|
|
29
|
-
> Until the first PyPI release (v0.3.0) lands, install from the tag instead.
|
|
30
|
-
> v0.2.0 has no picker yet, so pass your project path:
|
|
31
|
-
>
|
|
32
|
-
> ```bash
|
|
33
|
-
> pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0
|
|
34
|
-
> codemble ./your-project
|
|
35
|
-
> ```
|
|
36
|
-
|
|
37
29
|
The Python wheel already contains the production web app. Node is needed only
|
|
38
30
|
when developing Codemble itself.
|
|
39
31
|
|
|
@@ -65,8 +57,8 @@ language lens, and checks — only the prose explanations need the model.
|
|
|
65
57
|
## Limits that fail honestly
|
|
66
58
|
|
|
67
59
|
- More than 300 supported source files: run
|
|
68
|
-
`codemble --path ./project/subdirectory`;
|
|
69
|
-
|
|
60
|
+
`codemble --path ./project/subdirectory`; the picker prompts for the same
|
|
61
|
+
busiest-first subdirectory choice in the UI.
|
|
70
62
|
- Ambiguous startup: choose Home in the app or pass a parser-ranked node with
|
|
71
63
|
`--entrypoint NODE_ID`.
|
|
72
64
|
- Syntax error: the file remains visible as **Unchartable**, with raw source;
|
|
@@ -32,8 +32,9 @@ own it. You bring your own Claude or OpenAI API key; everything else runs
|
|
|
32
32
|
locally on your machine.
|
|
33
33
|
|
|
34
34
|
:::note[Status]
|
|
35
|
-
|
|
36
|
-
projects run through the same local learning
|
|
35
|
+
Codemble is in its Phase 1 tester release, installable from PyPI. Python,
|
|
36
|
+
JavaScript, TypeScript, and mixed projects run through the same local learning
|
|
37
|
+
loop. The original unaided Python
|
|
37
38
|
learner-acceptance issue remains open; technical completion does not substitute
|
|
38
39
|
for human evidence. Follow on [GitHub](https://github.com/udhawan97/Codemble) —
|
|
39
40
|
the roadmap stays public.
|
|
@@ -17,9 +17,6 @@ mixed project. To skip the picker, pass a path directly:
|
|
|
17
17
|
codemble ./my-project
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
> Until the first PyPI release (v0.3.0) lands, install from the tag instead:
|
|
21
|
-
> `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
|
|
22
|
-
|
|
23
20
|
Codemble parses locally, chooses a free localhost port, and opens the galaxy.
|
|
24
21
|
It keeps syntax-error files visible and labels unresolved calls instead of
|
|
25
22
|
guessing. Use `--no-open` when you want to copy the printed URL yourself.
|
|
@@ -9,7 +9,7 @@ only when milestones actually complete. The shape:
|
|
|
9
9
|
|
|
10
10
|
## NOW — Phase 1 tester evidence
|
|
11
11
|
|
|
12
|
-
The
|
|
12
|
+
The Phase 1 technical release maps Python, JavaScript, TypeScript, and mixed
|
|
13
13
|
projects through one local parser-proven learning loop. The current work is
|
|
14
14
|
first-run evidence and correctness reports on real learner projects. The
|
|
15
15
|
original v0.1.0 Python learner-acceptance issue remains open and is not treated
|
|
@@ -63,8 +63,6 @@ const contract = [
|
|
|
63
63
|
|
|
64
64
|
const langs = ["Python", "JavaScript", "TypeScript", "Mixed projects"];
|
|
65
65
|
const install = "uvx codemble";
|
|
66
|
-
const tagInstall =
|
|
67
|
-
"pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0";
|
|
68
66
|
---
|
|
69
67
|
|
|
70
68
|
<!doctype html>
|
|
@@ -184,9 +182,7 @@ const tagInstall =
|
|
|
184
182
|
</button>
|
|
185
183
|
</div>
|
|
186
184
|
<p class="hero-note">
|
|
187
|
-
Python 3.11+ · opens your browser to pick a project
|
|
188
|
-
v0.3.0 lands on PyPI,
|
|
189
|
-
<a href={doc("installation")}>install from the tag</a>
|
|
185
|
+
Python 3.11+ · opens your browser to pick a project
|
|
190
186
|
</p>
|
|
191
187
|
</div>
|
|
192
188
|
</section>
|
|
@@ -322,16 +318,8 @@ const tagInstall =
|
|
|
322
318
|
</div>
|
|
323
319
|
<p class="install-note">
|
|
324
320
|
Codemble opens your browser — pick your project folder there, or
|
|
325
|
-
skip the picker with <code>codemble ./your-project</code>.
|
|
326
|
-
the first PyPI release (v0.3.0) lands, install from the tag
|
|
327
|
-
instead:
|
|
321
|
+
skip the picker with <code>codemble ./your-project</code>.
|
|
328
322
|
</p>
|
|
329
|
-
<div class="cmd cmd-block">
|
|
330
|
-
<code>{tagInstall}</code>
|
|
331
|
-
<button type="button" data-copy={tagInstall} class="cmd-copy">
|
|
332
|
-
<span data-copy-label>Copy</span>
|
|
333
|
-
</button>
|
|
334
|
-
</div>
|
|
335
323
|
<p class="install-note">
|
|
336
324
|
Your code is parsed locally. The only network calls are the LLM
|
|
337
325
|
requests you configure, sent from your machine straight to your
|
|
@@ -358,7 +346,7 @@ const tagInstall =
|
|
|
358
346
|
<div class="foot-row">
|
|
359
347
|
<p class="foot-mark">
|
|
360
348
|
<img src={`${base}/brand/mark.svg`} alt="" width="22" height="22" />
|
|
361
|
-
Codemble ·
|
|
349
|
+
Codemble · Phase 1 tester release · Apache-2.0
|
|
362
350
|
</p>
|
|
363
351
|
<nav class="foot-links" aria-label="Footer">
|
|
364
352
|
<a href={doc("introduction")}>Docs</a>
|
|
@@ -4,12 +4,26 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "codemble"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.1"
|
|
8
8
|
description = "A learning game that turns the code AI wrote for you into a galaxy you light up by understanding it."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
license =
|
|
10
|
+
license = "Apache-2.0"
|
|
11
|
+
license-files = ["LICENSE"]
|
|
11
12
|
authors = [{ name = "Umang Dhawan", email = "umangdhawan97@gmail.com" }]
|
|
12
13
|
requires-python = ">=3.11"
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 4 - Beta",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"Intended Audience :: Education",
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Programming Language :: Python :: 3.13",
|
|
22
|
+
"Operating System :: OS Independent",
|
|
23
|
+
"Environment :: Web Environment",
|
|
24
|
+
"Topic :: Software Development :: Documentation",
|
|
25
|
+
"Topic :: Education",
|
|
26
|
+
]
|
|
13
27
|
dependencies = [
|
|
14
28
|
"fastapi>=0.115",
|
|
15
29
|
"tree-sitter>=0.25,<0.27",
|
|
@@ -36,3 +50,6 @@ exclude = ["tests/fixtures"]
|
|
|
36
50
|
[tool.hatch.build.targets.wheel]
|
|
37
51
|
packages = ["codemble"]
|
|
38
52
|
include = ["codemble/web_dist/**"]
|
|
53
|
+
|
|
54
|
+
[tool.hatch.build.targets.sdist]
|
|
55
|
+
exclude = [".remember", ".hallmark", ".claude", ".superpowers", "docs-site/node_modules", "web/node_modules"]
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"date": "2026-07-19",
|
|
4
|
-
"macrostructure": "Map / Diagram",
|
|
5
|
-
"theme": "Observatory Instrument",
|
|
6
|
-
"enrichment": "none",
|
|
7
|
-
"brief": "Codemble deterministic galaxy renderer",
|
|
8
|
-
"critique": "P5 H5 E5 S5 R5 V5",
|
|
9
|
-
"slop_test": "pass (1-57, including 38a)"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"date": "2026-07-19",
|
|
13
|
-
"macrostructure": "Progress Ledger",
|
|
14
|
-
"theme": "Observatory Instrument",
|
|
15
|
-
"enrichment": "none",
|
|
16
|
-
"brief": "Codemble language star chart",
|
|
17
|
-
"variation": "syntax inventory rows with graph-derived progress"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"date": "2026-07-19",
|
|
21
|
-
"macrostructure": "Focused Readout",
|
|
22
|
-
"theme": "Observatory Instrument",
|
|
23
|
-
"enrichment": "none",
|
|
24
|
-
"brief": "Codemble graph-only active recall",
|
|
25
|
-
"variation": "one-question system overlay with a single illumination payoff",
|
|
26
|
-
"slop_test": "pass (plain controls, complete states, 320 px verified)"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"date": "2026-07-19",
|
|
30
|
-
"macrostructure": "Calibration Readout",
|
|
31
|
-
"theme": "Observatory Instrument",
|
|
32
|
-
"enrichment": "real product demo GIF",
|
|
33
|
-
"brief": "Codemble ambiguous Home and Unchartable states",
|
|
34
|
-
"variation": "ranked evidence rows, raw-source failure state, one 420ms glow pulse",
|
|
35
|
-
"slop_test": "pass (desktop and 320 px, reduced motion, no new visual language)"
|
|
36
|
-
}
|
|
37
|
-
]
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"date": "2026-07-19",
|
|
3
|
-
"design_system": "docs-site/design.md",
|
|
4
|
-
"font_stack": ["Sora", "Inter", "JetBrains Mono"],
|
|
5
|
-
"framework": "Vite + React",
|
|
6
|
-
"motion": "custom house easing; no motion library",
|
|
7
|
-
"palette": "locked Observatory Instrument tokens",
|
|
8
|
-
"spacing": "4-point scale"
|
|
9
|
-
}
|
codemble-0.3.0/.remember/now.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1784461401
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1784462904
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"session": "391dcaa8-2bc2-4cf0-b18d-6a3dca5df88e", "line": 354}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
77217
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
## 01:49 | friendly-helper-claude/codemble-website-redesign-235ec9
|
|
2
|
-
Codemble: hero→Edo atlas+tatebanko parallax (Tatebanko.astro, build-plates.mjs); expandable search+docs/nav (Search.astro); landing→numbered plates.
|
|
3
|
-
## 01:50 | friendly-helper-claude/codemble-website-redesign-235ec9
|
|
4
|
-
Redesigned Codemble website (Edo star atlas); SVG plates; Tatebanko parallax hero; expandable Search; Starlight docs
|
|
5
|
-
## 04:35 | friendly-wizard-claude/what-to-work-on-next-c1f75f
|
|
6
|
-
Dogfood learner loop; fixed checks/service.py (4+ ans → 0 distract); verified 5 TESTING.md steps; began UI palette
|
|
7
|
-
```
|
|
8
|
-
## 06:42 | friendly-wizard-claude/work-planning-f2e933
|
|
9
|
-
Reopened #13; defer v0.2.1 pending web-app-install-ux merge; scope coverage: 4 streams (HTML/CSS adapters, deepen langs, lens enrichment, easy/expert modes)
|
|
10
|
-
```
|