@wipal/agent-team 1.0.3 → 1.1.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.
Files changed (124) hide show
  1. package/.claude/commands/skills/discover.md +127 -0
  2. package/.claude/commands/skills/install.md +225 -0
  3. package/.claude/commands/skills/review.md +234 -0
  4. package/.claude/commands/utils/learn.md +142 -0
  5. package/.claude/commands/utils/retrospect.md +62 -0
  6. package/.claude/commands/utils/switch.md +113 -0
  7. package/.claude/commands/utils/sync.md +183 -0
  8. package/.claude/rules/common/general-rules.md +6 -0
  9. package/.claude/rules/role-rules/dev-be-rules.md +241 -0
  10. package/.claude/rules/role-rules/dev-fe-rules.md +76 -0
  11. package/.claude/skills/SKILL-INDEX.md +24 -5
  12. package/.claude/skills/core/knowledge-graph/SKILL.md +214 -0
  13. package/.claude/skills/core/sequential-thinking/SKILL.md +112 -0
  14. package/.claude/skills/core/sequential-thinking/references/advanced.md +122 -0
  15. package/.claude/skills/core/sequential-thinking/references/examples.md +274 -0
  16. package/.claude/skills/domain/architecture/c4-architecture/SKILL.md +314 -0
  17. package/.claude/skills/domain/architecture/c4-architecture/references/advanced-patterns.md +552 -0
  18. package/.claude/skills/domain/architecture/c4-architecture/references/c4-syntax.md +492 -0
  19. package/.claude/skills/domain/architecture/c4-architecture/references/common-mistakes.md +437 -0
  20. package/.claude/skills/domain/architecture/mermaid-diagrams/SKILL.md +238 -0
  21. package/.claude/skills/domain/architecture/mermaid-diagrams/references/advanced-features.md +556 -0
  22. package/.claude/skills/domain/architecture/mermaid-diagrams/references/architecture-diagrams.md +192 -0
  23. package/.claude/skills/domain/architecture/mermaid-diagrams/references/c4-diagrams.md +410 -0
  24. package/.claude/skills/domain/architecture/mermaid-diagrams/references/class-diagrams.md +361 -0
  25. package/.claude/skills/domain/architecture/mermaid-diagrams/references/erd-diagrams.md +510 -0
  26. package/.claude/skills/domain/architecture/mermaid-diagrams/references/flowcharts.md +450 -0
  27. package/.claude/skills/domain/architecture/mermaid-diagrams/references/sequence-diagrams.md +394 -0
  28. package/.claude/skills/domain/backend/testing-be/SKILL.md +121 -17
  29. package/.claude/skills/domain/design/design-system/SKILL.md +169 -0
  30. package/.claude/skills/domain/design/html-css-output/SKILL.md +253 -0
  31. package/.claude/skills/domain/design/mockup-creation/SKILL.md +230 -0
  32. package/.claude/skills/domain/design/responsive-design/SKILL.md +207 -0
  33. package/.claude/skills/domain/design/ui-design/SKILL.md +124 -0
  34. package/.claude/skills/domain/frontend/testing-fe/SKILL.md +143 -38
  35. package/.claude/skills/domain/frontend/ui-ux-pro-max/README.md +45 -0
  36. package/.claude/skills/domain/frontend/ui-ux-pro-max/SKILL.md +404 -0
  37. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/charts.csv +26 -0
  38. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/colors.csv +97 -0
  39. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/icons.csv +101 -0
  40. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/landing.csv +31 -0
  41. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/products.csv +97 -0
  42. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/react-performance.csv +45 -0
  43. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  44. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  45. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  46. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  47. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  48. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  49. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  50. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  51. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -0
  52. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  53. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  54. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  55. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  56. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/styles.csv +68 -0
  57. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/typography.csv +58 -0
  58. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  59. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  60. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/web-interface.csv +31 -0
  61. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/core.py +253 -0
  62. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -0
  63. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/search.py +114 -0
  64. package/.claude/skills/domain/product/requirements-clarity/SKILL.md +340 -0
  65. package/.claude/skills/skills-registry.yaml +103 -8
  66. package/README.md +107 -33
  67. package/README.npm.md +252 -0
  68. package/TUTORIAL.md +256 -0
  69. package/bin/agent-team.js +26 -7
  70. package/config/roles.yaml +107 -0
  71. package/docs/01-architecture.md +699 -0
  72. package/docs/02-setup-guide.md +634 -0
  73. package/docs/03-skills-guide.md +628 -0
  74. package/docs/04-workflows.md +792 -0
  75. package/docs/05-model-strategy.md +550 -0
  76. package/docs/06-extend-guide.md +1226 -0
  77. package/docs/07-quick-reference.md +578 -0
  78. package/docs/08-skills-discovery.md +342 -0
  79. package/docs/README.md +134 -0
  80. package/docs/rqm.md +560 -0
  81. package/package.json +10 -4
  82. package/scripts/postinstall.js +46 -0
  83. package/src/commands/add.js +131 -67
  84. package/src/commands/init.js +419 -9
  85. package/src/commands/list.js +20 -16
  86. package/src/commands/projects.js +127 -0
  87. package/src/commands/setup-hooks.js +261 -0
  88. package/src/index.js +0 -1
  89. package/src/utils/file-utils.js +147 -50
  90. package/src/utils/global-registry.js +224 -0
  91. package/templates/CLAUDE.md.tmpl +128 -20
  92. package/templates/MEMORY.md.tmpl +119 -0
  93. package/templates/agent.md.tmpl +205 -0
  94. package/templates/code/nestjs-controller.ts.tmpl +49 -0
  95. package/templates/code/nestjs-dto.ts.tmpl +63 -0
  96. package/templates/code/nestjs-service.ts.tmpl +45 -0
  97. package/templates/code/react-component.tsx.tmpl +24 -0
  98. package/templates/code/react-hook.ts.tmpl +54 -0
  99. package/templates/code/test.spec.ts.tmpl +50 -0
  100. package/templates/code/vue-component.vue.tmpl +49 -0
  101. package/templates/code/vue-composable.ts.tmpl +54 -0
  102. package/templates/knowledge.md.tmpl +152 -17
  103. package/templates/meeting-notes.md.tmpl +110 -0
  104. package/templates/memory/hooks.memory.json +50 -0
  105. package/templates/memory/settings.memory.json +16 -0
  106. package/templates/reports/bug-report.md.tmpl +164 -0
  107. package/templates/reports/code-review.md.tmpl +201 -0
  108. package/templates/reports/sprint-report.md.tmpl +218 -0
  109. package/templates/roles/ba.md +53 -0
  110. package/templates/roles/designer.md +82 -0
  111. package/templates/roles/dev-be.md +49 -0
  112. package/templates/roles/dev-fe.md +49 -0
  113. package/templates/roles/devops.md +53 -0
  114. package/templates/roles/pm.md +49 -0
  115. package/templates/roles/qa.md +53 -0
  116. package/templates/roles/sa.md +49 -0
  117. package/templates/roles/tech-lead.md +132 -0
  118. package/templates/skills/memory/memory-status.md +78 -0
  119. package/templates/skills/memory/recall.md +160 -0
  120. package/templates/skills/memory/reflect.md +168 -0
  121. package/templates/skills/memory/remember.md +105 -0
  122. package/templates/tasks/lessons.md.tmpl +77 -0
  123. package/templates/tasks/todo.md.tmpl +53 -0
  124. package/src/commands/switch.js +0 -53
