Commit Graph
186 Commits
Author SHA1 Message Date
tiennm99 29633ec85a fix(01-02): replace Node EventEmitter with browser-compatible implementation
Node's 'events' module doesn't work in browsers. Replaced with custom
Map-based implementation that provides the same API but works in both
Node.js and browser environments.

All 98 tests still pass.
2026-03-11 00:09:45 +07:00
tiennm99 f0ceb38a1a feat(01-03): wire main.ts entry point with Game class
- Update main.ts to import and instantiate Game class
- Wait for DOMContentLoaded before initializing
- Add error event listener on game.events
- Add tick event listener (commented debug logging)
- Log initialization message to console
- Add main.test.ts with entry point tests (4 tests)
2026-03-11 00:00:32 +07:00
tiennm99 122160f4d1 feat(01-03): add Game class orchestrator with TDD
- Create Game class that orchestrates canvas, game loop, and events
- Game constructor initializes canvas, context, loop, and events
- Game.start() starts the loop and emits 'game:start' event
- Game.render() clears canvas with background color
- Handle device pixel ratio for sharp rendering
- Add comprehensive tests (15 tests) for Game class
2026-03-10 23:58:18 +07:00
tiennm99 eedb3b3ed9 docs(01-02): complete core infrastructure plan
- SUMMARY.md created with full execution details
- STATE.md updated: plan 2 of 3, 11% progress
- ROADMAP.md updated: 01-02 marked complete
- All 79 tests passing, TypeScript compiles clean
2026-03-10 23:54:29 +07:00
tiennm99 b011b918b3 refactor(01-02): fix TypeScript type issues in tests
- Changed EventEmitter generic constraint to `object` for interface compatibility
- Fixed GameLoop test closure variable narrowing issue by using array
2026-03-10 23:51:35 +07:00
tiennm99 b5c49230e1 feat(01-02): implement Tile model class
- Implements Tile interface from types/index.ts
- Constructor with id, type, position
- emoji getter returns CONFIG.emojis[type]
- isAdjacent() checks orthogonal adjacency
- cleared property defaults to false
2026-03-10 23:49:16 +07:00
tiennm99 50fd0b5109 test(01-02): add failing tests for Tile model class
- Tests for constructor with id, type, position
- Tests for emoji getter returning correct emoji
- Tests for isAdjacent() method with various positions
- Tests for readonly properties and cleared default
2026-03-10 23:48:48 +07:00
tiennm99 d853acac20 feat(01-02): implement TypedEventEmitter class
- Generic class wrapping Node's EventEmitter
- Type-safe on(), emit(), off() methods
- Added once() and removeAllListeners() methods
- Returns this for method chaining
2026-03-10 23:47:55 +07:00
tiennm99 70f76015c4 test(01-02): add failing tests for TypedEventEmitter class
- Tests for on(), emit(), off() methods
- Tests for multiple listeners and chaining
- Tests for type safety with typed payloads
- Tests for error handling and once() method
- Tests for removeAllListeners()
2026-03-10 23:47:24 +07:00
tiennm99 a40d2653f0 test(01-02): add failing tests for GameLoop class
- Tests for start(), stop(), isRunning(), getRafId()
- Tests for update callback with deltaTime
- Tests for delta time accumulation
- Tests for loop lifecycle (start/stop multiple times)
2026-03-10 23:46:34 +07:00
tiennm99 1a2458ca3f docs(01-01): complete project scaffolding plan
- Add SUMMARY.md with execution details
- Update STATE.md with progress and decisions
- Update ROADMAP.md with plan completion
- Mark CORE-01 as complete in REQUIREMENTS.md
2026-03-10 23:43:56 +07:00
tiennm99 ae702a3da1 feat(01-01): create shared type definitions
- Add src/types/index.ts with type definitions
- Define TilePosition interface (row, col)
- Define Tile interface (id, type, position, cleared)
- Define GameEvents interface for type-safe event handling
- Add comprehensive tests for all type definitions
2026-03-10 23:40:44 +07:00
tiennm99 e90bab3b4a feat(01-01): create game configuration constants
- Add src/config.ts with CONFIG object
- Define grid settings (10 rows, 16 cols, 160 tiles)
- Define tile settings (size, gap, corner radius)
- Define 16 nature-themed emojis
- Define color palette for game elements
- Add comprehensive tests for all config values
2026-03-10 23:39:15 +07:00
tiennm99 bf06827318 feat(01-01): create Vite project with TypeScript and Canvas
- Initialize Vite project with vanilla-ts configuration
- Add TypeScript with strict mode enabled
- Configure Vitest for testing
- Create index.html with Canvas element
- Add main.ts entry point with canvas setup
- Add setup tests for project dependencies
2026-03-10 23:38:14 +07:00
tiennm99 d30a1c5180 docs(01): create Phase 1 Core Foundation plans 2026-03-10 23:31:02 +07:00
tiennm99 7a0d675209 docs(01): add research and validation strategy 2026-03-10 23:23:07 +07:00
tiennm99 92a5f2dd73 docs(01-core-foundation): add phase research document 2026-03-10 23:21:54 +07:00
tiennm99 b4a7e4e671 docs(state): record phase 1 context session 2026-03-10 23:15:01 +07:00
tiennm99 6b43f65952 docs(01): capture phase context 2026-03-10 23:14:46 +07:00
tiennm99 8518b3cf0b docs: create roadmap (6 phases) 2026-03-10 23:04:58 +07:00
tiennm99 22d2c1f63a docs: define v1 requirements 2026-03-10 22:58:47 +07:00
tiennm99 0e8fa8fb84 docs: complete project research for Pikachu Match tile-matching game
- STACK.md: Recommended Vite + TypeScript + Canvas minimal approach
- FEATURES.md: Core matching mechanics and table stakes features
- ARCHITECTURE.md: Layered architecture with state machine pattern
- PITFALLS.md: Critical pitfalls (path-finding, board generation, dead-end detection)
- SUMMARY.md: Synthesized findings with 6-phase roadmap suggestions
2026-03-10 22:56:01 +07:00
tiennm99 b6b5600b2c chore: add project config 2026-03-10 22:33:08 +07:00
tiennm99 991124ec02 docs: initialize project 2026-03-10 22:28:35 +07:00
tiennm99 9b8d4cdee3 chore: install GSD (get-shit-done) Claude Code integration
Add GSD framework configuration including agents, commands, hooks,
and settings for spec-driven development workflow.
2026-03-10 22:16:07 +07:00
tiennm99 f54c500278 docs(gsd-module): add GSD Module 3 course structure and lesson content
- Expand README with full setup instructions, file structure, and testing notes
- Add lesson modules for 3.1–3.5 covering What is GSD through Verify & Beyond
- Add course-structure.json, PROJECT_BRIEF.md, and .claude/ commands
2026-03-08 21:13:56 +07:00
Tien Nguyen MinhandGitHub 3bf103f107 Initial commit 2026-03-08 21:11:57 +07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0ab2a54975 build(deps-dev): bump webpack-dev-server from 4.15.2 to 5.2.1 (#1)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.15.2 to 5.2.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.15.2...v5.2.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-version: 5.2.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 19:17:42 +07:00
tiennm99 20381387b4 fix: build error 2025-05-14 18:29:23 +07:00
tiennm99 6cd8c7c284 feat: init 2025-05-14 18:10:57 +07:00
Tien Nguyen MinhandGitHub 8ab5066716 Initial commit 2025-05-14 18:10:14 +07:00
tiennm99 ba62030f05 docs: fix remaining stale host name in README link text 2026-08-18 14:23:24 +07:00
tiennm99 aa22beb6aa feat: absorb cowork-complete-guide, ross-mike-workflows, vin-obsidian-workflows as labs
Each keeps its full history under its own directory. cowork-complete-guide's
static site is served at /cowork-complete-guide/ on the unified Pages site.
Also fixes stale miti99dev.github.io host references left from the org move.
2026-08-18 14:22:46 +07:00
tiennm99 578317a14a chore: add Apache-2.0 license 2026-04-29 21:33:42 +07:00
tiennm99 540e82834d chore: add Apache-2.0 license 2026-04-29 21:33:40 +07:00
tiennm99 74449540b9 chore: add Apache-2.0 license 2026-04-29 21:33:38 +07:00
tiennm99 b6fd1709e8 feat(web): add index.html redirect to pikachu-connect for GitHub Pages 2026-03-11 20:53:21 +07:00
tiennm99 b27467ef3d feat(outputs): add Pikachu Connect HTML page 2026-03-11 00:07:51 +07:00
tiennm99 192971870e feat(outputs): add daily digest for 2026-03-10 2026-03-10 21:15:08 +07:00
tiennm99 c9baf46d61 feat(skills): add email-curator and hugo-post-writer skills 2026-03-10 21:12:16 +07:00
tiennm99 b4572c48fe feat(outputs): add expense report and receipts for Nov 2025 - Jan 2026 2026-03-10 20:52:19 +07:00
tiennm99 fada2aac6c feat(docs): add VNExpress war news summary document 2026-03-10 20:31:18 +07:00
tiennm99 49dc6d80df feat(skills): add document-creator skill 2026-03-10 20:09:08 +07:00
Tien Nguyen MinhandGitHub ca1dad26cc Merge pull request #1 from tiennm99/feat/add-expense-tracker-and-strategy-presentation
feat(docs): add expense tracker and strategy presentation files
2026-03-10 20:02:04 +07:00
tiennm99 d1e237b515 feat(docs): add expense tracker and strategy presentation files 2026-03-10 19:59:53 +07:00
tiennm99 487a68b445 feat(skills): add research-synthesizer skill for multi-document analysis and synthesis
Defines triggers, input requirements, sub-agent usage patterns, and
output formats for synthesizing insights across multiple documents.
Covers standard research synthesis, vendor comparisons, multi-perspective
analyses, and web + local source combinations. Includes example prompts.
2026-03-09 22:27:01 +07:00
tiennm99 01f8628685 feat(outputs): add multi-perspective analysis report for three key business decisions
Analyzes second location expansion, technology stack investment, and
espresso machine upgrade from Financial, Customer Experience, and
Operational Risk perspectives. Each decision synthesized into a concrete
recommendation with conditions and phased implementation plans.
2026-03-09 22:26:19 +07:00
tiennm99 1d8e7258c5 feat(outputs): add espresso machine vendor comparison report for La Marzocco, Victoria Arduino, and Synesso
Side-by-side comparison across pricing, lead time, service network,
reliability, resale value, and brand prestige. Includes individual
verdicts and key insight that capability differences between machines
are often overstated — decision hinges on service access, lead time,
and resale value.
2026-03-09 22:09:10 +07:00
tiennm99 9c482012c8 feat(outputs): add specialty coffee industry research report synthesized from 57 documents
Comprehensive analysis of the 2025-2026 specialty coffee market covering
6+ themes: independent shop advantages, technology as hygiene factor,
labor cost reset, sustainability imperatives, remote work geography shift,
and competitive strategy. Includes contradictions matrix, actionable
recommendations, and open strategic questions.
2026-03-09 22:00:05 +07:00
tiennm99 81c21d7998 feat(outputs): add customer feedback synthesis report for Basecamp Rewards program
Synthesizes 20 documents (surveys, emails, interviews, support tickets)
into a structured analysis covering 6 key themes: app reliability,
expiration policy, staff consistency, redemption options, VIP tier demand,
and value perception. Includes contradictions matrix, customer segment
patterns, feature requests, and prioritized recommendations.
2026-03-09 21:45:33 +07:00