Skip to content

Commit f370d0a

Browse files
kmink3225claude
andcommitted
Personal site (al-folio): about, CV, projects, profile
Kwangmin Kim — AI Engineer / Data Scientist portfolio. Content from career-os master.yml, IP-safe (no code names / internal financials). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 parents  commit f370d0a

173 files changed

Lines changed: 16233 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# al-folio Bootstrap
2+
3+
Use this skill when a user asks an agent to create, configure, or personalize a new al-folio v1.x website.
4+
5+
## Workflow
6+
7+
1. Read `AGENTS.md` and `docs/BOUNDARIES.md` before editing.
8+
2. Keep the starter small: customize `_config.yml`, `_data`, content collections, and site assets first.
9+
3. Leave runtime behavior in plugin repos. Do not copy plugin-owned layouts, includes, Sass, JavaScript, or assets into the starter unless the user intentionally wants a local override.
10+
4. For local visual/content customization, prefer:
11+
- `_config.yml` feature flags and site metadata
12+
- `_data/*.yml`
13+
- `_pages`, `_posts`, `_projects`, `_news`, `_teachings`, `_bibliography`
14+
- local `_includes`, `_layouts`, and `_sass` overrides only when config/content cannot express the change
15+
5. Run validation before handing work back:
16+
17+
```bash
18+
npm ci
19+
npm run lint:prettier
20+
bundle exec al-folio upgrade audit --no-fail
21+
bundle exec jekyll build --baseurl /al-folio
22+
```
23+
24+
## Routing
25+
26+
- Starter wiring/docs/examples/tests: edit `al-folio`.
27+
- Shared layouts/includes/assets: use `al_folio_core`.
28+
- CV rendering: use `al_folio_cv`.
29+
- Distill runtime: use `al_folio_distill`.
30+
- Search/icons/math/comments/analytics/citations/external posts/newsletter/charts/images: use the owning `al-*` plugin repo.
31+
32+
## Handoff
33+
34+
Summarize changed files, validation results, and any local overrides created.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# al-folio v1 Migration
2+
3+
Use this skill when a user asks an agent to migrate an existing customized al-folio fork to v1.x.
4+
5+
## Workflow
6+
7+
1. Work in a disposable branch, fork, or clone. Do not overwrite the user's original site.
8+
2. Start from the v1 starter contract, then bring over site-owned files:
9+
- `_config.yml` values
10+
- `_data`
11+
- `_bibliography`
12+
- content collections
13+
- site assets
14+
- intentional local `_includes`, `_layouts`, and `_sass` overrides
15+
3. Keep v1 plugin wiring from the starter:
16+
- `theme: al_folio_core`
17+
- bundled `al_*` and `al_folio_*` gems in `Gemfile`
18+
- bundled plugin entries in `_config.yml`
19+
4. Remove stale copied runtime files now owned by plugins unless they are intentional overrides.
20+
5. Run upgrade checks:
21+
22+
```bash
23+
bundle exec al-folio upgrade audit --no-fail
24+
bundle exec al-folio upgrade overrides audit
25+
```
26+
27+
6. For each stale or unacknowledged override:
28+
29+
```bash
30+
bundle exec al-folio upgrade overrides diff LOCAL_PATH
31+
bundle exec al-folio upgrade overrides accept LOCAL_PATH
32+
```
33+
34+
7. Build and inspect key pages: home, CV, publications, repositories, projects, posts, and any custom routes.
35+
36+
## Migration Notes
37+
38+
Commit `.al-folio-overrides.yml` when the site intentionally keeps local overrides. It records the upstream plugin file checksum last reviewed so future gem updates can flag drift explicitly.
39+
40+
## Handoff
41+
42+
Report removed stale runtime files, retained local overrides, unresolved visual differences, and exact validation commands.

.all-contributorsrc

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"files": ["README.md"],
3+
"imageSize": 100,
4+
"commit": false,
5+
"contributorsPerLine": 7,
6+
"projectName": "al-folio",
7+
"projectOwner": "alshedivat",
8+
"repoType": "github",
9+
"repoHost": "https://github.com",
10+
"badgeTemplate": "[core_contributors]: https://img.shields.io/badge/core_contributors-<%= contributors.length %>-orange.svg 'Number of core contributors'",
11+
"contributorTemplate": "<a href=\"<%= contributor.profile %>\"><img src=\"<%= contributor.avatar_url %>\" width=\"<%= options.imageSize %>px;\" alt=\"\"/><br /><sub><b><%= contributor.name %></b></sub></a>",
12+
"skipCi": true,
13+
"contributors": [
14+
{
15+
"login": "alshedivat",
16+
"name": "Maruan",
17+
"avatar_url": "https://avatars.githubusercontent.com/u/2126561?v=4",
18+
"profile": "https://maruan.alshedivat.com",
19+
"contributions": ["design", "code"]
20+
},
21+
{
22+
"login": "rohandebsarkar",
23+
"name": "Rohan Deb Sarkar",
24+
"avatar_url": "https://avatars.githubusercontent.com/u/50144004?v=4",
25+
"profile": "https://rohandebsarkar.github.io",
26+
"contributions": ["code"]
27+
},
28+
{
29+
"login": "pourmand1376",
30+
"name": "Amir Pourmand",
31+
"avatar_url": "https://avatars.githubusercontent.com/u/32064808?v=4",
32+
"profile": "https://amirpourmand.ir",
33+
"contributions": ["code"]
34+
},
35+
{
36+
"login": "george-gca",
37+
"name": "George",
38+
"avatar_url": "https://avatars.githubusercontent.com/u/31376482?v=4",
39+
"profile": "https://george-gca.github.io/",
40+
"contributions": ["code"]
41+
}
42+
],
43+
"commitConvention": "angular"
44+
}

