{"id":28724765,"url":"https://github.com/plnech/incr","last_synced_at":"2025-06-15T11:08:55.690Z","repository":{"id":296906042,"uuid":"994943697","full_name":"PLNech/incr","owner":"PLNech","description":"La incr factory","archived":false,"fork":false,"pushed_at":"2025-06-02T20:28:31.000Z","size":103,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-03T08:22:59.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PLNech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2025-06-02T18:13:41.000Z","updated_at":"2025-06-02T20:28:34.000Z","dependencies_parsed_at":"2025-06-03T08:42:02.980Z","dependency_job_id":null,"html_url":"https://github.com/PLNech/incr","commit_stats":null,"previous_names":["plnech/incr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PLNech/incr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2Fincr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2Fincr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2Fincr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2Fincr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLNech","download_url":"https://codeload.github.com/PLNech/incr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2Fincr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259964331,"owners_count":22938725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-06-15T11:08:54.952Z","updated_at":"2025-06-15T11:08:55.684Z","avatar_url":"https://github.com/PLNech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# incr 🏭\n\nLa incr factory \n\nA collection of interconnected incremental games built with Next.js and deployed on GitHub Pages.\n\n[![Example Gallery](https://github.com/user-attachments/assets/553ed5c6-f7e4-44dd-b09b-8809ef16fa84)](https://plnech.github.io/incr/)\n\n\n## Current Games\n\n### ☕ Slow Roast\nBuild a specialty coffee empire in Amsterdam! Start with a small café and grow into a coffee culture influencer. Features:\n- **Resource Management**: Coffee beans, money, reputation, knowledge, and more\n- **Customer Education**: Teach different neighborhood segments about specialty coffee\n- **James Hoffman Wisdom**: Learn from the coffee master\n- **Progressive UI**: Even the upgrades menu needs to be unlocked!\n- **Nook Coffee Supplies**: Navigate business relationships with a certain raccoon\n- **Neighborhood Dynamics**: Watch as your success changes the area around you\n\n## External Games\n\n### 🔊 StrudleIdle\nLivecoding as an idle game 🎛️🎮\n- **Play Game**: [StrudleIdle](https://plnech.github.io/StrudelIdle/)\n- **GitHub**: [https://github.com/PLNech/StrudleIdle](https://github.com/PLNech/StrudleIdle)\n\n### 💻 Le Dernier Code\nEn 2025, plus tu codes, moins tu codes.\n- **Play Game**: [Le Dernier Code](https://dernier-code.vercel.app/)\n- **GitHub**: [https://github.com/plnech/DernierCode](https://github.com/plnech/DernierCode)\n\n### 🌐 Propagation Inc.\nManage a network of information and watch it spread. Make strategic decisions to control the narrative and achieve global influence.\n- **Play Game**: [Propagation Inc.](https://propagation.vercel.app/)\n- **GitHub**: [https://github.com/PLNech/Propagation](https://github.com/PLNech/Propagation)\n\n## Setup Instructions for GitHub Pages\n\n### 1. Create GitHub Repository\n1. Create a new repository named `incr` (or whatever you prefer)\n2. Enable GitHub Pages in repository settings\n3. Set source to \"GitHub Actions\"\n\n### 2. File Structure\nCreate these files in your repository:\n\n```\nincr/\n├── package.json\n├── next.config.js\n├── tsconfig.json\n├── tailwind.config.js\n├── .github/\n│   └── workflows/\n│       └── deploy.yml\n├── app/\n│   ├── layout.tsx\n│   ├── page.tsx\n│   ├── globals.css\n│   └── slow-roast/\n│       └── page.tsx\n└── lib/\n    └── gameStateManager.ts\n```\n\n### 3. Installation \u0026 Development\n\n**Using GitHub.dev (Browser-only):**\n1. Go to your repository\n2. Press `.` to open GitHub.dev\n3. Copy all the artifact files into the correct locations\n4. Commit and push changes\n5. GitHub Actions will automatically build and deploy\n\n**Local Development:**\n```bash\nnpm install\nnpm run dev\n```\n\n**Build for Production:**\n```bash\nnpm run build\nnpm run export\n```\n\n### 4. GitHub Pages Configuration\n1. In your repository, go to Settings → Pages\n2. Set Source to \"GitHub Actions\"\n3. The workflow will automatically deploy on every push to `main`\n\n### 5. Access Your Games\nOnce deployed, your games will be available at:\n- `https://yourusername.github.io/incr/` - Game selection hub\n- `https://yourusername.github.io/incr/slow-roast/` - Coffee shop game\n\n## Game Framework Features\n\n### Cross-Game State Management\n- **Shared Storage**: Games can access each other's progress\n- **Global Achievements**: Unlock bonuses across all games\n- **Progressive Unlocks**: Complete one game to unlock the next\n- **Persistent Identity**: Your name and progress carry forward\n\n### Local Storage System\n- **No External Dependencies**: Everything runs in the browser\n- **Auto-save**: Games save progress automatically\n- **Export/Import**: Backup and restore your progress\n- **Cross-Game Integration**: Games can reference each other's data\n\n## Adding New Games\n\nTo add a new game to the framework:\n\n1. Create a new directory in `app/your-game-name/`\n2. Add the game info to the `GAMES` array in `app/page.tsx`\n3. Use the `GameStateManager` for persistence:\n   ```typescript\n   import { GameStateManager } from '../../lib/gameStateManager';\n   \n   const gsm = GameStateManager.getInstance();\n   gsm.saveGameState('your-game-id', gameData);\n   const savedData = gsm.loadGameState('your-game-id');\n   ```\n\n## Architecture\n\n- **Next.js 14**: React framework with App Router\n- **TypeScript**: Type safety throughout\n- **Tailwind CSS**: Utility-first styling\n- **Local Storage**: Client-side persistence\n- **GitHub Actions**: Automated deployment\n- **Static Export**: Optimized for GitHub Pages\n\n## Development Notes\n\n- **No Server Required**: Everything runs client-side\n- **Mobile Friendly**: Responsive design for all screen sizes\n- **Offline Capable**: Games work without internet after initial load\n- **Performance**: Optimized builds with static generation\n\n## Contributing\n\nEach game should follow these principles:\n- **Start Simple**: Begin with minimal mechanics, add complexity gradually\n- **Progressive Disclosure**: UI elements unlock as player progresses\n- **Cross-Game Awareness**: Check for achievements/progress in other games\n- **Thematic Coherence**: Games should feel connected to the broader world\n\n---\n\n## Game Design Philosophy\n\nThe Incremental Games Factory focuses on:\n1. **Meaningful Progression**: Every action should feel purposeful\n2. **Interconnected Systems**: Games reference and unlock each other\n3. **Social Commentary**: Games can explore themes through mechanics\n4. **Automation Balance**: Manual play that gradually becomes hands-off\n5. **Discovery**: Let players uncover mechanics organically\n\nHappy building! ☕🏭\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplnech%2Fincr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplnech%2Fincr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplnech%2Fincr/lists"}