@@ -0,0 +1,49 @@
1
+ import {
2
+ Controller,
3
+ Get,
4
+ Post,
5
+ Put,
6
+ Delete,
7
+ Body,
8
+ Param,
9
+ Query,
10
+ HttpCode,
11
+ HttpStatus,
12
+ } from '@nestjs/common';
13
+ import { {{ServiceName}}Service } from './{{service-name}}.service';
14
+ import { Create{{ResourceName}}Dto, Update{{ResourceName}}Dto, Query{{ResourceName}}Dto } from './dtos';
15
+
16
+ @Controller('{{resource-name}}')
17
+ export class {{ServiceName}}Controller {
18
+ constructor(private readonly {{serviceName}}Service: {{ServiceName}}Service) {}
19
+
20
+ @Get()
21
+ async findAll(@Query() query: Query{{ResourceName}}Dto) {
22
+ return this.{{serviceName}}Service.findAll(query);
23
+ }
24
+
25
+ @Get(':id')
26
+ async findOne(@Param('id') id: string) {
27
+ return this.{{serviceName}}Service.findOne(id);
28
+ }
29
+
30
+ @Post()
31
+ @HttpCode(HttpStatus.CREATED)
32
+ async create(@Body() createDto: Create{{ResourceName}}Dto) {
33
+ return this.{{serviceName}}Service.create(createDto);
34
+ }
35
+
36
+ @Put(':id')
37
+ async update(
38
+ @Param('id') id: string,
39
+ @Body() updateDto: Update{{ResourceName}}Dto,
40
+ ) {
41
+ return this.{{serviceName}}Service.update(id, updateDto);
42
+ }
43
+
44
+ @Delete(':id')
45
+ @HttpCode(HttpStatus.NO_CONTENT)
46
+ async remove(@Param('id') id: string) {
47
+ return this.{{serviceName}}Service.remove(id);
48
+ }
49
+ }
@@ -0,0 +1,63 @@
1
+ import { IsString, IsOptional, IsNumber, IsBoolean, IsDate, IsEmail, IsUrl, Min, Max, MinLength, MaxLength } from 'class-validator';
2
+ import { Type } from 'class-transformer';
3
+ import { ApiProperty, ApiPropertyOptional, PartialType, OmitType } from '@nestjs/swagger';
4
+
5
+ /**
6
+ * DTO for creating a new {{ResourceName}}
7
+ */
8
+ export class Create{{ResourceName}}Dto {
9
+ @ApiProperty({ description: 'Name of the {{resourceName}}' })
10
+ @IsString()
11
+ @MinLength(1)
12
+ @MaxLength(255)
13
+ name: string;
14
+
15
+ @ApiPropertyOptional({ description: 'Description' })
16
+ @IsOptional()
17
+ @IsString()
18
+ @MaxLength(1000)
19
+ description?: string;
20
+
21
+ // TODO: Add additional fields as needed
22
+ }
23
+
24
+ /**
25
+ * DTO for updating an existing {{ResourceName}}
26
+ */
27
+ export class Update{{ResourceName}}Dto extends PartialType(
28
+ OmitType(Create{{ResourceName}}Dto, ['name'] as const),
29
+ ) {
30
+ @ApiPropertyOptional({ description: 'Name of the {{resourceName}}' })
31
+ @IsOptional()
32
+ @IsString()
33
+ @MinLength(1)
34
+ @MaxLength(255)
35
+ name?: string;
36
+ }
37
+
38
+ /**
39
+ * DTO for querying {{ResourceName}} list
40
+ */
41
+ export class Query{{ResourceName}}Dto {
42
+ @ApiPropertyOptional({ default: 1, minimum: 1 })
43
+ @IsOptional()
44
+ @Type(() => Number)
45
+ @IsNumber()
46
+ @Min(1)
47
+ page?: number = 1;
48
+
49
+ @ApiPropertyOptional({ default: 10, minimum: 1, maximum: 100 })
50
+ @IsOptional()
51
+ @Type(() => Number)
52
+ @IsNumber()
53
+ @Min(1)
54
+ @Max(100)
55
+ limit?: number = 10;
56
+
57
+ @ApiPropertyOptional({ description: 'Search by name' })
58
+ @IsOptional()
59
+ @IsString()
60
+ search?: string;
61
+
62
+ // TODO: Add additional query fields as needed
63
+ }
@@ -0,0 +1,45 @@
1
+ import { Injectable, NotFoundException } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { Repository } from 'typeorm';
4
+ // import { {{EntityName}} } from './{{entity-name}}.entity';
5
+ import { Create{{ResourceName}}Dto, Update{{ResourceName}}Dto, Query{{ResourceName}}Dto } from './dtos';
6
+
7
+ @Injectable()
8
+ export class {{ServiceName}}Service {
9
+ constructor(
10
+ // @InjectRepository({{EntityName}})
11
+ // private readonly repository: Repository<{{EntityName}}>,
12
+ ) {}
13
+
14
+ async findAll(query: Query{{ResourceName}}Dto) {
15
+ // TODO: Implement with pagination
16
+ return [];
17
+ }
18
+
19
+ async findOne(id: string) {
20
+ // const entity = await this.repository.findOne({ where: { id } });
21
+ // if (!entity) {
22
+ // throw new NotFoundException(`{{ResourceName}} with id ${id} not found`);
23
+ // }
24
+ // return entity;
25
+ return null;
26
+ }
27
+
28
+ async create(createDto: Create{{ResourceName}}Dto) {
29
+ // const entity = this.repository.create(createDto);
30
+ // return this.repository.save(entity);
31
+ return null;
32
+ }
33
+
34
+ async update(id: string, updateDto: Update{{ResourceName}}Dto) {
35
+ // const entity = await this.findOne(id);
36
+ // Object.assign(entity, updateDto);
37
+ // return this.repository.save(entity);
38
+ return null;
39
+ }
40
+
41
+ async remove(id: string) {
42
+ // const entity = await this.findOne(id);
43
+ // await this.repository.remove(entity);
44
+ }
45
+ }
@@ -0,0 +1,24 @@
1
+ import { useState } from 'react';
2
+
3
+ // Types
4
+ interface {{ComponentName}}Props {
5
+ // TODO: Define props
6
+ }
7
+
8
+ /**
9
+ * {{ComponentName}} - [Description]
10
+ *
11
+ * @example
12
+ * <{{ComponentName}} />
13
+ */
14
+ export function {{ComponentName}}({ }: {{ComponentName}}Props) {
15
+ const [state, setState] = useState<string>('');
16
+
17
+ return (
18
+ <div className="{{component-name}}">
19
+ {/* TODO: Implement component */}
20
+ </div>
21
+ );
22
+ }
23
+
24
+ export default {{ComponentName}};
@@ -0,0 +1,54 @@
1
+ import { useState, useCallback, useEffect } from 'react';
2
+
3
+ // Types
4
+ interface Use{{HookName}}Options {
5
+ // TODO: Define options
6
+ }
7
+
8
+ interface Use{{HookName}}Return {
9
+ // TODO: Define return type
10
+ data: unknown;
11
+ isLoading: boolean;
12
+ error: Error | null;
13
+ }
14
+
15
+ /**
16
+ * use{{HookName}} - [Description]
17
+ *
18
+ * @param options - Configuration options
19
+ * @returns {Use{{HookName}}Return}
20
+ *
21
+ * @example
22
+ * const { data, isLoading, error } = use{{HookName}}();
23
+ */
24
+ export function use{{HookName}}(
25
+ options: Use{{HookName}}Options = {}
26
+ ): Use{{HookName}}Return {
27
+ const [data, setData] = useState<unknown>(null);
28
+ const [isLoading, setIsLoading] = useState(false);
29
+ const [error, setError] = useState<Error | null>(null);
30
+
31
+ useEffect(() => {
32
+ // TODO: Implement side effects
33
+ }, []);
34
+
35
+ const refetch = useCallback(async () => {
36
+ setIsLoading(true);
37
+ setError(null);
38
+ try {
39
+ // TODO: Implement fetch logic
40
+ } catch (err) {
41
+ setError(err instanceof Error ? err : new Error('Unknown error'));
42
+ } finally {
43
+ setIsLoading(false);
44
+ }
45
+ }, []);
46
+
47
+ return {
48
+ data,
49
+ isLoading,
50
+ error,
51
+ };
52
+ }
53
+
54
+ export default use{{HookName}};
@@ -0,0 +1,50 @@
1
+ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
+
3
+ // Import the module to test
4
+ // import { {{FunctionName}} } from './{{file-name}}';
5
+
6
+ describe('{{FunctionName}}', () => {
7
+ beforeEach(() => {
8
+ // Setup before each test
9
+ });
10
+
11
+ afterEach(() => {
12
+ // Cleanup after each test
13
+ vi.clearAllMocks();
14
+ });
15
+
16
+ describe('happy path', () => {
17
+ it('should return expected result for valid input', () => {
18
+ // Arrange
19
+ const input = {};
20
+ const expected = {};
21
+
22
+ // Act
23
+ // const result = {{FunctionName}}(input);
24
+
25
+ // Assert
26
+ // expect(result).toEqual(expected);
27
+ expect(true).toBe(true);
28
+ });
29
+ });
30
+
31
+ describe('edge cases', () => {
32
+ it('should handle empty input', () => {
33
+ // TODO: Implement test
34
+ expect(true).toBe(true);
35
+ });
36
+
37
+ it('should handle null/undefined input', () => {
38
+ // TODO: Implement test
39
+ expect(true).toBe(true);
40
+ });
41
+ });
42
+
43
+ describe('error cases', () => {
44
+ it('should throw error for invalid input', () => {
45
+ // TODO: Implement test
46
+ // expect(() => {{FunctionName}}(invalidInput)).toThrow();
47
+ expect(true).toBe(true);
48
+ });
49
+ });
50
+ });
@@ -0,0 +1,49 @@
1
+ <script setup lang="ts">
2
+ import { ref, computed, onMounted } from 'vue';
3
+
4
+ // Props
5
+ interface Props {
6
+ // TODO: Define props
7
+ }
8
+
9
+ const props = withDefaults(defineProps<Props>(), {
10
+ // TODO: Define defaults
11
+ });
12
+
13
+ // Emits
14
+ const emit = defineEmits<{
15
+ // TODO: Define emits
16
+ // (e: 'update', value: string): void;
17
+ }>();
18
+
19
+ // State
20
+ const isLoading = ref(false);
21
+
22
+ // Computed
23
+ const computedValue = computed(() => {
24
+ // TODO: Implement computed
25
+ return null;
26
+ });
27
+
28
+ // Methods
29
+ function handleClick() {
30
+ // TODO: Implement
31
+ }
32
+
33
+ // Lifecycle
34
+ onMounted(() => {
35
+ // TODO: Implement
36
+ });
37
+ </script>
38
+
39
+ <template>
40
+ <div class="{{component-name}}">
41
+ <!-- TODO: Implement template -->
42
+ </div>
43
+ </template>
44
+
45
+ <style scoped>
46
+ .{{component-name}} {
47
+ /* TODO: Add styles */
48
+ }
49
+ </style>
@@ -0,0 +1,54 @@
1
+ import { ref, computed, onMounted, onUnmounted } from 'vue';
2
+
3
+ // Types
4
+ interface Use{{ComposableName}}Options {
5
+ // TODO: Define options
6
+ }
7
+
8
+ interface Use{{ComposableName}}Return {
9
+ // TODO: Define return type
10
+ data: ReturnType<typeof ref<unknown>>;
11
+ isLoading: ReturnType<typeof ref<boolean>>;
12
+ error: ReturnType<typeof ref<Error | null>>;
13
+ }
14
+
15
+ /**
16
+ * use{{ComposableName}} - [Description]
17
+ *
18
+ * @param options - Configuration options
19
+ * @returns {Use{{ComposableName}}Return}
20
+ *
21
+ * @example
22
+ * const { data, isLoading, error } = use{{ComposableName}}();
23
+ */
24
+ export function use{{ComposableName}}(
25
+ options: Use{{ComposableName}}Options = {}
26
+ ): Use{{ComposableName}}Return {
27
+ const data = ref<unknown>(null);
28
+ const isLoading = ref(false);
29
+ const error = ref<Error | null>(null);
30
+
31
+ const fetchData = async () => {
32
+ isLoading.value = true;
33
+ error.value = null;
34
+ try {
35
+ // TODO: Implement fetch logic
36
+ } catch (err) {
37
+ error.value = err instanceof Error ? err : new Error('Unknown error');
38
+ } finally {
39
+ isLoading.value = false;
40
+ }
41
+ };
42
+
43
+ onMounted(() => {
44
+ fetchData();
45
+ });
46
+
47
+ return {
48
+ data,
49
+ isLoading,
50
+ error,
51
+ };
52
+ }
53
+
54
+ export default use{{ComposableName}};
@@ -1,31 +1,166 @@
1
- # {{AGENT_NAME}} Knowledge Base
1
+ # {{AGENT_NAME}} - Knowledge Base
2
+
3
+ > **Purpose**: Long-term knowledge, self-improvement, case studies, patterns learned over time.
4
+ >
5
+ > This file grows with experience. Review and curate periodically.
2
6
 
