{"id":12162077,"name":"learnchain","ecosystem":"npm","description":"Terminal-based learning tool that analyzes AI coding sessions and generates interactive quizzes","homepage":"https://github.com/normand1/learnchain#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/normand1/learnchain","keywords_array":["learnchain","tui","terminal","cli","learning","quiz","ai","codex","claude","education","rust"],"namespace":null,"versions_count":8,"first_release_published_at":"2025-10-01T23:28:44.059Z","latest_release_published_at":"2026-03-25T01:52:14.067Z","latest_release_number":"0.4.10","last_synced_at":"2026-09-19T19:31:20.286Z","created_at":"2025-10-01T23:28:51.572Z","updated_at":"2026-09-22T15:54:26.698Z","registry_url":"https://www.npmjs.com/package/learnchain","install_command":"npm install learnchain","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.4.10"},"contentPolicy":null},"repo_metadata":{"id":317602004,"uuid":"1068091989","full_name":"normand1/learnchain","owner":"normand1","description":"Learns from Codex or Claude session logs and surfaces quizzes in the terminal UI","archived":false,"fork":false,"pushed_at":"2026-04-27T04:29:24.000Z","size":8292,"stargazers_count":4,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-09-19T16:54:52.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/normand1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-01T21:00:28.000Z","updated_at":"2026-08-27T03:41:35.000Z","dependencies_parsed_at":"2025-10-01T23:10:31.769Z","dependency_job_id":"aacfcb56-3740-4aaa-abc4-809b09435f7d","html_url":"https://github.com/normand1/learnchain","commit_stats":null,"previous_names":["normand1/learnchain"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/normand1/learnchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normand1","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37528463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-20T02:00:06.856Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"normand1","name":"David Norman","uuid":"1393261","kind":"user","description":null,"email":"","website":"http://www.davidwnorman.com","location":"Oakland, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1393261?u=ec1aa3d391fb379fdc9b697a57f9ee2805d87358\u0026v=4","repositories_count":19,"last_synced_at":"2023-03-25T08:59:16.834Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/normand1","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-03T22:56:10.468Z","updated_at":"2023-03-25T08:59:16.844Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normand1","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normand1/repositories"},"tags":[{"name":"v0.4.10","sha":"98ee132917e7bafbd87093332ebebd6cf15b93fa","kind":"tag","published_at":"2026-03-25T01:47:10.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.10","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.10/manifests"},{"name":"v0.4.9","sha":"78d8e16a880cbfca275935cebe2c6720a9e669a4","kind":"tag","published_at":"2026-03-25T01:37:01.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.9","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.9/manifests"},{"name":"v0.4.8","sha":"5dfd2473271e0729de5291a7305b35ce68dffccf","kind":"tag","published_at":"2026-03-15T17:52:56.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.8","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.8/manifests"},{"name":"v0.4.7","sha":"3bad7d7ddd13b6b1c471ad7fdb9fce29b6a636cd","kind":"tag","published_at":"2026-03-15T02:09:42.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.7","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.7/manifests"},{"name":"v0.4.6","sha":"4712de04ee3aee0d0e3e9880e9164c71de0a2d7a","kind":"tag","published_at":"2026-03-14T22:22:38.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.6","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"d8d4827565487c15969bb75cb8ee508c22170eb1","kind":"tag","published_at":"2026-03-14T14:38:31.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.5","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"253768402445759de7908cc6058953efc5c57a54","kind":"commit","published_at":"2026-03-14T02:35:09.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.4","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"5d2af448f3d50243369b7479d1e97eceb48e0f61","kind":"commit","published_at":"2026-03-14T02:06:37.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.3","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"aabdd68fe3664609c072406ca0ce48352c8899b0","kind":"tag","published_at":"2026-03-13T00:34:43.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.2","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"02b5254d39d6df5d252cc192c7b653f7aa6d362a","kind":"commit","published_at":"2026-03-12T23:39:06.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.1","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"5a541da5af54cfc42972ffcaa26dd1a0942983e3","kind":"tag","published_at":"2026-03-12T23:31:01.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.4.0","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"fbb7f0af7b80def200547cb7d8f98f084108593b","kind":"tag","published_at":"2026-03-09T02:18:29.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.3.0","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.3.0/manifests"},{"name":"v0.2.2","sha":"0c5b3b9ebf62bdfc752c75f093c41b9908a641ab","kind":"commit","published_at":"2025-10-05T00:14:55.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.2.2","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"f08768e170089ed8b2b84da6bff87a5b8f23c1ce","kind":"commit","published_at":"2025-10-04T22:04:21.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.2.1","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"c6f212c8e90a2b24bd5ec4c618f68e666393f4d2","kind":"commit","published_at":"2025-10-04T21:42:17.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.2.0","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"14dcec4bb13ccbd0a1e347deac6a17d7ace79cd1","kind":"commit","published_at":"2025-10-01T22:52:43.000Z","download_url":"https://codeload.github.com/normand1/learnchain/tar.gz/v0.1.0","html_url":"https://github.com/normand1/learnchain/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/normand1/learnchain@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-09-22T15:54:26.698Z","dependent_packages_count":0,"downloads":47,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":23.746893951881024,"dependent_packages_count":34.25515179324222,"stargazers_count":17.2325187367038,"forks_count":12.372286722312522,"docker_downloads_count":null,"average":21.90171280103489},"purl":"pkg:npm/learnchain","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/learnchain","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/learnchain","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/learnchain/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-19T14:41:05.899Z","issues_count":0,"pull_requests_count":17,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":61080.5,"issues_closed_count":0,"pull_requests_closed_count":10,"pull_request_authors_count":2,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.058823529411764705,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":11,"past_year_issues_count":0,"past_year_pull_requests_count":17,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":61080.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.058823529411764705,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/normand1%2Flearnchain/issues","maintainers":[{"login":"normand1","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/normand1"}],"active_maintainers":[{"login":"normand1","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/normand1"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/learnchain/codemeta","maintainers":[{"uuid":"normand1","login":"normand1","name":null,"email":"david.norman.w@gmail.com","url":null,"packages_count":3,"html_url":"https://www.npmjs.com/~normand1","role":null,"created_at":"2025-10-02T01:57:38.329Z","updated_at":"2025-10-02T01:57:38.329Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/normand1/packages"}]}