.claude/skills

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.agents/skills

.codex/skills

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.agents/skills

.devcontainer/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM mcr.microsoft.com/devcontainers/jekyll
2+
3+
# Fix: Remove the broken Yarn repository from the apt sources.
4+
# This prevents 'apt-get update' from failing due to the missing GPG key.
5+
# (Yarn is already provided by the dev container features/nvm, so this system repo is unnecessary)
6+
# See issue #3487
7+
RUN rm -f /etc/apt/sources.list.d/yarn.list

.devcontainer/devcontainer.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/jekyll
3+
{
4+
"name": "Jekyll",
5+
// Using a Dockerfile to fix the broken Yarn repository. See issue #3487.
6+
"build": {
7+
"dockerfile": "Dockerfile"
8+
},
9+
10+
// Features to add to the dev container. More info: https://containers.dev/features.
11+
"features": {
12+
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
13+
"packages": "build-essential,imagemagick,inotify-tools,jupyter-nbconvert,procps,ruby-full,zlib1g-dev"
14+
},
15+
"ghcr.io/devcontainers-extra/features/prettier:1.0.2": {}
16+
},
17+
18+
// Optionally: run jekyll serve automatically on container entering using the Docker entrypoint
19+
"postAttachCommand": "./bin/entry_point.sh",
20+
21+
"customizations": {
22+
"vscode": {
23+
"extensions": ["esbenp.prettier-vscode", "sissel.shopify-liquid", "yzhang.markdown-all-in-one"],
24+
"settings": {
25+
// use prettier code formatter as default formatter
26+
"editor.defaultFormatter": "esbenp.prettier-vscode",
27+
"prettier.configPath": ".prettierrc",
28+
"editor.formatOnSave": true
29+
}
30+
}
31+
},
32+
33+
"remoteUser": "vscode"
34+
}

.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_site/
2+
.git/
3+
assets/

.gemini/settings.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"context": {
3+
"fileName": [
4+
"AGENTS.md",
5+
".github/copilot-instructions.md",
6+
".github/agents/customize.agent.md",
7+
".github/agents/docs.agent.md",
8+
".github/instructions/**/*.md",
9+
"docs/README.md",
10+
"docs/CUSTOMIZE.md",
11+
"docs/INSTALL.md",
12+
"docs/TROUBLESHOOTING.md",
13+
"docs/QUICKSTART.md",
14+
"docs/BOUNDARIES.md"
15+
]
16+
}
17+
}

.git-blame-ignore-revs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Template taken from https://github.com/v8/v8/blob/master/.git-blame-ignore-revs.
2+
#
3+
# This file contains a list of git hashes of revisions to be ignored by git blame. These
4+
# revisions are considered "unimportant" in that they are unlikely to be what you are
5+
# interested in when blaming. Most of these will probably be commits related to linting
6+
# and code formatting.
7+
#
8+
# Instructions:
9+
# - Only large (generally automated) reformatting or renaming CLs should be
10+
# added to this list. Do not put things here just because you feel they are
11+
# trivial or unimportant. If in doubt, do not put it on this list.
12+
# - Precede each revision with a comment containing the PR title and number.
13+
# For bulk work over many commits, place all commits in a block with a single
14+
# comment at the top describing the work done in those commits.
15+
# - Only put full 40-character hashes on this list (not short hashes or any
16+
# other revision reference).
17+
# - Append to the bottom of the file (revisions should be in chronological order
18+
# from oldest to newest).
19+
# - Because you must use a hash, you need to append to this list in a follow-up
20+
# PR to the actual reformatting PR that you are trying to ignore.
21+
22+
# Format all the code using prettier.io. (#2048, #2062)
23+
beb6f27d596e753014cb9bff1939e5f78d66431c
24+
2d34024961c3a3d27d6fd18ce06a551657983234

0 commit comments

Comments
 (0)