3
7
  ## Metadata
4
8
  - created: {{CREATED_AT}}
5
9
  - last_updated: {{CREATED_AT}}
6
- - base_role: {{ROLE_NAME}}
10
+ - role: {{ROLE_NAME}}
11
+ - expertise_level: Beginner
12
+
13
+ ---
14
+
15
+ ## Skills & Competencies
16
+
17
+ ### Core Skills
18
+ | Skill | Level | Notes |
19
+ |-------|-------|-------|
20
+ | [Skill 1] | Learning/Practicing/Expert | [Notes] |
21
+
22
+ ### Skills to Develop
23
+ - [ ] [Skill 1] - [Why needed]
24
+
25
+ ---
7
26
 
8
- ## Project Context
9
- [Project-specific information will be added as you work]
27
+ ## Case Studies
10
28
 
11
- ## Learned Patterns
12
- (Patterns will be added via /retrospect-work)
29
+ > Real examples from this project - what worked, what didn't
30
+
31
+ ### Case 1: [Title]
32
+ **Context**: [When/where this happened]
33
+ **Problem**: [What was the challenge]
34
+ **Solution**: [How it was solved]
35
+ **Outcome**: [Result]
36
+ **Pattern**: [Reusable pattern extracted]
37
+
38
+ ### Case 2: [Title]
39
+ ...
40
+
41
+ ---
42
+
43
+ ## Patterns Learned
44
+
45
+ ### Design Patterns
46
+ ```
47
+ // Pattern: [Name]
48
+ // When to use: [Scenario]
49
+ // Example:
50
+ [code or description]
51
+ ```
13
52
 
