{"tool":{"slug":"engineering-from-scratch","name":"ai-engineering-from-scratch","repo_full_name":"rohitg00/ai-engineering-from-scratch","category":"harness","vendor":null,"tagline":"Learn it. Build it. Ship it for others.","homepage":"https://aiengineeringfromscratch.com","aliases":[],"verdict":"maintained","freshness":98,"reasons":[{"fact":"last commit","detail":"Pushed 5 days ago.","effect":0},{"fact":"commit volume","detail":"100+ commits in the last 12 weeks.","effect":0},{"fact":"releases","detail":"Released v2026.09 5 days ago; 3 releases in the last year.","effect":4},{"fact":"issue response","detail":"Not enough recent issues to measure a response time.","effect":0},{"fact":"unanswered issues","detail":"100% of the recent issues sampled have no maintainer reply at all.","effect":-8},{"fact":"maintainers","detail":"3 people committed in the last 90 days.","effect":2}],"verdict_at":"2026-09-13T06:10:11.69+00:00","previous_verdict":null,"verdict_changed_at":null,"stars":54386,"forks":9499,"open_issues":22,"language":"Python","license":"MIT","archived":false,"disabled":false,"description":"Learn it. Build it. Ship it for others.","created_at":"2026-03-18T18:38:02+00:00","pushed_at":"2026-09-07T11:42:35+00:00","days_since_push":5,"recent_commits":100,"last_release_at":"2026-09-07T11:42:35+00:00","last_release_tag":"v2026.09","releases_365d":3,"release_gap_days":5,"median_release_gap":22,"issue_response_hours":null,"issues_sampled":8,"stale_issue_ratio":1,"contributors_90d":3,"bus_factor":1,"first_seen":"2026-08-01T18:22:54.364+00:00","refreshed_at":"2026-09-13T06:10:11.69+00:00"},"answer":"Yes. ai-engineering-from-scratch is maintained. The last commit was 5 days ago, and it scores 98/100.","history":[{"captured_on":"2026-09-13","verdict":"maintained","freshness":98,"days_since_push":5,"recent_commits":100,"release_gap_days":5,"issue_response_hours":null,"contributors_90d":3,"stars":54386,"open_issues":22,"archived":false},{"captured_on":"2026-09-12","verdict":"maintained","freshness":98,"days_since_push":4,"recent_commits":100,"release_gap_days":4,"issue_response_hours":null,"contributors_90d":3,"stars":54292,"open_issues":22,"archived":false},{"captured_on":"2026-09-11","verdict":"maintained","freshness":98,"days_since_push":3,"recent_commits":100,"release_gap_days":3,"issue_response_hours":null,"contributors_90d":3,"stars":54174,"open_issues":20,"archived":false},{"captured_on":"2026-09-10","verdict":"maintained","freshness":100,"days_since_push":2,"recent_commits":100,"release_gap_days":2,"issue_response_hours":7.9,"contributors_90d":3,"stars":53849,"open_issues":19,"archived":false},{"captured_on":"2026-09-09","verdict":"maintained","freshness":100,"days_since_push":1,"recent_commits":100,"release_gap_days":1,"issue_response_hours":7.9,"contributors_90d":3,"stars":53248,"open_issues":18,"archived":false},{"captured_on":"2026-09-08","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":0,"issue_response_hours":7.9,"contributors_90d":3,"stars":52894,"open_issues":18,"archived":false},{"captured_on":"2026-09-07","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":27,"issue_response_hours":7.9,"contributors_90d":4,"stars":52652,"open_issues":18,"archived":false},{"captured_on":"2026-09-06","verdict":"maintained","freshness":100,"days_since_push":6,"recent_commits":100,"release_gap_days":26,"issue_response_hours":7.9,"contributors_90d":4,"stars":52503,"open_issues":18,"archived":false},{"captured_on":"2026-09-05","verdict":"maintained","freshness":100,"days_since_push":5,"recent_commits":100,"release_gap_days":25,"issue_response_hours":7.9,"contributors_90d":4,"stars":52424,"open_issues":18,"archived":false},{"captured_on":"2026-09-04","verdict":"maintained","freshness":100,"days_since_push":4,"recent_commits":100,"release_gap_days":24,"issue_response_hours":7.9,"contributors_90d":4,"stars":52328,"open_issues":18,"archived":false},{"captured_on":"2026-09-03","verdict":"maintained","freshness":100,"days_since_push":3,"recent_commits":100,"release_gap_days":23,"issue_response_hours":62.3,"contributors_90d":4,"stars":52125,"open_issues":17,"archived":false},{"captured_on":"2026-09-02","verdict":"maintained","freshness":100,"days_since_push":2,"recent_commits":100,"release_gap_days":22,"issue_response_hours":62.3,"contributors_90d":4,"stars":51889,"open_issues":17,"archived":false},{"captured_on":"2026-09-01","verdict":"maintained","freshness":100,"days_since_push":1,"recent_commits":100,"release_gap_days":21,"issue_response_hours":62.3,"contributors_90d":4,"stars":51661,"open_issues":17,"archived":false},{"captured_on":"2026-08-31","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":20,"issue_response_hours":62.3,"contributors_90d":4,"stars":51372,"open_issues":17,"archived":false},{"captured_on":"2026-08-30","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":19,"issue_response_hours":62.3,"contributors_90d":4,"stars":51033,"open_issues":19,"archived":false},{"captured_on":"2026-08-29","verdict":"maintained","freshness":100,"days_since_push":5,"recent_commits":100,"release_gap_days":18,"issue_response_hours":116.7,"contributors_90d":4,"stars":50698,"open_issues":18,"archived":false},{"captured_on":"2026-08-28","verdict":"maintained","freshness":100,"days_since_push":4,"recent_commits":100,"release_gap_days":17,"issue_response_hours":116.7,"contributors_90d":4,"stars":50301,"open_issues":18,"archived":false},{"captured_on":"2026-08-27","verdict":"maintained","freshness":100,"days_since_push":3,"recent_commits":100,"release_gap_days":17,"issue_response_hours":116.7,"contributors_90d":4,"stars":50072,"open_issues":18,"archived":false},{"captured_on":"2026-08-26","verdict":"maintained","freshness":100,"days_since_push":2,"recent_commits":100,"release_gap_days":15,"issue_response_hours":116.7,"contributors_90d":4,"stars":49227,"open_issues":18,"archived":false},{"captured_on":"2026-08-23","verdict":"maintained","freshness":100,"days_since_push":1,"recent_commits":100,"release_gap_days":12,"issue_response_hours":null,"contributors_90d":12,"stars":47665,"open_issues":33,"archived":false},{"captured_on":"2026-08-22","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":11,"issue_response_hours":null,"contributors_90d":12,"stars":47570,"open_issues":33,"archived":false},{"captured_on":"2026-08-21","verdict":"maintained","freshness":100,"days_since_push":10,"recent_commits":100,"release_gap_days":10,"issue_response_hours":null,"contributors_90d":12,"stars":47424,"open_issues":33,"archived":false},{"captured_on":"2026-08-20","verdict":"maintained","freshness":100,"days_since_push":9,"recent_commits":100,"release_gap_days":9,"issue_response_hours":null,"contributors_90d":12,"stars":47233,"open_issues":33,"archived":false},{"captured_on":"2026-08-19","verdict":"maintained","freshness":100,"days_since_push":8,"recent_commits":100,"release_gap_days":8,"issue_response_hours":null,"contributors_90d":12,"stars":47125,"open_issues":33,"archived":false},{"captured_on":"2026-08-18","verdict":"maintained","freshness":100,"days_since_push":7,"recent_commits":100,"release_gap_days":7,"issue_response_hours":null,"contributors_90d":12,"stars":47047,"open_issues":32,"archived":false},{"captured_on":"2026-08-17","verdict":"maintained","freshness":100,"days_since_push":6,"recent_commits":100,"release_gap_days":6,"issue_response_hours":null,"contributors_90d":12,"stars":46957,"open_issues":32,"archived":false},{"captured_on":"2026-08-15","verdict":"maintained","freshness":100,"days_since_push":4,"recent_commits":100,"release_gap_days":4,"issue_response_hours":null,"contributors_90d":12,"stars":46758,"open_issues":32,"archived":false},{"captured_on":"2026-08-14","verdict":"maintained","freshness":100,"days_since_push":3,"recent_commits":100,"release_gap_days":3,"issue_response_hours":null,"contributors_90d":12,"stars":46692,"open_issues":32,"archived":false},{"captured_on":"2026-08-13","verdict":"maintained","freshness":100,"days_since_push":3,"recent_commits":100,"release_gap_days":3,"issue_response_hours":null,"contributors_90d":12,"stars":46665,"open_issues":32,"archived":false},{"captured_on":"2026-08-12","verdict":"maintained","freshness":100,"days_since_push":1,"recent_commits":100,"release_gap_days":1,"issue_response_hours":null,"contributors_90d":12,"stars":46562,"open_issues":32,"archived":false},{"captured_on":"2026-08-11","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":0,"issue_response_hours":null,"contributors_90d":12,"stars":46487,"open_issues":31,"archived":false},{"captured_on":"2026-08-10","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":15,"issue_response_hours":null,"contributors_90d":12,"stars":46398,"open_issues":28,"archived":false},{"captured_on":"2026-08-09","verdict":"maintained","freshness":100,"days_since_push":4,"recent_commits":100,"release_gap_days":14,"issue_response_hours":null,"contributors_90d":12,"stars":46333,"open_issues":28,"archived":false},{"captured_on":"2026-08-08","verdict":"maintained","freshness":100,"days_since_push":3,"recent_commits":100,"release_gap_days":13,"issue_response_hours":null,"contributors_90d":12,"stars":46251,"open_issues":28,"archived":false},{"captured_on":"2026-08-07","verdict":"maintained","freshness":100,"days_since_push":2,"recent_commits":100,"release_gap_days":12,"issue_response_hours":null,"contributors_90d":12,"stars":46141,"open_issues":28,"archived":false},{"captured_on":"2026-08-06","verdict":"maintained","freshness":100,"days_since_push":1,"recent_commits":100,"release_gap_days":11,"issue_response_hours":null,"contributors_90d":12,"stars":46047,"open_issues":28,"archived":false},{"captured_on":"2026-08-05","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":10,"issue_response_hours":null,"contributors_90d":12,"stars":45954,"open_issues":29,"archived":false},{"captured_on":"2026-08-04","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":9,"issue_response_hours":null,"contributors_90d":12,"stars":45805,"open_issues":28,"archived":false},{"captured_on":"2026-08-03","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":8,"issue_response_hours":null,"contributors_90d":11,"stars":45567,"open_issues":28,"archived":false},{"captured_on":"2026-08-02","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":8,"issue_response_hours":null,"contributors_90d":11,"stars":45515,"open_issues":28,"archived":false},{"captured_on":"2026-08-01","verdict":"maintained","freshness":100,"days_since_push":0,"recent_commits":100,"release_gap_days":6,"issue_response_hours":null,"contributors_90d":11,"stars":45413,"open_issues":28,"archived":false}],"refreshed_at":"2026-09-13T06:10:11.69+00:00","generated_at":"2026-09-25T12:27:17.982Z"}