Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "\u251c\u2500\u2500 prompt-loss-function-selector.md Dev",
"image": "mcr.microsoft.com/devcontainers/python",
"features": {},
"postCreateCommand": "python -m pip install -r requirements.txt",
"customizations": {
"vscode": {
"extensions": [
"yzhang.markdown-all-in-one",
"DavidAnson.vscode-markdownlint",
"ms-python.python"
]
}
}
}
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .gitattributes - GitHub Linguist overrides for accurate language detection

# Generated and vendored files
*.min.js linguist-generated
*.min.css linguist-generated
dist/** linguist-generated
vendor/** linguist-vendored
third_party/** linguist-vendored

# Markdown-heavy skill and documentation repo
*.sh linguist-documentation
*.ps1 linguist-documentation
install.* linguist-documentation
*.md linguist-detectable
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Global owner for this repository
* @rohitg00
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Bug Report
description: Report a bug or unexpected behavior
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: "Thanks for reporting. Please fill in the details below so we can reproduce the problem."
- type: textarea
id: description
attributes:
label: Bug Description
description: What happened?
placeholder: Describe the bug...
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: How can we reproduce this?
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What should have happened?
validations:
required: true
- type: input
id: command
attributes:
label: Command Used
placeholder: e.g., github audit --path /repo
- type: dropdown
id: os
attributes:
label: Operating System
options:
- Windows
- macOS
- Linux
- Other
- type: textarea
id: additional
attributes:
label: Additional Context
description: Error output, screenshots, links, or anything else that helps.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Support
url: https://github.com/rohitg00/ai-engineering-from-scratch/issues
about: Use this support link for questions before opening a new issue.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Feature Request
description: Suggest a new feature or improvement
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this solve?
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: How should this work?
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Other approaches or workarounds you have considered.
40 changes: 16 additions & 24 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,23 @@
<!-- Thanks for contributing. Fill out what applies. Delete sections that don't. -->
## Summary

## What this PR does
Briefly describe what changed and why.

<!-- One-sentence summary. -->
## Type of Change

## Kind of change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
- [ ] Maintenance / tooling update

- [ ] New lesson
- [ ] Fix to an existing lesson
- [ ] Translation
- [ ] New output (prompt, skill, agent, MCP server)
- [ ] Docs / website / tooling
## Testing

## Checklist

- [ ] Code runs without errors with the listed dependencies
- [ ] No comments in code files (docs explain, code is self-explanatory)
- [ ] Built from scratch first, then shown with a framework (for new lessons)
- [ ] Lesson folder matches `LESSON_TEMPLATE.md` structure
- [ ] ROADMAP.md row for the lesson is a markdown link (`[Name](phases/...)`), not bare text
- [ ] One lesson per commit (atomic per-lesson rule)
- [ ] Tested locally / code output matches what `docs/en.md` claims

## Phase / lesson
- [ ] Tests pass locally
- [ ] Relevant manual checks completed
- [ ] Documentation updated if behavior changed

<!-- e.g. Phase 5 · 03-tokenizers -->

## Notes for reviewer
## Checklist

<!-- Anything surprising, any deviations from the template, open questions. -->
- [ ] Changes are scoped and focused
- [ ] No credentials or local env files were committed
- [ ] I reviewed the diff before opening this PR
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
29 changes: 29 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
changelog:
exclude:
labels:
- ignore-for-release
authors:
- dependabot
- dependabot[bot]
categories:
- title: Breaking Changes
labels:
- breaking
- title: New Features
labels:
- enhancement
- feature
- title: Bug Fixes
labels:
- bug
- fix
- title: Security
labels:
- security
- title: Documentation
labels:
- docs
- documentation
- title: Other Changes
labels:
- "*"
17 changes: 17 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lint Markdown
uses: DavidAnson/markdownlint-cli2-action@v19
with:
globs: "**/*.md"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,4 @@ mlruns/
.link-cache.json
.claude/
catalog.json
.github-audit/
11 changes: 11 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "├── prompt-loss-function-selector.md"
abstract: "Repository for ├── prompt-loss-function-selector.md."
Comment on lines +3 to +4
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Correct the citation title and abstract.

The title and abstract fields reference ├── prompt-loss-function-selector.md, which appears to be a copy-paste artifact from a directory tree listing. This doesn't match the repository name or purpose.

Expected values should reference the full curriculum, such as:

  • title: "AI Engineering from Scratch"
  • abstract: "A comprehensive curriculum covering 503 lessons across 20 phases..."
📝 Proposed fix
-title: "├── prompt-loss-function-selector.md"
-abstract: "Repository for ├── prompt-loss-function-selector.md."
+title: "AI Engineering from Scratch"
+abstract: "A comprehensive curriculum covering AI engineering from mathematical foundations to autonomous systems, with 503 lessons across 20 phases in Python, TypeScript, Rust, and Julia."
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
title: "├── prompt-loss-function-selector.md"
abstract: "Repository for ├── prompt-loss-function-selector.md."
title: "AI Engineering from Scratch"
abstract: "A comprehensive curriculum covering AI engineering from mathematical foundations to autonomous systems, with 503 lessons across 20 phases in Python, TypeScript, Rust, and Julia."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CITATION.cff` around lines 3 - 4, Update the CITATION.cff metadata by
replacing the incorrect copy-paste values that reference "├──
prompt-loss-function-selector.md" with the correct repository-wide title and
abstract: change the title field from "├── prompt-loss-function-selector.md" to
"AI Engineering from Scratch" and update the abstract field to a descriptive
summary such as "A comprehensive curriculum covering 503 lessons across 20
phases..." so the 'title' and 'abstract' entries reflect the actual project name
and purpose.

type: software
authors:
- family-names: "rohitg00"
repository-code: "https://github.com/rohitg00/ai-engineering-from-scratch"
version: "0.1.0"
date-released: "2026-06-03"
license: "MIT"
Loading