14
53
  ### Code Patterns
15
54
  ```
16
- // Add patterns you discover here
55
+ // Pattern: [Name]
56
+ // When to use: [Scenario]
57
+ // Example:
58
+ [code snippet]
59
+ ```
60
+
61
+ ### Workflow Patterns
62
+ | Pattern | When to Use | Example |
63
+ |---------|-------------|---------|
64
+ | [Pattern] | [Scenario] | [Example] |
65
+
66
+ ---
67
+
68
+ ## Anti-Patterns to Avoid
69
+
70
+ > Things that DON'T work - learn from mistakes
71
+
72
+ ### Anti-Pattern 1: [Name]
73
+ - **What**: [Description]
74
+ - **Why it seems OK**: [Why people do it]
75
+ - **Why it fails**: [Real problem]
76
+ - **Better approach**: [Alternative]
77
+
78
+ ---
79
+
80
+ ## Best Practices
81
+
82
+ ### What Works
83
+ 1. [Practice 1] - [Why it works]
84
+ 2. [Practice 2] - [Why it works]
85
+
86
+ ### What Doesn't Work
87
+ 1. [Practice 1] - [Why it fails]
88
+ 2. [Practice 2] - [Why it fails]
89
+
90
+ ---
91
+
92
+ ## Self-Improvement Log
93
+
94
+ > Track corrections and improvements over time
95
+
96
+ ### [Date]: [Improvement Title]
97
+ **What happened**: [Description]
98
+ **What was wrong**: [The mistake]
99
+ **Correction**: [How to do it right]
100
+ **Rule added**: [New rule to prevent]
101
+
102
+ ---
103
+
104
+ ## Key Decisions
105
+
106
+ > Important decisions made and why
107
+
108
+ ### [Date]: [Decision Title]
109
+ - **Decision**: [What was decided]
110
+ - **Alternatives considered**: [What else was considered]
111
+ - **Rationale**: [Why this choice]
112
+ - **Outcome**: [Result so far]
113
+
114
+ ---
115
+
116
+ ## Resources
117
+
118
+ ### Documentation
119
+ - [Link/Path] - [Description]
120
+
121
+ ### Tools
122
+ - [Tool] - [Use case]
123
+
124
+ ### References
125
+ - [Reference] - [When to use]
126
+
127
+ ---
128
+
129
+ ## Project-Specific Knowledge
130
+
131
+ ### Architecture
132
+ [Brief architecture overview]
133
+
134
+ ### Key Files
135
+ ```
136
+ project/
137
+ ├── [important file] - [purpose]
138
+ └── ...
17
139
  ```
