This is a personal portfolio and resume site for Shunsuke Tsuchiya, built with VitePress and deployed to GitHub Pages.
This site contains:
- Personal profile and self-introduction
- Resume and career history
- Showcase of work projects and open-source software
- List of presentations at conferences
- Technical and personal blog posts
You can view this resume site at:
- GitHub Pages: https://shunsock.github.io/resume/
- GitHub: https://github.com/shunsock/resume/tree/main/docs
- Local files: Browse the content directly in the
docs/directory
This is a personal portfolio/resume site built with VitePress and deployed to GitHub Pages:
- Tech Stack: Nix (development environment), VitePress (Vue-based static site generator), Bun (runtime), go-task (task runner)
- Content: Markdown files in
docs/directory - Configuration: VitePress config in
docs/.vitepress/config.mts - Deployment: GitHub Actions workflows deploy to GitHub Pages on main branch pushes
- Domain: Managed by Cloudflare
- Build Output: Generated to
docs/.vitepress/dist/directory
All development commands should be run from the root directory:
bun install # Install dependencies
bun run docs:dev # Start development server (http://localhost:5173/resume/)
bun run docs:build # Build the site for production
bun run docs:preview # Preview the built site-
Clone the repository
git clone https://github.com/shunsock/resume.git cd resume -
Enter Nix development environment (automatically installs bun and go-task)
nix develop
-
Start the development server
task run
-
Open your browser and visit
http://localhost:5173/resume/
If you prefer not to use Nix:
-
Install dependencies manually:
-
Install project dependencies
bun install
-
Start the development server
task run # Or run directly: bun run docs:dev -
Open your browser and visit
http://localhost:5173/resume/
The .github/workflows/build.yml workflow is triggered when a pull request is opened against the main branch. This workflow only runs if changes are made within the docs directory or other relevant files.
The build process is significant as it performs dead link checking to ensure all internal and external links remain functional before merging changes.
GitHub Copilot is configured with review guidelines in .github/copilot-instructions.md to provide automated code review feedback. The review process focuses on:
- Japanese content: Readability, consistency, and clarity of markdown content
- Shell scripts: Best practices, style consistency, flexibility, and robustness
- Taskfile: Task naming consistency and proper descriptions
- Nix configuration: Following Nix best practices and style consistency
Review feedback is categorized as [must] (critical changes), [nits] (improvement suggestions), or [question] (clarification requests).
The .github/workflows/validate_shellscript.yml workflow runs ShellCheck validation on shell scripts in the script/ directory when pull requests modify any .sh files. This ensures shell script quality and catches common scripting issues before merge.
The .github/workflows/deploy.yml workflow is triggered when changes are pushed to the main branch. Similar to the CI workflow, deployment only proceeds if there are changes detected in the relevant directories.
- Navigation and sidebar are configured in
docs/.vitepress/config.mts - All content is in Markdown format
- Images are stored in
docs/public/with subdirectories by category - Site uses local search provider (configured in VitePress config)
resume/
├── .github/ # GitHub Actions workflows and configs
├── docs/ # All content and configuration
│ ├── .vitepress/ # VitePress configuration
│ │ └── config.mts # Main site configuration
│ ├── blog/ # Blog posts (technology, daily)
│ ├── presentation/ # Presentations at conferences
│ ├── project/ # Work projects (Findy, PR TIMES)
│ ├── public/ # Static assets (images, logos)
│ ├── resume/ # Resume and career history
│ ├── skill/ # Skills and technologies
│ └── index.md # Homepage
├── script/ # Development scripts
├── flake.nix # Nix development environment
├── flake.lock # Nix lock file
├── Taskfile.yml # Task runner configuration
├── package.json # Dependencies and scripts
├── bun.lock # Bun lock file
└── README.md # This file
