|
| 1 | +# AGENTS.md - LLM Instructions for Behitek.com Project |
| 2 | + |
| 3 | +## Project Overview |
| 4 | + |
| 5 | +This is **Behitek.com** - a personal website and blog for Hieu Nguyen (behitek), an AI Engineer from Vietnam. The site is built using **Docusaurus 3.7.0**, a modern static site generator, and serves as a platform for sharing AI/ML knowledge, technical documentation, and personal projects. |
| 6 | + |
| 7 | +### Site Purpose |
| 8 | +- **Personal Portfolio**: Showcases Hieu's background as an AI Engineer with focus on NLP, RAG, LLMs, and information retrieval |
| 9 | +- **Technical Blog**: AI/ML articles, tutorials, and insights |
| 10 | +- **Documentation Hub**: Computer science fundamentals (data structures, algorithms) |
| 11 | +- **Project Showcase**: Personal and professional projects |
| 12 | +- **Interactive Games**: Mini-games like Minesweeper, Clash of Clans integration |
| 13 | + |
| 14 | +## Architecture & Technology Stack |
| 15 | + |
| 16 | +### Core Framework |
| 17 | +- **Docusaurus 3.7.0** - React-based static site generator |
| 18 | +- **React 18.2.0** - Frontend framework |
| 19 | +- **Node.js ≥18.0** - Runtime requirement |
| 20 | + |
| 21 | +### Styling & UI |
| 22 | +- **TailwindCSS 3.4.1** - Utility-first CSS framework |
| 23 | +- **Custom CSS** - Located in `src/css/custom.css` |
| 24 | +- **Dark Mode**: Default theme (forced dark mode, no toggle) |
| 25 | +- **FontAwesome Icons** - For social links and UI elements |
| 26 | + |
| 27 | +### Content & Features |
| 28 | +- **MDX Support** - Enhanced Markdown with React components |
| 29 | +- **Math Rendering** - KaTeX for mathematical expressions |
| 30 | +- **Search** - Algolia DocSearch integration |
| 31 | +- **Analytics** - Google Tag Manager (GTM) |
| 32 | +- **Comments** - Disqus integration for blog posts |
| 33 | + |
| 34 | +## Project Structure |
| 35 | + |
| 36 | +``` |
| 37 | +behitek.github.io/ |
| 38 | +├── blog/ # Blog posts (Markdown files) |
| 39 | +│ ├── authors.yml # Author information |
| 40 | +│ └── *.md # Blog posts with YYYY-MM-DD-title.md format |
| 41 | +├── docs/ # Documentation pages |
| 42 | +│ ├── algorithms/ # Algorithm explanations |
| 43 | +│ ├── data-structures/ # Data structure guides |
| 44 | +│ └── *.md # Other documentation |
| 45 | +├── src/ |
| 46 | +│ ├── css/ # Custom styles |
| 47 | +│ ├── data/ # Site data (projects, social links) |
| 48 | +│ ├── pages/ # Custom React pages |
| 49 | +│ │ ├── index.js # Homepage |
| 50 | +│ │ ├── projects/ # Projects showcase |
| 51 | +│ │ ├── minesweeper/ # Game page |
| 52 | +│ │ └── bank/ # Banking game |
| 53 | +│ └── theme/ # Docusaurus theme customizations |
| 54 | +├── static/ # Static assets |
| 55 | +│ ├── img/ # Images and media |
| 56 | +│ ├── pdf/ # Documents (resume, etc.) |
| 57 | +│ └── CNAME # Custom domain configuration |
| 58 | +├── docusaurus.config.js # Main configuration |
| 59 | +├── sidebars.js # Documentation sidebar structure |
| 60 | +└── package.json # Dependencies and scripts |
| 61 | +``` |
| 62 | + |
| 63 | +## Key Configuration Files |
| 64 | + |
| 65 | +### docusaurus.config.js |
| 66 | +- **Site metadata**: Title, tagline, URL configuration |
| 67 | +- **Theme settings**: Dark mode, navbar, footer |
| 68 | +- **Plugin configuration**: Algolia search, Google Tag Manager |
| 69 | +- **Content settings**: Blog and docs configuration |
| 70 | +- **Math support**: KaTeX integration |
| 71 | + |
| 72 | +### sidebars.js |
| 73 | +- Defines documentation sidebar structure |
| 74 | +- Categories: Data Structures, Algorithms |
| 75 | +- Individual docs: Git, Python conventions |
| 76 | + |
| 77 | +## Content Guidelines |
| 78 | + |
| 79 | +### Blog Posts |
| 80 | +- **Location**: `blog/` directory |
| 81 | +- **Naming**: `YYYY-MM-DD-title.md` format |
| 82 | +- **Frontmatter**: Required metadata (title, authors, tags, etc.) |
| 83 | +- **Author**: Use `hieunv` as defined in `authors.yml` |
| 84 | +- **Topics**: AI/ML, programming, tutorials, technical insights |
| 85 | + |
| 86 | +### Documentation |
| 87 | +- **Location**: `docs/` directory |
| 88 | +- **Structure**: Organized by categories (algorithms, data structures) |
| 89 | +- **Style**: Educational, with examples and explanations |
| 90 | +- **Images**: Store in `static/img/docs/` |
| 91 | + |
| 92 | +### Projects |
| 93 | +- **Configuration**: `src/data/_Projects.js` |
| 94 | +- **Format**: Array of project objects with metadata |
| 95 | +- **Required fields**: category, title, subtitle, description, tech, links |
| 96 | + |
| 97 | +## Development Workflow |
| 98 | + |
| 99 | +### Local Development |
| 100 | +```bash |
| 101 | +# Install dependencies |
| 102 | +npm install |
| 103 | + |
| 104 | +# Start development server |
| 105 | +npm start |
| 106 | + |
| 107 | +# Build for production |
| 108 | +npm run build |
| 109 | + |
| 110 | +# Serve built site |
| 111 | +npm run serve |
| 112 | +``` |
| 113 | + |
| 114 | +### Content Creation |
| 115 | +1. **Blog posts**: Create in `blog/` with proper frontmatter |
| 116 | +2. **Documentation**: Add to `docs/` and update `sidebars.js` if needed |
| 117 | +3. **Images**: Place in appropriate `static/img/` subdirectory |
| 118 | +4. **Projects**: Update `src/data/_Projects.js` |
| 119 | + |
| 120 | +### Deployment |
| 121 | +- **Platform**: GitHub Pages |
| 122 | +- **Domain**: behitek.com (configured via CNAME) |
| 123 | +- **Branch**: `gh-pages` for deployment |
| 124 | +- **Command**: `npm run deploy` |
| 125 | + |
| 126 | +## Important Notes for LLMs |
| 127 | + |
| 128 | +### When Working with This Project: |
| 129 | + |
| 130 | +1. **Content Focus**: This is an AI Engineer's personal site - content should be technical, educational, and professional |
| 131 | + |
| 132 | +2. **File Naming**: |
| 133 | + - Blog posts: `YYYY-MM-DD-title.md` |
| 134 | + - Use kebab-case for URLs and file names |
| 135 | + - Images: descriptive names in appropriate subdirectories |
| 136 | + |
| 137 | +3. **Markdown Features**: |
| 138 | + - Supports MDX (React components in Markdown) |
| 139 | + - Math expressions with KaTeX |
| 140 | + - Code syntax highlighting with Prism |
| 141 | + - Frontmatter metadata is required for blog posts |
| 142 | + |
| 143 | +4. **Styling**: |
| 144 | + - Uses TailwindCSS classes |
| 145 | + - Custom CSS variables defined in `src/css/custom.css` |
| 146 | + - Dark mode is default and forced (no light mode toggle) |
| 147 | + |
| 148 | +5. **Navigation**: |
| 149 | + - Main nav: Docs, Blog, Games, Resume |
| 150 | + - Footer: Connect, Discover, Products sections |
| 151 | + - Social links: LinkedIn, GitHub, Twitter, Email |
| 152 | + |
| 153 | +6. **SEO & Analytics**: |
| 154 | + - Google Tag Manager configured |
| 155 | + - Algolia search integration |
| 156 | + - Meta descriptions and titles important |
| 157 | + |
| 158 | +### Common Tasks: |
| 159 | +- **Adding blog posts**: Create markdown file in `blog/` with proper frontmatter |
| 160 | +- **Updating projects**: Modify `src/data/_Projects.js` |
| 161 | +- **Adding documentation**: Create in `docs/` and update `sidebars.js` |
| 162 | +- **Styling changes**: Edit `src/css/custom.css` or use Tailwind classes |
| 163 | +- **Configuration changes**: Modify `docusaurus.config.js` |
| 164 | + |
| 165 | +### Best Practices: |
| 166 | +- Always include proper frontmatter in blog posts |
| 167 | +- Use descriptive alt text for images |
| 168 | +- Maintain consistent formatting and style |
| 169 | +- Test locally before deployment |
| 170 | +- Keep content professional and educational |
| 171 | +- Use proper heading hierarchy (H1 → H2 → H3) |
| 172 | + |
| 173 | +## Contact Information |
| 174 | +- **Site Owner**: Hieu Nguyen (behitek) |
| 175 | +- **Email**: hello@behitek.com |
| 176 | +- **GitHub**: https://github.com/behitek |
| 177 | +- **LinkedIn**: https://www.linkedin.com/in/behitek/ |
| 178 | +- **Twitter**: https://twitter.com/behitek_ |
0 commit comments