18
140
 
19
- ### Best Practices
20
- - [Add best practices you learn]
141
+ ### Conventions
142
+ - [Convention 1]
143
+ - [Convention 2]
144
+
145
+ ### Gotchas
146
+ - [Gotcha 1] - [How to avoid]
147
+
148
+ ---
149
+
150
+ ## Learning Roadmap
151
+
152
+ ### Completed
153
+ - [x] [Learning 1]
154
+ - [x] [Learning 2]
155
+
156
+ ### In Progress
157
+ - [ ] [Learning 3]
21
158
 
22
- ### Common Pitfalls
23
- - [Add pitfalls to avoid]
159
+ ### To Learn
160
+ - [ ] [Learning 4]
24
161
 
25
- ## Feedback Log
26
- (Feedback will be tracked here)
162
+ ---
27
163
 
28
- ### {{DATE}}: [Feedback Title]
29
- - **What happened:**
30
- - **Lesson learned:**
31
- - **Action item:**
164
+ *Last updated: {{CREATED_AT}}*
165
+ *Total case studies: 0*
166
+ *Total patterns: 0*
@@ -0,0 +1,110 @@
1
+ # Meeting Notes - {{TITLE}}
2
+
3
+ **Date**: {{DATE}}
4
+ **Time**: {{START_TIME}} - {{END_TIME}}
5
+ **Location**: {{LOCATION_OR_PLATFORM}}
6
+
7
+ ---
8
+
9
+ ## Participants
10
+
11
+ | Name | Role |
12
+ |------|------|
13
+ | {{PARTICIPANT_1}} | {{ROLE_1}} |
14
+ | {{PARTICIPANT_2}} | {{ROLE_2}} |
15
+
16
+ ---
17
+
18
+ ## Agenda
19
+
20
+ 1. {{AGENDA_ITEM_1}}
21
+ 2. {{AGENDA_ITEM_2}}
22
+ 3. {{AGENDA_ITEM_3}}
23
+
24
+ ---
25
+
26
+ ## Discussion Points
27
+
28
+ ### Topic 1: {{TOPIC_NAME}}
29
+
30
+ **Context**: [Background information]
31
+
32
+ **Discussion**:
33
+ - Point 1
34
+ - Point 2
35
+ - Point 3
36
+
37
+ **Questions Raised**:
38
+ - Q: [Question]
39
+ - A: [Answer]
40
+
41
+ ---
42
+
43
+ ### Topic 2: {{TOPIC_NAME}}
44
+
45
+ **Context**: [Background information]
46
+
47
+ **Discussion**:
48
+ - Point 1
49
+ - Point 2
50
+
51
+ ---
52
+
53
+ ## Decisions Made
54
+
55
+ | # | Decision | Rationale | Impact |
56
+ |---|----------|-----------|--------|
57
+ | 1 | [Decision] | [Why] | [What changes] |
58
+ | 2 | [Decision] | [Why] | [What changes] |
59
+
60
+ ---
61
+
62
+ ## Action Items
63
+
64
+ | # | Task | Owner | Due Date | Status |
65
+ |---|------|-------|----------|--------|
66
+ | 1 | [Task description] | [Name] | [Date] | [ ] Pending |
67
+ | 2 | [Task description] | [Name] | [Date] | [ ] Pending |
68
+
69
+ ---
70
+
71
+ ## Documents to Update
72
+
73
+ - [ ] {{DOCUMENT_1}} - [What to update]
74
+ - [ ] {{DOCUMENT_2}} - [What to update]
75
+
76
+ ---
77
+
78
+ ## Open Questions / Follow-ups
79
+
80
+ | # | Question | Owner | Due Date |
81
+ |---|----------|-------|----------|
82
+ | 1 | [Question] | [Name] | [Date] |
83
+
84
+ ---
85
+
86
+ ## Next Steps
87
+
88
+ 1. [Next step 1]
89
+ 2. [Next step 2]
90
+ 3. [Next step 3]
91
+
92
+ ---
93
+
94
+ ## Next Meeting
95
+
96
+ **Date**: {{NEXT_MEETING_DATE}}
97
+ **Agenda Preview**:
98
+ - {{NEXT_AGENDA_1}}
99
+ - {{NEXT_AGENDA_2}}
100
+
101
+ ---
102
+
103
+ ## Notes
104
+
105
+ [Additional notes, context, or references]
106
+
107
+ ---
108
+
109
+ *Meeting notes recorded by: {{RECORDER_NAME}}*
110
+ *Last updated: {{DATE}}*