vsxd
cab627be02
feat(infra): add i18n messages, Redis config, and slug normalization migration
...
- Add rating/admin i18n message keys (en + zh)
- Improve IdempotencyInterceptor error handling
- Add RedisTemplateConfig for consistent serialization
- Add V4 migration to normalize skill slugs
- Fix RequestIdFilterTest
2026-03-12 20:11:24 +08:00
vsxd
47adf3ebad
refactor(make): add dev-all one-click workflow and remove prod targets
...
Add dev-all/dev-all-down for starting full local environment with
health checks. Fix dev-server to target skillhub-app module. Remove
unused prod-up/prod-down/logs targets.
2026-03-12 20:11:08 +08:00
vsxd
02aecfb901
chore: add .dev/ and docs/superpowers/ to .gitignore
...
Exclude local dev runtime artifacts and AI planning files
from version control.
2026-03-12 20:11:01 +08:00
vsxd
3063a40c8f
feat(web): add admin management pages
...
- Add admin users management page with role and status controls
- Add audit log page with filtering capabilities
- Create useAdminUsers and useAuditLog hooks for API integration
- Add route guards for USER_ADMIN, AUDITOR, and SUPER_ADMIN roles
- Register /admin/users and /admin/audit-log routes
2026-03-12 19:46:55 +08:00
vsxd
c0e9c10e15
feat(admin): add idempotency layer and admin management API
...
- Add IdempotencyRecord entity with status tracking (PROCESSING/COMPLETED/FAILED)
- Implement IdempotencyInterceptor for request deduplication via X-Request-Id header
- Add scheduled cleanup tasks for expired and stale idempotency records
- Create admin API endpoints for user management (list/update role/update status)
- Create admin API endpoints for audit log viewing with filtering
- Add comprehensive unit tests for all components
- Configure test Redis mocks to support idempotency layer
2026-03-12 19:32:09 +08:00
vsxd
efd43ef3cd
feat(compat): add ClawHub compatibility layer
2026-03-12 19:20:02 +08:00
vsxd
ddb940d5d5
feat(web): add review center, social features, and device auth page
2026-03-12 19:12:50 +08:00
vsxd
fae775eb97
fix(test): provide mock RedisTemplate for test context
...
- Add TestRedisConfig with mock RedisTemplate bean
- Restore DeviceAuthService as normal @Service (no conditional)
- Restore controllers as normal @RestController (no conditional)
- Remove DeviceAuthConfig and DeviceAuthWebConfig (not needed)
- All 179 tests pass
2026-03-12 19:08:25 +08:00
vsxd
55ab9d8bff
docs: update README.md
2026-03-12 18:33:31 +08:00
vsxd
27c47d1f67
docs: rewrite README with product focus, enterprise positioning, and architecture diagram
2026-03-12 18:29:53 +08:00
vsxd
5cc595b0ff
feat(cli): add skill package check endpoint
2026-03-12 18:26:50 +08:00
vsxd
f47377cff1
feat(cli): add Device Auth controllers
2026-03-12 18:19:03 +08:00
vsxd
9a4d64b11b
feat(cli): implement DeviceAuthService with Redis storage
2026-03-12 18:13:46 +08:00
vsxd
37fd831ce7
feat(cli): add Device Flow data models
2026-03-12 18:11:13 +08:00
vsxd
dd4f8d8abe
feat(social): add SkillStar and SkillRating controllers
2026-03-12 18:06:03 +08:00
vsxd
7af86eed21
docs: add project README with quickstart and structure overview
2026-03-12 17:50:34 +08:00
vsxd
dbb6d9f39e
feat(ops): improve Dockerfile caching, add dockerignore, docker profile, Makefile help
...
- Server Dockerfile: add Maven dependency caching layer for faster rebuilds
- Add .dockerignore for server and web to reduce build context
- Add docker profile to application.yml for container env var mapping
- Makefile: add help, logs, db-reset targets with ## annotations
2026-03-12 17:50:34 +08:00
vsxd
c6fd3c02f6
feat(web): update API client, hooks, and pages for Phase 2-3
2026-03-12 17:48:17 +08:00
vsxd
b520689130
feat(app): update controllers, DTOs, config, rate limiting, and add new components
...
- Add BaseApiController, MeController, AuthContextFilter
- Add standardized ApiResponse/ApiResponseFactory/PageResponse DTOs
- Add i18n messages (en/zh)
- Replace SlidingWindowRateLimiter with RateLimiter interface + Redis/InMemory impls
- Add localized exception handling
- Update application.yml with messages config
- Update Flyway migrations V1-V3
- Add SkillController and SkillSearchController tests
2026-03-12 17:47:58 +08:00
vsxd
6df55e3768
feat(infra): update JPA repository implementations
2026-03-12 17:47:37 +08:00
vsxd
db0d86ea08
feat(search): update search documents and query services
2026-03-12 17:47:18 +08:00
vsxd
d44f9415fe
feat(auth): update security config, auth entities, and token services
2026-03-12 17:47:08 +08:00
vsxd
cfcdb545f0
feat(domain): update entities, services, repositories, and add shared exceptions
2026-03-12 17:46:48 +08:00
vsxd
9d7282221c
docs: update specs, plans, and design documents for Phase 2-4
2026-03-12 17:46:41 +08:00
vsxd
b7a798914a
chore: add Eclipse project files to gitignore
2026-03-12 17:45:28 +08:00
vsxd
217ed7e918
feat(social): add SkillStarService and SkillRatingService with events
2026-03-12 17:36:42 +08:00
vsxd
ae24a18e64
feat(social): add SkillStar and SkillRating entities and repositories
2026-03-12 17:19:50 +08:00
vsxd
8b17f2c55b
feat(review): add ReviewController and PromotionController REST APIs
...
- Add review DTOs: ReviewTaskRequest, ReviewTaskResponse, ReviewActionRequest
- Add promotion DTOs: PromotionRequestDto, PromotionResponseDto, PromotionActionRequest
- Add ReviewController with submit/approve/reject/withdraw/list endpoints
- Add PromotionController with submit/approve/reject/list endpoints
- Follow existing BaseApiController + ApiResponse pattern
2026-03-12 16:41:32 +08:00
vsxd
6acdfe3c91
fix(docs): address spec review findings for Phase 4 design
...
- Remove auth_method field reference, use local_credential existence
- Unify merge API path to /api/v1/auth/merge/*
- Add missing /.well-known/ proxy in Nginx and K8s Ingress
- Fix SeedDataRunner missing field declarations
- Remove login failure attempt count from error response
- Sync delivery roadmap Phase 4/5 scope with spec
2026-03-12 16:04:59 +08:00
vsxd
44dece6f6d
docs: add Phase 4 design spec - ops polish + open source readiness
...
Comprehensive design covering local auth, multi-account merge, skill
governance, audit log query, Prometheus metrics, performance optimization,
security hardening, Docker one-click startup, K8s deployment, and open
source infrastructure.
2026-03-12 15:55:27 +08:00
vsxd
51fa37a9c5
feat(review): implement PromotionService
...
- Add submitPromotion with duplicate check and validation
- Add approvePromotion with optimistic locking and skill copying
- Add rejectPromotion with reason recording
2026-03-12 15:52:54 +08:00
vsxd
bffc36b815
feat(review): implement ReviewService
...
- Add submitReview with duplicate check via partial unique index
- Add approveReview with optimistic locking and event publishing
- Add rejectReview with reason recording
- Add withdrawReview with PENDING status check
2026-03-12 15:42:21 +08:00
vsxd
644b3efd44
feat(review): add ReviewPermissionChecker with tests
...
- canReview: self-review blocked, GLOBAL requires SKILL_ADMIN/SUPER_ADMIN,
TEAM requires namespace ADMIN/OWNER
- canReviewPromotion: self-review blocked, requires SKILL_ADMIN/SUPER_ADMIN
- NamespaceType passed as parameter to avoid internal repository lookup
- 12 unit tests covering all permission scenarios
2026-03-12 15:24:51 +08:00
vsxd
3ebdc2691d
feat(repo): add review repositories
...
- Add ReviewTaskRepository with optimistic lock update
- Add PromotionRequestRepository
- Implement JPA repositories in infra module
2026-03-12 15:17:11 +08:00
vsxd
8a1b1a9d5f
feat(domain): add review workflow domain entities
...
- Add ReviewTaskStatus enum (PENDING, APPROVED, REJECTED)
- Add ReviewTask entity with optimistic locking
- Add PromotionRequest entity for cross-namespace promotion
2026-03-12 15:10:55 +08:00
vsxd
e57efef41b
feat(db): add Phase 3 database migration
...
- Add review_task table with partial unique index
- Add promotion_request table
- Add skill_star and skill_rating tables
- Add idempotency_record table
2026-03-12 15:05:38 +08:00
vsxd
b77e5ad314
docs: complete Phase 3 implementation plan with detailed TDD steps for all 5 chunks
2026-03-12 14:31:49 +08:00
vsxd
7174ffab6a
docs: complete Phase 3 implementation plan with detailed TDD steps for all 5 chunks
...
- Chunk 1: Review workflow core (backend) - DB migration, entities, repos, permissions, service
- Chunk 2: Rating/favorites + frontend review center - entities, services, event listeners, controllers
- Chunk 3: CLI API + Web auth - Device Flow models, service, controllers, frontend page
- Chunk 4: ClawHub compatibility layer - slug mapper, well-known endpoint, compat controller
- Chunk 5: Idempotency + admin dashboard - interceptor, cleanup tasks, admin API, frontend pages
2026-03-12 11:30:19 +08:00
vsxd
fe32dcddb6
fix(web): resolve TypeScript errors in Phase 2 pages and hooks
2026-03-12 02:56:54 +08:00
vsxd
9a1b14b11a
feat(web): add all Phase 2 pages and routes
2026-03-12 02:54:19 +08:00
vsxd
8d223dc875
fix(web): use plain fetch for Phase 2 API hooks
2026-03-12 02:45:32 +08:00
vsxd
a3fe76eaeb
feat(web): add Phase 2 frontend foundation - types, hooks, shared and feature components
2026-03-12 02:43:01 +08:00
vsxd
1db4ec1e78
feat: add skill controllers, search, async events, rate limiting, and config
2026-03-12 02:36:59 +08:00
vsxd
28040f36a2
feat(domain): add skill publish, query, download, and tag services with tests
2026-03-12 02:24:03 +08:00
vsxd
c9f9ef03f2
feat: add namespace services, controller, DTOs, and domain events
2026-03-12 02:12:00 +08:00
vsxd
4920506643
feat(domain): add SkillMetadataParser, SkillPackageValidator, and VisibilityChecker with tests
2026-03-12 02:04:29 +08:00
vsxd
8644154157
feat(domain): add Skill domain entities, repositories, and JPA implementations
2026-03-12 02:00:34 +08:00
vsxd
ca36304df9
feat(storage): add object storage SPI with LocalFile and S3 implementations
2026-03-12 01:56:27 +08:00
vsxd
351829e1a9
feat(domain): add SlugValidator with comprehensive validation rules
2026-03-12 01:53:08 +08:00
vsxd
95c8c31561
feat(domain): complete Phase 1 entity fields for Namespace and NamespaceMember
2026-03-12 01:51:57 +08:00