{"id":33026992,"url":"https://github.com/dajneem23/ziglings","last_synced_at":"2026-06-22T07:32:04.607Z","repository":{"id":322119929,"uuid":"1088259143","full_name":"dajneem23/ziglings","owner":"dajneem23","description":"Learn the ⚡Zig programming language by fixing tiny broken programs.","archived":false,"fork":false,"pushed_at":"2026-04-07T10:35:35.000Z","size":1565,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"process","last_synced_at":"2026-04-07T12:23:00.440Z","etag":null,"topics":["zig"],"latest_commit_sha":null,"homepage":"https://codeberg.org/ziglings","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dajneem23.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-02T16:18:26.000Z","updated_at":"2026-04-07T10:35:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dajneem23/ziglings","commit_stats":null,"previous_names":["dajneem23/ziglings"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dajneem23/ziglings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajneem23%2Fziglings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajneem23%2Fziglings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajneem23%2Fziglings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajneem23%2Fziglings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dajneem23","download_url":"https://codeload.github.com/dajneem23/ziglings/tar.gz/refs/heads/process","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dajneem23%2Fziglings/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34639704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["zig"],"created_at":"2025-11-13T20:00:38.228Z","updated_at":"2026-06-22T07:32:04.602Z","avatar_url":"https://github.com/dajneem23.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Workflow \u0026 Telegram Alert Setup Complete! 🎉\n\n## About Ziglings\n\nThis repository is based on **Ziglings** - a series of tiny broken Zig programs that teach you the Zig programming language by fixing them.\n\n**Official Source:** [https://codeberg.org/ziglings/exercises](https://codeberg.org/ziglings/exercises)\n\nZiglings was originally created by [Dave Gauer](https://ratfactor.com/) and is inspired by [rustlings](https://github.com/rust-lang/rustlings). The official repository has migrated from GitHub to Codeberg.\n\n**Learn more about Ziglings:**\n\n- 🏠 Official Repository: \u003chttps://codeberg.org/ziglings/exercises\u003e\n- ⚡ Zig Language: \u003chttps://ziglang.org/\u003e\n- 📚 Zig Documentation: \u003chttps://ziglang.org/documentation/master/\u003e\n- 🎥 Zig in Depth (video series): [YouTube Playlist](https://www.youtube.com/watch?v=MMtvGA1YhW4\u0026list=PLtB7CL7EG7pCw7Xy1SQC53Gl8pI7aDg9t\u0026pp=iAQB)\n\n---\n\n## What's Been Added\n\n### 1. GitHub Workflow (`.github/workflows/check-progress.yml`)\n\nAutomatically monitors your Ziglings progress and sends Telegram notifications.\n\n**Features:**\n\n- 📊 Tracks completed vs. total exercises (only if exercises changed)\n- 📈 Calculates progress percentage\n- 📊 Visual progress bar in notifications\n- 📝 Shows next exercise to work on\n- ⏰ Daily reminders at 9 AM UTC\n- 🔔 Smart notifications on push events:\n  - 📚 Progress updates when exercises folder changes\n  - 🔬 Algorithm notifications when algorithms folder changes\n  - 🔧 Commit info for other changes\n- 📝 Sends commit messages with links to Telegram\n- 🎉 Celebration message on completion\n- 🎮 Manual trigger option\n- 🤖 Auto-updates this README with current progress on every push\n\n### 2. Progress Check Script (`check-progress.sh`)\n\nLocal script to view and update your progress.\n\n**Usage:**\n\n```bash\n# View current progress\n./check-progress.sh\n\n# Update progress to exercise 10\n./check-progress.sh 10\n```\n\n### 3. Documentation\n\n- `.github/WORKFLOW_SETUP.md` - Complete setup guide\n- `.github/QUICK_REFERENCE.md` - Quick command reference\n\n## Next Steps\n\n### To Enable Telegram Notifications\n\n1. **Create a Telegram Bot** (2 minutes)\n   - Open Telegram, search for `@BotFather`\n   - Send `/newbot` and follow instructions\n   - Save your bot token\n\n2. **Get Your Chat ID** (1 minute)\n   - Search for `@userinfobot` in Telegram\n   - Start the bot to see your chat ID\n\n3. **Add GitHub Secrets** (2 minutes)\n   - Go to: Repository → Settings → Secrets and variables → Actions\n   - Add `TELEGRAM_BOT_TOKEN` (your bot token)\n   - Add `TELEGRAM_CHAT_ID` (your chat ID)\n\n4. **Push to trigger!** 🚀\n\n   ```bash\n   git add .\n   git commit -m \"Add progress tracking workflow\"\n   git push\n   ```\n\n## How It Works\n\n```\n┌─────────────────┐\n│  You complete   │\n│   an exercise   │\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│ Update progress │\n│  ./check-progress.sh 5\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│ Git commit/push │\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│ GitHub Actions  │\n│   triggers      │\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│   Calculates    │\n│    progress     │\n└────────┬────────┘\n         │\n         ├─────────────────┐\n         ▼                 ▼\n┌─────────────────┐ ┌─────────────────┐\n│ Sends Telegram  │ │ Auto-updates    │\n│  notification   │ │ README.md with  │\n│                 │ │ current status  │\n└─────────────────┘ └─────────────────┘\n```\n\n**Note:** The workflow uses `[skip ci]` in its commit message to prevent infinite loops when updating the README.\n\n## Example Notification\n\nWhen you push changes with incomplete exercises:\n\n```\n📊 Ziglings Progress Report\n\n✅ Completed: 4/111 exercises\n📈 Progress: `████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░` 3%\n\n⏳ Remaining: 107 exercises\n📝 Next: `005_arrays2.zig`\n\n🎯 Keep going! You've got this! 💪\n\n📁 Repository: dajneem23/ziglings\n🌿 Branch: process\n🔔 Progress updated\n```\n\nWhen you complete all exercises:\n\n```\n🎉 Congratulations! 🎉\n\nYou've completed all Ziglings exercises!\n\n✅ Completed: 111/111 exercises\n`████████████████████████████████████████` 100%\n\n📁 Repository: dajneem23/ziglings\n🌿 Branch: process\n\n🏆 Amazing work! You're now a Zig expert! 💪\n```\n\n**Commit Message Notification (when exercises change):**\n\n```\n📝 Commit Pushed\n\n💬 Message: `Complete exercise 10 - if statements`\n👤 Author: Your Name\n🌿 Branch: process\n\n📚 Exercises changed\n\n📁 Repository: dajneem23/ziglings\n🔗 View Commit\n📍 SHA: `a1b2c3d`\n```\n\n**Commit Message Notification (when algorithms change):**\n\n```\n📝 Commit Pushed\n\n💬 Message: `Add binary search algorithm to algorithms collection`\n👤 Author: Your Name\n🌿 Branch: process\n\n🔬 Algorithms updated\n\n📁 Repository: dajneem23/ziglings\n🔗 View Commit\n📍 SHA: `b2c3d4e`\n```\n\n**Commit Message Notification (other changes):**\n\n```\n📝 Commit Pushed\n\n💬 Message: `Update README with new section`\n👤 Author: Your Name\n🌿 Branch: process\n\n🔧 Other changes\n\n📁 Repository: dajneem23/ziglings\n🔗 View Commit\n📍 SHA: `c3d4e5f`\n```\n\n## Testing Without Setup\n\nYou can test locally without Telegram:\n\n```bash\n# Check your current progress\n./check-progress.sh\n\n# Output:\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# 📊 Ziglings Progress Report\n# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n# \n# ✅ Completed: 4/111 exercises\n# 📈 Progress:  3%\n# ⏳ Remaining: 107 exercises\n# \n# [█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3%\n# \n# 🎯 Keep going! You've got this! 💪\n# 📝 Next exercise: 005_arrays2.zig\n```\n\n## Customization\n\n### Change Daily Reminder Time\n\nEdit `.github/workflows/check-progress.yml`:\n\n```yaml\nschedule:\n  - cron: '0 9 * * *'  # Change to your preferred time (UTC)\n```\n\n### Change Target Branches\n\nEdit the workflow file:\n\n```yaml\npush:\n  branches:\n    - main\n    - process\n    - your-branch  # Add more branches\n```\n\n## Files Created\n\n```\n.github/\n├── workflows/\n│   └── check-progress.yml      # Main GitHub workflow\n├── WORKFLOW_SETUP.md            # Detailed setup guide\n└── QUICK_REFERENCE.md           # Command reference\n\ncheck-progress.sh                # Local progress checker\n```\n\n## Current Status\n\n✅ Workflow created and ready to use  \n✅ Local progress checker working  \n✅ Documentation complete  \n✅ Telegram notifications enabled  \n\n**Your current progress:** 106/110 exercises (96%)  \n**Next exercise:** 107_files2.zig  \n**Last updated:** 2026-04-08 06:55 UTC\n## Support\n\n- Full setup guide: `.github/WORKFLOW_SETUP.md`\n- Quick commands: `.github/QUICK_REFERENCE.md`\n- Test workflow: Actions tab → Run workflow manually\n\nHappy coding! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdajneem23%2Fziglings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdajneem23%2Fziglings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdajneem23%2Fziglings/lists"}