agileflow 2.61.0 → 2.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/package.json +1 -1
- package/scripts/lib/counter.js +103 -0
- package/src/core/commands/auto.md +1 -0
- package/src/core/commands/babysit.md +170 -29
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/ci.md +1 -0
- package/src/core/commands/compress.md +1 -0
- package/src/core/commands/deploy.md +1 -0
- package/src/core/commands/help.md +1 -0
- package/src/core/commands/research.md +1 -0
- package/src/core/commands/skill/create.md +566 -0
- package/src/core/commands/skill/delete.md +189 -0
- package/src/core/commands/skill/edit.md +245 -0
- package/src/core/commands/skill/list.md +155 -0
- package/src/core/commands/skill/test.md +249 -0
- package/src/core/commands/template.md +1 -0
- package/src/core/commands/tests.md +1 -0
- package/src/core/commands/update.md +1 -0
- package/src/core/commands/velocity.md +1 -0
- package/src/core/experts/refactor/expertise.yaml +17 -12
- package/src/core/templates/claude-settings.advanced.example.json +1 -1
- package/src/core/templates/claude-settings.example.json +1 -1
- package/tools/cli/commands/list.js +8 -13
- package/tools/cli/commands/uninstall.js +70 -0
- package/tools/cli/commands/update.js +21 -4
- package/tools/cli/installers/core/installer.js +20 -19
- package/tools/cli/installers/ide/_base-ide.js +18 -4
- package/tools/cli/installers/ide/claude-code.js +4 -15
- package/tools/cli/installers/ide/codex.js +9 -13
- package/tools/cli/lib/content-injector.js +162 -31
- package/tools/cli/lib/utils.js +87 -0
- package/src/core/skills/acceptance-criteria-generator/SKILL.md +0 -46
- package/src/core/skills/adr-template/SKILL.md +0 -62
- package/src/core/skills/agileflow-acceptance-criteria/SKILL.md +0 -156
- package/src/core/skills/agileflow-adr/SKILL.md +0 -147
- package/src/core/skills/agileflow-adr/examples/database-choice-example.md +0 -122
- package/src/core/skills/agileflow-adr/templates/adr-template.md +0 -69
- package/src/core/skills/agileflow-commit-messages/SKILL.md +0 -130
- package/src/core/skills/agileflow-commit-messages/reference/bad-examples.md +0 -168
- package/src/core/skills/agileflow-commit-messages/reference/good-examples.md +0 -120
- package/src/core/skills/agileflow-commit-messages/scripts/check-attribution.sh +0 -15
- package/src/core/skills/agileflow-epic-planner/SKILL.md +0 -184
- package/src/core/skills/agileflow-retro-facilitator/SKILL.md +0 -119
- package/src/core/skills/agileflow-retro-facilitator/cookbook/4ls.md +0 -86
- package/src/core/skills/agileflow-retro-facilitator/cookbook/glad-sad-mad.md +0 -79
- package/src/core/skills/agileflow-retro-facilitator/cookbook/start-stop-continue.md +0 -142
- package/src/core/skills/agileflow-retro-facilitator/prompts/action-items.md +0 -83
- package/src/core/skills/agileflow-sprint-planner/SKILL.md +0 -212
- package/src/core/skills/agileflow-story-writer/SKILL.md +0 -163
- package/src/core/skills/agileflow-story-writer/examples/good-story-example.md +0 -63
- package/src/core/skills/agileflow-story-writer/templates/story-template.md +0 -44
- package/src/core/skills/agileflow-tech-debt/SKILL.md +0 -215
- package/src/core/skills/api-documentation-generator/SKILL.md +0 -65
- package/src/core/skills/changelog-entry/SKILL.md +0 -55
- package/src/core/skills/commit-message-formatter/SKILL.md +0 -50
- package/src/core/skills/deployment-guide-generator/SKILL.md +0 -84
- package/src/core/skills/diagram-generator/SKILL.md +0 -65
- package/src/core/skills/error-handler-template/SKILL.md +0 -78
- package/src/core/skills/migration-checklist/SKILL.md +0 -82
- package/src/core/skills/pr-description/SKILL.md +0 -65
- package/src/core/skills/sql-schema-generator/SKILL.md +0 -69
- package/src/core/skills/story-skeleton/SKILL.md +0 -34
- package/src/core/skills/test-case-generator/SKILL.md +0 -63
- package/src/core/skills/type-definitions/SKILL.md +0 -65
- package/src/core/skills/validation-schema-generator/SKILL.md +0 -64
- package/src/core/skills/writing-skills/SKILL.md +0 -352
- package/src/core/skills/writing-skills/testing-skills-with-subagents.md +0 -232
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: error-handler-template
|
|
3
|
-
description: Generate error handling boilerplate with custom error classes and try/catch patterns
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# error-handler-template
|
|
7
|
-
|
|
8
|
-
Generate error handling boilerplate for different languages.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "error handling", "try catch", "error handler", "exception handling"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Implementing error handling for new features
|
|
15
|
-
- Standardizing error responses across API
|
|
16
|
-
- Creating error logging patterns
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates language-specific error handling code including:
|
|
20
|
-
- **Error classes** with custom fields
|
|
21
|
-
- **Try/catch patterns** for common scenarios
|
|
22
|
-
- **Error middleware** for API servers
|
|
23
|
-
- **Logging integration** for errors
|
|
24
|
-
- **User-friendly error messages**
|
|
25
|
-
- **HTTP status code mapping**
|
|
26
|
-
- **Stack trace and context capture**
|
|
27
|
-
|
|
28
|
-
Supports: JavaScript/TypeScript, Python, Java, Go, Rust
|
|
29
|
-
|
|
30
|
-
## Output
|
|
31
|
-
Error handling code ready to integrate
|
|
32
|
-
|
|
33
|
-
## Example Activation
|
|
34
|
-
User: "Create error handling for login endpoint"
|
|
35
|
-
Skill: Generates (TypeScript):
|
|
36
|
-
```typescript
|
|
37
|
-
// Custom error class
|
|
38
|
-
class AuthError extends Error {
|
|
39
|
-
constructor(
|
|
40
|
-
public code: string,
|
|
41
|
-
public statusCode: number,
|
|
42
|
-
message: string,
|
|
43
|
-
public context?: Record<string, any>
|
|
44
|
-
) {
|
|
45
|
-
super(message);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Try/catch pattern
|
|
50
|
-
async function login(email: string, password: string) {
|
|
51
|
-
try {
|
|
52
|
-
const user = await findUserByEmail(email);
|
|
53
|
-
if (!user) {
|
|
54
|
-
throw new AuthError('USER_NOT_FOUND', 404, 'User not found', { email });
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const isValid = await verifyPassword(password, user.passwordHash);
|
|
58
|
-
if (!isValid) {
|
|
59
|
-
logger.warn('Invalid password attempt', { email });
|
|
60
|
-
throw new AuthError(
|
|
61
|
-
'INVALID_CREDENTIALS',
|
|
62
|
-
401,
|
|
63
|
-
'Invalid email or password'
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return generateToken(user);
|
|
68
|
-
} catch (error) {
|
|
69
|
-
if (error instanceof AuthError) {
|
|
70
|
-
logger.error(error.message, { code: error.code, context: error.context });
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
// Handle unexpected errors
|
|
74
|
-
logger.error('Unexpected error in login', { error });
|
|
75
|
-
throw new AuthError('INTERNAL_ERROR', 500, 'Internal server error');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
```
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: migration-checklist
|
|
3
|
-
description: Generate data migration checklist with validation, rollback, and zero-downtime procedures
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# migration-checklist
|
|
7
|
-
|
|
8
|
-
Generate data migration checklist.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "migration", "zero-downtime", "data migration", "migration checklist"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Planning data migrations (schema changes, zero-downtime)
|
|
15
|
-
- Moving data between systems
|
|
16
|
-
- Large-scale data transformations
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates comprehensive migration checklist including:
|
|
20
|
-
- **Pre-migration validation** (backup, verify counts)
|
|
21
|
-
- **Migration phases** (dual-write, backfill, switch)
|
|
22
|
-
- **Rollback procedures** (tested and documented)
|
|
23
|
-
- **Data validation rules** (checksums, counts, integrity)
|
|
24
|
-
- **Monitoring during migration** (watch for anomalies)
|
|
25
|
-
- **Post-migration verification** (smoke tests, queries)
|
|
26
|
-
- **Cleanup procedures** (remove old schema/data)
|
|
27
|
-
- **Communication timeline**
|
|
28
|
-
|
|
29
|
-
Coordinates with datamigration agent for detailed migration planning.
|
|
30
|
-
|
|
31
|
-
## Output
|
|
32
|
-
Ready-to-execute migration checklist
|
|
33
|
-
|
|
34
|
-
## Example Activation
|
|
35
|
-
User: "Plan zero-downtime migration from sessions to JWT"
|
|
36
|
-
Skill: Generates:
|
|
37
|
-
```markdown
|
|
38
|
-
## Migration Checklist: Session → JWT Migration
|
|
39
|
-
|
|
40
|
-
### Phase 1: Preparation (pre-migration)
|
|
41
|
-
- [ ] Create full database backup (test restore)
|
|
42
|
-
- [ ] Verify staging matches production (data volume, schema)
|
|
43
|
-
- [ ] Prepare rollback procedure (documented and tested)
|
|
44
|
-
- [ ] Brief team on timeline and communication
|
|
45
|
-
- [ ] Schedule 2-hour maintenance window
|
|
46
|
-
- [ ] Set up monitoring dashboards
|
|
47
|
-
|
|
48
|
-
### Phase 2: Dual-Write (no downtime)
|
|
49
|
-
- [ ] Deploy code that writes to BOTH sessions + JWT
|
|
50
|
-
- [ ] Monitor for errors (should be zero)
|
|
51
|
-
- [ ] Backfill JWT for existing sessions (background job)
|
|
52
|
-
- [ ] Track conversion progress (% of sessions migrated)
|
|
53
|
-
- [ ] Once 100% converted: Wait 24h for safety
|
|
54
|
-
|
|
55
|
-
### Phase 3: Verify
|
|
56
|
-
- [ ] Check record counts match:
|
|
57
|
-
- SELECT COUNT(*) FROM sessions
|
|
58
|
-
- SELECT COUNT(*) FROM jwt_tokens
|
|
59
|
-
- Should be equal
|
|
60
|
-
- [ ] Validate JWT expiration timestamps
|
|
61
|
-
- [ ] Check no orphaned sessions
|
|
62
|
-
- [ ] Spot-check 100 random sessions
|
|
63
|
-
|
|
64
|
-
### Phase 4: Switch Reads
|
|
65
|
-
- [ ] Deploy code to read from JWT instead of sessions
|
|
66
|
-
- [ ] Monitor error rate (should be zero)
|
|
67
|
-
- [ ] Keep writing to BOTH for 24h (safety)
|
|
68
|
-
- [ ] Verify user experience
|
|
69
|
-
|
|
70
|
-
### Phase 5: Cleanup
|
|
71
|
-
- [ ] Stop writing to sessions table
|
|
72
|
-
- [ ] Archive sessions (backup)
|
|
73
|
-
- [ ] Drop sessions table
|
|
74
|
-
- [ ] Update documentation
|
|
75
|
-
|
|
76
|
-
### Rollback Point
|
|
77
|
-
If issues during Phase 1-2: Revert to code writing sessions only (backward compatible)
|
|
78
|
-
If issues during Phase 3-4: Switch reads back to sessions (keep JWT as backup)
|
|
79
|
-
|
|
80
|
-
**Estimated Timeline**: 3-4 hours total
|
|
81
|
-
**Expected Downtime**: 0 (zero-downtime migration)
|
|
82
|
-
```
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-description
|
|
3
|
-
description: Generate pull request description with testing instructions and comprehensive checklist
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# pr-description
|
|
7
|
-
|
|
8
|
-
Generate pull request description with testing instructions.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "pull request", "create PR", "merge request", "pr description", "pr body"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Creating pull request on GitHub/GitLab
|
|
15
|
-
- Need comprehensive PR description with testing steps
|
|
16
|
-
- Documenting changes for code review
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates complete PR description including:
|
|
20
|
-
- **Summary**: 2-3 sentence overview of changes
|
|
21
|
-
- **Related Issues**: Links to GitHub issues/stories
|
|
22
|
-
- **Changes Made**: Bulleted list of modifications
|
|
23
|
-
- **Testing Instructions**: Step-by-step testing guide
|
|
24
|
-
- **Checklist**: Pre-merge verification items
|
|
25
|
-
- **Migration Guide**: Steps for deploying if needed
|
|
26
|
-
- **Screenshots/Links**: If UI changes or demos
|
|
27
|
-
|
|
28
|
-
Coordinates with relevant agents (testing, documentation, etc.).
|
|
29
|
-
|
|
30
|
-
## Output
|
|
31
|
-
Ready-to-paste PR description
|
|
32
|
-
|
|
33
|
-
## Example Activation
|
|
34
|
-
User: "Create PR for user login feature"
|
|
35
|
-
Skill: Generates:
|
|
36
|
-
```markdown
|
|
37
|
-
## Summary
|
|
38
|
-
Implements user authentication system with JWT tokens and rate limiting.
|
|
39
|
-
Includes login endpoint, password reset flow, and token refresh.
|
|
40
|
-
|
|
41
|
-
## Related Issues
|
|
42
|
-
Closes #42 (User Authentication Epic)
|
|
43
|
-
Relates to: US-0001, US-0002, US-0003
|
|
44
|
-
|
|
45
|
-
## Changes Made
|
|
46
|
-
- ✨ POST /api/auth/login endpoint with JWT generation
|
|
47
|
-
- ✨ POST /api/auth/logout endpoint
|
|
48
|
-
- ✨ Password reset flow with email verification
|
|
49
|
-
- 🐛 Fixed rate limiting to prevent brute force
|
|
50
|
-
- 📝 Updated API documentation
|
|
51
|
-
- ✅ Added 45 test cases (98% coverage)
|
|
52
|
-
|
|
53
|
-
## Testing Instructions
|
|
54
|
-
1. Start dev server: `npm run dev`
|
|
55
|
-
2. Test login: curl -X POST http://localhost:3000/api/auth/login
|
|
56
|
-
3. Verify JWT: Check token expiration (24h)
|
|
57
|
-
4. Test rate limiting: 5+ failed attempts should block
|
|
58
|
-
|
|
59
|
-
## Checklist
|
|
60
|
-
- [x] Tests passing
|
|
61
|
-
- [x] Code coverage >80%
|
|
62
|
-
- [x] No console errors
|
|
63
|
-
- [x] API docs updated
|
|
64
|
-
- [x] Database migrations run
|
|
65
|
-
```
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sql-schema-generator
|
|
3
|
-
description: Generate SQL schemas with migrations and database table definitions
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# sql-schema-generator
|
|
7
|
-
|
|
8
|
-
Generate SQL schemas with migrations.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "SQL", "schema", "database design", "CREATE TABLE", "migration"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Designing database schemas
|
|
15
|
-
- Creating migrations for new features
|
|
16
|
-
- Defining table structures and relationships
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates SQL DDL statements including:
|
|
20
|
-
- **CREATE TABLE** statements with data types
|
|
21
|
-
- **Indexes** for performance
|
|
22
|
-
- **Foreign keys** for relationships
|
|
23
|
-
- **Constraints** (NOT NULL, UNIQUE, CHECK)
|
|
24
|
-
- **Default values** where applicable
|
|
25
|
-
- **Comments** explaining purpose
|
|
26
|
-
|
|
27
|
-
Also generates:
|
|
28
|
-
- **Migration files** (with up/down versions)
|
|
29
|
-
- **Rollback procedures**
|
|
30
|
-
- **Data migration scripts** if needed
|
|
31
|
-
|
|
32
|
-
Coordinates with database agent.
|
|
33
|
-
|
|
34
|
-
## Output
|
|
35
|
-
SQL migration files in migrations/ directory
|
|
36
|
-
|
|
37
|
-
## Example Activation
|
|
38
|
-
User: "Create users and sessions tables"
|
|
39
|
-
Skill: Generates:
|
|
40
|
-
```sql
|
|
41
|
-
-- Migration: 2025-10-28_create_users_table
|
|
42
|
-
|
|
43
|
-
-- UP: Create tables
|
|
44
|
-
CREATE TABLE users (
|
|
45
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
46
|
-
email VARCHAR(255) NOT NULL UNIQUE,
|
|
47
|
-
password_hash VARCHAR(255) NOT NULL,
|
|
48
|
-
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
49
|
-
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
50
|
-
is_active BOOLEAN DEFAULT true,
|
|
51
|
-
INDEX idx_email (email),
|
|
52
|
-
INDEX idx_created_at (created_at)
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
CREATE TABLE sessions (
|
|
56
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
57
|
-
user_id UUID NOT NULL,
|
|
58
|
-
token VARCHAR(500) NOT NULL UNIQUE,
|
|
59
|
-
expires_at TIMESTAMP NOT NULL,
|
|
60
|
-
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
61
|
-
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
|
62
|
-
INDEX idx_user_id (user_id),
|
|
63
|
-
INDEX idx_expires_at (expires_at)
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
-- DOWN: Drop tables (for rollback)
|
|
67
|
-
DROP TABLE IF EXISTS sessions;
|
|
68
|
-
DROP TABLE IF EXISTS users;
|
|
69
|
-
```
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: story-skeleton
|
|
3
|
-
description: Auto-generate story template with boilerplate sections pre-filled
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# story-skeleton
|
|
7
|
-
|
|
8
|
-
Auto-generate story template with boilerplate sections pre-filled.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "create story", "new story", "story template", "story skeleton"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- User requests to create a new user story
|
|
15
|
-
- Need to quickly scaffold a story structure
|
|
16
|
-
- Starting epic implementation
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates story YAML frontmatter + markdown template with:
|
|
20
|
-
- Story ID (auto-generated from epic context)
|
|
21
|
-
- Epic reference
|
|
22
|
-
- Title and description sections
|
|
23
|
-
- Acceptance Criteria (Given/When/Then format stubs)
|
|
24
|
-
- Architecture Context section with 6 subsections
|
|
25
|
-
- Previous Story Insights section
|
|
26
|
-
- Testing Strategy section
|
|
27
|
-
- Dev Agent Record template
|
|
28
|
-
|
|
29
|
-
## Output
|
|
30
|
-
Complete story file ready for population by epic-planner agent.
|
|
31
|
-
|
|
32
|
-
## Example Activation
|
|
33
|
-
User: "Create a story for user login API"
|
|
34
|
-
Skill: Generates story skeleton with all sections, ready for epic-planner to fill in details
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-case-generator
|
|
3
|
-
description: Generate test cases from acceptance criteria with unit, integration, and E2E scenarios
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# test-case-generator
|
|
7
|
-
|
|
8
|
-
Generate test cases from acceptance criteria.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "test cases", "test plan", "from AC", "test from acceptance"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Converting acceptance criteria to test cases
|
|
15
|
-
- Creating test stubs for new features
|
|
16
|
-
- Planning test coverage
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Converts Given/When/Then acceptance criteria into:
|
|
20
|
-
- **Unit test cases** (if applicable)
|
|
21
|
-
- **Integration test cases** (API, database)
|
|
22
|
-
- **E2E test cases** (full user workflow)
|
|
23
|
-
- **Negative test cases** (error scenarios)
|
|
24
|
-
- **Edge cases** (boundary conditions)
|
|
25
|
-
|
|
26
|
-
Generates test case names, setup steps, assertions, and expected results.
|
|
27
|
-
|
|
28
|
-
Coordinates with testing and qa agents.
|
|
29
|
-
|
|
30
|
-
## Output
|
|
31
|
-
Test case stub at docs/07-testing/test-cases/<STORY_ID>.md
|
|
32
|
-
|
|
33
|
-
## Example Activation
|
|
34
|
-
User: "Generate test cases from user login AC"
|
|
35
|
-
Skill: Generates:
|
|
36
|
-
```markdown
|
|
37
|
-
## Test Cases for User Login (US-0001)
|
|
38
|
-
|
|
39
|
-
### TC-001: Valid login succeeds
|
|
40
|
-
Given: Valid user registered with email/password
|
|
41
|
-
When: POST to /api/auth/login with valid credentials
|
|
42
|
-
Then: Returns 200 with JWT token (24h expiration)
|
|
43
|
-
|
|
44
|
-
### TC-002: Wrong password fails
|
|
45
|
-
Given: User exists, wrong password provided
|
|
46
|
-
When: POST to /api/auth/login
|
|
47
|
-
Then: Returns 401 with error message
|
|
48
|
-
|
|
49
|
-
### TC-003: Rate limiting active
|
|
50
|
-
Given: User failed login 5 times
|
|
51
|
-
When: Attempt 6th login
|
|
52
|
-
Then: Returns 429 Too Many Requests
|
|
53
|
-
|
|
54
|
-
### TC-004: Invalid email format
|
|
55
|
-
Given: Malformed email address
|
|
56
|
-
When: POST to /api/auth/login
|
|
57
|
-
Then: Returns 400 Bad Request
|
|
58
|
-
|
|
59
|
-
### Edge Cases
|
|
60
|
-
- Empty email/password
|
|
61
|
-
- SQL injection attempts
|
|
62
|
-
- Token validation after expiration
|
|
63
|
-
```
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: type-definitions
|
|
3
|
-
description: Generate TypeScript interfaces and types from data structure descriptions
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# type-definitions
|
|
7
|
-
|
|
8
|
-
Generate TypeScript interfaces and types from descriptions.
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "TypeScript", "types", "@interface", "type definition", "interface definition"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Creating TypeScript interfaces for data structures
|
|
15
|
-
- Defining function signatures
|
|
16
|
-
- Type-safe API request/response types
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates TypeScript/TypeScript-compatible types including:
|
|
20
|
-
- **Interfaces** for data structures
|
|
21
|
-
- **Type aliases** for unions and primitives
|
|
22
|
-
- **Enums** for fixed sets of values
|
|
23
|
-
- **Generic types** for reusable patterns
|
|
24
|
-
- **JSDoc comments** for IDE intellisense
|
|
25
|
-
- **Type guards** for runtime validation
|
|
26
|
-
|
|
27
|
-
Includes proper typing with optionals, required fields, and readonly modifiers.
|
|
28
|
-
|
|
29
|
-
## Output
|
|
30
|
-
TypeScript code ready to add to types/ directory
|
|
31
|
-
|
|
32
|
-
## Example Activation
|
|
33
|
-
User: "Create types for User and LoginRequest"
|
|
34
|
-
Skill: Generates:
|
|
35
|
-
```typescript
|
|
36
|
-
/** User account information */
|
|
37
|
-
export interface User {
|
|
38
|
-
id: string;
|
|
39
|
-
email: string;
|
|
40
|
-
passwordHash: string;
|
|
41
|
-
createdAt: Date;
|
|
42
|
-
updatedAt: Date;
|
|
43
|
-
isActive: boolean;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/** Login request payload */
|
|
47
|
-
export interface LoginRequest {
|
|
48
|
-
email: string;
|
|
49
|
-
password: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/** Login response payload */
|
|
53
|
-
export interface LoginResponse {
|
|
54
|
-
token: string;
|
|
55
|
-
expiresIn: number;
|
|
56
|
-
user: Omit<User, 'passwordHash'>;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** Authentication error response */
|
|
60
|
-
export interface AuthError {
|
|
61
|
-
code: 'INVALID_CREDENTIALS' | 'USER_NOT_FOUND' | 'RATE_LIMITED';
|
|
62
|
-
message: string;
|
|
63
|
-
retryAfter?: number;
|
|
64
|
-
}
|
|
65
|
-
```
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: validation-schema-generator
|
|
3
|
-
description: Generate input validation schemas for Joi, Zod, Yup, or Pydantic
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# validation-schema-generator
|
|
7
|
-
|
|
8
|
-
Generate input validation schemas (Joi, Zod, Yup).
|
|
9
|
-
|
|
10
|
-
## Activation Keywords
|
|
11
|
-
- "validation", "schema", "joi", "zod", "yup", "validate input"
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
- Creating request body validation
|
|
15
|
-
- Form validation schemas
|
|
16
|
-
- Input sanitization and validation
|
|
17
|
-
|
|
18
|
-
## What This Does
|
|
19
|
-
Generates validation schemas for popular libraries:
|
|
20
|
-
- **Joi** (Node.js)
|
|
21
|
-
- **Zod** (TypeScript)
|
|
22
|
-
- **Yup** (React forms)
|
|
23
|
-
- **Pydantic** (Python)
|
|
24
|
-
|
|
25
|
-
Includes:
|
|
26
|
-
- **Required/optional fields**
|
|
27
|
-
- **Type validation** (string, number, email, etc.)
|
|
28
|
-
- **Length constraints** (min, max)
|
|
29
|
-
- **Pattern validation** (regex)
|
|
30
|
-
- **Custom validators**
|
|
31
|
-
- **Error messages** (user-friendly)
|
|
32
|
-
- **Transformation rules** (trim, lowercase, etc.)
|
|
33
|
-
|
|
34
|
-
## Output
|
|
35
|
-
Validation schema code ready for integration
|
|
36
|
-
|
|
37
|
-
## Example Activation
|
|
38
|
-
User: "Create Zod validation for login request"
|
|
39
|
-
Skill: Generates:
|
|
40
|
-
```typescript
|
|
41
|
-
import { z } from 'zod';
|
|
42
|
-
|
|
43
|
-
export const loginRequestSchema = z.object({
|
|
44
|
-
email: z
|
|
45
|
-
.string('Email is required')
|
|
46
|
-
.email('Invalid email format')
|
|
47
|
-
.toLowerCase()
|
|
48
|
-
.trim(),
|
|
49
|
-
password: z
|
|
50
|
-
.string('Password is required')
|
|
51
|
-
.min(8, 'Password must be at least 8 characters')
|
|
52
|
-
.regex(/[A-Z]/, 'Password must contain uppercase')
|
|
53
|
-
.regex(/[0-9]/, 'Password must contain number'),
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
export type LoginRequest = z.infer<typeof loginRequestSchema>;
|
|
57
|
-
|
|
58
|
-
// Usage
|
|
59
|
-
const validateLogin = (data: unknown) => {
|
|
60
|
-
return loginRequestSchema.parse(data);
|
|
61
|
-
};
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Also generates Joi, Yup, Pydantic versions.
|