@aicgen/aicgen 1.0.0-beta.1 → 1.0.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/{.claude/guidelines → .agent/rules}/api-design.md +5 -1
- package/{.claude/guidelines → .agent/rules}/architecture.md +5 -1
- package/{.claude/guidelines → .agent/rules}/best-practices.md +5 -1
- package/{.claude/guidelines → .agent/rules}/code-style.md +5 -1
- package/{.claude/guidelines → .agent/rules}/design-patterns.md +5 -1
- package/{.claude/guidelines → .agent/rules}/devops.md +5 -1
- package/{.claude/guidelines → .agent/rules}/error-handling.md +5 -1
- package/.agent/rules/instructions.md +28 -0
- package/{.claude/guidelines → .agent/rules}/language.md +5 -1
- package/{.claude/guidelines → .agent/rules}/performance.md +5 -1
- package/{.claude/guidelines → .agent/rules}/security.md +5 -1
- package/{.claude/guidelines → .agent/rules}/testing.md +5 -1
- package/.agent/workflows/add-documentation.md +10 -0
- package/.agent/workflows/generate-integration-tests.md +10 -0
- package/.agent/workflows/generate-unit-tests.md +11 -0
- package/.agent/workflows/performance-audit.md +11 -0
- package/.agent/workflows/refactor-extract-module.md +12 -0
- package/.agent/workflows/security-audit.md +12 -0
- package/.gemini/instructions.md +4843 -0
- package/.vs/ProjectSettings.json +2 -2
- package/.vs/VSWorkspaceState.json +15 -15
- package/.vs/aicgen.slnx/v18/DocumentLayout.json +53 -53
- package/AGENTS.md +9 -11
- package/assets/icon.svg +33 -33
- package/bun.lock +734 -26
- package/{CLAUDE.md → claude.md} +2 -2
- package/config.example.yml +129 -0
- package/config.yml +38 -0
- package/data/architecture/microservices/api-gateway.md +56 -56
- package/data/devops/observability.md +73 -73
- package/data/guideline-mappings.yml +128 -0
- package/data/language/dart/async.md +289 -0
- package/data/language/dart/basics.md +280 -0
- package/data/language/dart/error-handling.md +355 -0
- package/data/language/dart/index.md +10 -0
- package/data/language/dart/testing.md +352 -0
- package/data/language/swift/basics.md +477 -0
- package/data/language/swift/concurrency.md +654 -0
- package/data/language/swift/error-handling.md +679 -0
- package/data/language/swift/swiftui-mvvm.md +795 -0
- package/data/language/swift/testing.md +708 -0
- package/data/version.json +10 -8
- package/dist/index.js +50153 -28959
- package/jest.config.js +46 -0
- package/package.json +14 -3
- package/.claude/agents/architecture-reviewer.md +0 -88
- package/.claude/agents/guideline-checker.md +0 -73
- package/.claude/agents/security-auditor.md +0 -108
- package/.claude/settings.json +0 -98
- package/.claude/settings.local.json +0 -8
- package/.eslintrc.json +0 -28
- package/.github/workflows/release.yml +0 -180
- package/.github/workflows/test.yml +0 -81
- package/CONTRIBUTING.md +0 -821
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -46
- package/dist/commands/init.js.map +0 -1
- package/dist/config/profiles.d.ts +0 -4
- package/dist/config/profiles.d.ts.map +0 -1
- package/dist/config/profiles.js +0 -30
- package/dist/config/profiles.js.map +0 -1
- package/dist/config/settings.d.ts +0 -7
- package/dist/config/settings.d.ts.map +0 -1
- package/dist/config/settings.js +0 -7
- package/dist/config/settings.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/models/guideline.d.ts +0 -15
- package/dist/models/guideline.d.ts.map +0 -1
- package/dist/models/guideline.js +0 -2
- package/dist/models/guideline.js.map +0 -1
- package/dist/models/preference.d.ts +0 -9
- package/dist/models/preference.d.ts.map +0 -1
- package/dist/models/preference.js +0 -2
- package/dist/models/preference.js.map +0 -1
- package/dist/models/profile.d.ts +0 -9
- package/dist/models/profile.d.ts.map +0 -1
- package/dist/models/profile.js +0 -2
- package/dist/models/profile.js.map +0 -1
- package/dist/models/project.d.ts +0 -13
- package/dist/models/project.d.ts.map +0 -1
- package/dist/models/project.js +0 -2
- package/dist/models/project.js.map +0 -1
- package/dist/services/ai/anthropic.d.ts +0 -7
- package/dist/services/ai/anthropic.d.ts.map +0 -1
- package/dist/services/ai/anthropic.js +0 -39
- package/dist/services/ai/anthropic.js.map +0 -1
- package/dist/services/generator.d.ts +0 -2
- package/dist/services/generator.d.ts.map +0 -1
- package/dist/services/generator.js +0 -4
- package/dist/services/generator.js.map +0 -1
- package/dist/services/learner.d.ts +0 -2
- package/dist/services/learner.d.ts.map +0 -1
- package/dist/services/learner.js +0 -4
- package/dist/services/learner.js.map +0 -1
- package/dist/services/scanner.d.ts +0 -3
- package/dist/services/scanner.d.ts.map +0 -1
- package/dist/services/scanner.js +0 -54
- package/dist/services/scanner.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -15
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -27
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/file.d.ts +0 -7
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/file.js +0 -32
- package/dist/utils/file.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -6
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -17
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/path.d.ts +0 -6
- package/dist/utils/path.d.ts.map +0 -1
- package/dist/utils/path.js +0 -14
- package/dist/utils/path.js.map +0 -1
- package/docs/planning/memory-lane.md +0 -83
- package/packaging/linux/aicgen.spec +0 -23
- package/packaging/linux/control +0 -9
- package/packaging/macos/scripts/postinstall +0 -12
- package/packaging/windows/setup.nsi +0 -92
- package/scripts/add-categories.ts +0 -87
- package/scripts/build-binary.ts +0 -46
- package/scripts/embed-data.ts +0 -105
- package/scripts/generate-version.ts +0 -150
- package/scripts/test-decompress.ts +0 -27
- package/scripts/test-extract.ts +0 -31
- package/src/__tests__/services/assistant-file-writer.test.ts +0 -400
- package/src/__tests__/services/guideline-loader.test.ts +0 -281
- package/src/__tests__/services/tarball-extraction.test.ts +0 -125
- package/src/commands/add-guideline.ts +0 -296
- package/src/commands/clear.ts +0 -61
- package/src/commands/guideline-selector.ts +0 -123
- package/src/commands/init.ts +0 -645
- package/src/commands/quick-add.ts +0 -586
- package/src/commands/remove-guideline.ts +0 -152
- package/src/commands/stats.ts +0 -49
- package/src/commands/update.ts +0 -240
- package/src/config.ts +0 -82
- package/src/embedded-data.ts +0 -1492
- package/src/index.ts +0 -67
- package/src/models/profile.ts +0 -24
- package/src/models/project.ts +0 -43
- package/src/services/assistant-file-writer.ts +0 -612
- package/src/services/config-generator.ts +0 -150
- package/src/services/config-manager.ts +0 -70
- package/src/services/data-source.ts +0 -248
- package/src/services/first-run-init.ts +0 -148
- package/src/services/guideline-loader.ts +0 -311
- package/src/services/hook-generator.ts +0 -178
- package/src/services/subagent-generator.ts +0 -310
- package/src/utils/banner.ts +0 -66
- package/src/utils/errors.ts +0 -27
- package/src/utils/file.ts +0 -67
- package/src/utils/formatting.ts +0 -172
- package/src/utils/logger.ts +0 -89
- package/src/utils/path.ts +0 -17
- package/src/utils/wizard-state.ts +0 -132
- package/tsconfig.json +0 -25
package/.vs/ProjectSettings.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"CurrentProjectSetting": null
|
|
1
|
+
{
|
|
2
|
+
"CurrentProjectSetting": null
|
|
3
3
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
{
|
|
2
|
-
"ExpandedNodes": [
|
|
3
|
-
"",
|
|
4
|
-
"\\src",
|
|
5
|
-
"\\src\\config",
|
|
6
|
-
"\\src\\models",
|
|
7
|
-
"\\src\\prompts",
|
|
8
|
-
"\\src\\services",
|
|
9
|
-
"\\src\\services\\ai",
|
|
10
|
-
"\\src\\templates",
|
|
11
|
-
"\\src\\templates\\guidelines",
|
|
12
|
-
"\\src\\utils"
|
|
13
|
-
],
|
|
14
|
-
"SelectedNode": "\\src\\services\\ai\\anthropic.ts",
|
|
15
|
-
"PreviewInSolutionExplorer": false
|
|
1
|
+
{
|
|
2
|
+
"ExpandedNodes": [
|
|
3
|
+
"",
|
|
4
|
+
"\\src",
|
|
5
|
+
"\\src\\config",
|
|
6
|
+
"\\src\\models",
|
|
7
|
+
"\\src\\prompts",
|
|
8
|
+
"\\src\\services",
|
|
9
|
+
"\\src\\services\\ai",
|
|
10
|
+
"\\src\\templates",
|
|
11
|
+
"\\src\\templates\\guidelines",
|
|
12
|
+
"\\src\\utils"
|
|
13
|
+
],
|
|
14
|
+
"SelectedNode": "\\src\\services\\ai\\anthropic.ts",
|
|
15
|
+
"PreviewInSolutionExplorer": false
|
|
16
16
|
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Version": 1,
|
|
3
|
-
"WorkspaceRootPath": "F:\\aicgen\\aicgen\\",
|
|
4
|
-
"Documents": [
|
|
5
|
-
{
|
|
6
|
-
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
|
|
7
|
-
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
|
|
11
|
-
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
|
|
12
|
-
}
|
|
13
|
-
],
|
|
14
|
-
"DocumentGroupContainers": [
|
|
15
|
-
{
|
|
16
|
-
"Orientation": 0,
|
|
17
|
-
"VerticalTabListWidth": 256,
|
|
18
|
-
"DocumentGroups": [
|
|
19
|
-
{
|
|
20
|
-
"DockedWidth": 200,
|
|
21
|
-
"SelectedChildIndex": 0,
|
|
22
|
-
"Children": [
|
|
23
|
-
{
|
|
24
|
-
"$type": "Document",
|
|
25
|
-
"DocumentIndex": 0,
|
|
26
|
-
"Title": "anthropic.ts",
|
|
27
|
-
"DocumentMoniker": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
|
|
28
|
-
"RelativeDocumentMoniker": "src\\services\\ai\\anthropic.ts",
|
|
29
|
-
"ToolTip": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
|
|
30
|
-
"RelativeToolTip": "src\\services\\ai\\anthropic.ts",
|
|
31
|
-
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAAqAAAAAAAAAA==",
|
|
32
|
-
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
|
|
33
|
-
"WhenOpened": "2025-12-06T03:22:51.667Z",
|
|
34
|
-
"EditorCaption": ""
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"$type": "Document",
|
|
38
|
-
"DocumentIndex": 1,
|
|
39
|
-
"Title": "init.ts",
|
|
40
|
-
"DocumentMoniker": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
|
|
41
|
-
"RelativeDocumentMoniker": "src\\commands\\init.ts",
|
|
42
|
-
"ToolTip": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
|
|
43
|
-
"RelativeToolTip": "src\\commands\\init.ts",
|
|
44
|
-
"ViewState": "AgIAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
|
45
|
-
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
|
|
46
|
-
"WhenOpened": "2025-12-06T03:20:37.462Z",
|
|
47
|
-
"EditorCaption": ""
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
}
|
|
53
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"Version": 1,
|
|
3
|
+
"WorkspaceRootPath": "F:\\aicgen\\aicgen\\",
|
|
4
|
+
"Documents": [
|
|
5
|
+
{
|
|
6
|
+
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
|
|
7
|
+
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
|
|
11
|
+
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"DocumentGroupContainers": [
|
|
15
|
+
{
|
|
16
|
+
"Orientation": 0,
|
|
17
|
+
"VerticalTabListWidth": 256,
|
|
18
|
+
"DocumentGroups": [
|
|
19
|
+
{
|
|
20
|
+
"DockedWidth": 200,
|
|
21
|
+
"SelectedChildIndex": 0,
|
|
22
|
+
"Children": [
|
|
23
|
+
{
|
|
24
|
+
"$type": "Document",
|
|
25
|
+
"DocumentIndex": 0,
|
|
26
|
+
"Title": "anthropic.ts",
|
|
27
|
+
"DocumentMoniker": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
|
|
28
|
+
"RelativeDocumentMoniker": "src\\services\\ai\\anthropic.ts",
|
|
29
|
+
"ToolTip": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
|
|
30
|
+
"RelativeToolTip": "src\\services\\ai\\anthropic.ts",
|
|
31
|
+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAAqAAAAAAAAAA==",
|
|
32
|
+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
|
|
33
|
+
"WhenOpened": "2025-12-06T03:22:51.667Z",
|
|
34
|
+
"EditorCaption": ""
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"$type": "Document",
|
|
38
|
+
"DocumentIndex": 1,
|
|
39
|
+
"Title": "init.ts",
|
|
40
|
+
"DocumentMoniker": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
|
|
41
|
+
"RelativeDocumentMoniker": "src\\commands\\init.ts",
|
|
42
|
+
"ToolTip": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
|
|
43
|
+
"RelativeToolTip": "src\\commands\\init.ts",
|
|
44
|
+
"ViewState": "AgIAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
|
45
|
+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
|
|
46
|
+
"WhenOpened": "2025-12-06T03:20:37.462Z",
|
|
47
|
+
"EditorCaption": ""
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
54
|
}
|
package/AGENTS.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Project Overview
|
|
4
4
|
|
|
5
5
|
**Language:** typescript
|
|
6
|
-
**Type:**
|
|
6
|
+
**Type:** other
|
|
7
7
|
|
|
8
8
|
## Development Guidelines
|
|
9
9
|
|
|
@@ -15,17 +15,11 @@ This project follows structured coding guidelines across multiple categories:
|
|
|
15
15
|
- async
|
|
16
16
|
- interfaces-types
|
|
17
17
|
|
|
18
|
-
### Architecture
|
|
19
|
-
|
|
20
|
-
- boundaries
|
|
21
|
-
- communication
|
|
22
|
-
- data
|
|
23
|
-
|
|
24
18
|
### Testing
|
|
25
19
|
|
|
26
20
|
- unit-fundamentals
|
|
27
21
|
- unit-mocking
|
|
28
|
-
-
|
|
22
|
+
- basics
|
|
29
23
|
|
|
30
24
|
### Security
|
|
31
25
|
|
|
@@ -36,7 +30,6 @@ This project follows structured coding guidelines across multiple categories:
|
|
|
36
30
|
### Performance
|
|
37
31
|
|
|
38
32
|
- basics
|
|
39
|
-
- caching
|
|
40
33
|
- async
|
|
41
34
|
|
|
42
35
|
### API Design
|
|
@@ -55,10 +48,15 @@ This project follows structured coding guidelines across multiple categories:
|
|
|
55
48
|
- strategy
|
|
56
49
|
- basics
|
|
57
50
|
|
|
51
|
+
### Architecture
|
|
52
|
+
|
|
53
|
+
- principles
|
|
54
|
+
- patterns
|
|
55
|
+
- patterns
|
|
56
|
+
|
|
58
57
|
### DevOps
|
|
59
58
|
|
|
60
59
|
- ci-cd
|
|
61
|
-
- practices
|
|
62
60
|
- observability
|
|
63
61
|
|
|
64
62
|
### Best Practices
|
|
@@ -70,8 +68,8 @@ This project follows structured coding guidelines across multiple categories:
|
|
|
70
68
|
### Design Patterns
|
|
71
69
|
|
|
72
70
|
- base-patterns
|
|
73
|
-
- concurrency
|
|
74
71
|
- data-access
|
|
72
|
+
- domain-logic
|
|
75
73
|
|
|
76
74
|
|
|
77
75
|
## Commands
|
package/assets/icon.svg
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
<svg width="300" height="150" viewBox="0 0 300 150" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="flowGradient" x1="50" y1="75" x2="160" y2="75" gradientUnits="userSpaceOnUse">
|
|
4
|
-
<stop offset="0%" stop-color="#06b6d4" /> <stop offset="100%" stop-color="#8b5cf6" /> </linearGradient>
|
|
5
|
-
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
|
|
6
|
-
<feGaussianBlur stdDeviation="2" result="coloredBlur"/>
|
|
7
|
-
<feMerge>
|
|
8
|
-
<feMergeNode in="coloredBlur"/>
|
|
9
|
-
<feMergeNode in="SourceGraphic"/>
|
|
10
|
-
</feMerge>
|
|
11
|
-
</filter>
|
|
12
|
-
</defs>
|
|
13
|
-
|
|
14
|
-
<rect width="700" height="150" fill="#0f172a" rx="8" />
|
|
15
|
-
|
|
16
|
-
<g transform="translate(40, 35)">
|
|
17
|
-
<rect x="160" y="0" width="60" height="80" rx="6" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="2"/>
|
|
18
|
-
<path d="M200 0 L220 20 L220 6 A 6 6 0 0 0 214 0 Z" fill="#8b5cf6" opacity="0.5"/>
|
|
19
|
-
<rect x="170" y="20" width="30" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
20
|
-
<rect x="170" y="32" width="40" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
21
|
-
<rect x="170" y="44" width="35" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
22
|
-
<circle cx="210" cy="70" r="3" fill="#10b981" filter="url(#glow)" />
|
|
23
|
-
|
|
24
|
-
<circle cx="20" cy="15" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
25
|
-
<circle cx="20" cy="40" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
26
|
-
<circle cx="20" cy="65" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
27
|
-
|
|
28
|
-
<path d="M28 15 C 60 15, 100 15, 160 30" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
29
|
-
<path d="M28 40 C 60 40, 100 40, 160 40" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
30
|
-
<path d="M28 65 C 60 65, 100 65, 160 50" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
31
|
-
</g>
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
<svg width="300" height="150" viewBox="0 0 300 150" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="flowGradient" x1="50" y1="75" x2="160" y2="75" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0%" stop-color="#06b6d4" /> <stop offset="100%" stop-color="#8b5cf6" /> </linearGradient>
|
|
5
|
+
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
|
|
6
|
+
<feGaussianBlur stdDeviation="2" result="coloredBlur"/>
|
|
7
|
+
<feMerge>
|
|
8
|
+
<feMergeNode in="coloredBlur"/>
|
|
9
|
+
<feMergeNode in="SourceGraphic"/>
|
|
10
|
+
</feMerge>
|
|
11
|
+
</filter>
|
|
12
|
+
</defs>
|
|
13
|
+
|
|
14
|
+
<rect width="700" height="150" fill="#0f172a" rx="8" />
|
|
15
|
+
|
|
16
|
+
<g transform="translate(40, 35)">
|
|
17
|
+
<rect x="160" y="0" width="60" height="80" rx="6" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="2"/>
|
|
18
|
+
<path d="M200 0 L220 20 L220 6 A 6 6 0 0 0 214 0 Z" fill="#8b5cf6" opacity="0.5"/>
|
|
19
|
+
<rect x="170" y="20" width="30" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
20
|
+
<rect x="170" y="32" width="40" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
21
|
+
<rect x="170" y="44" width="35" height="4" rx="2" fill="#8b5cf6" opacity="0.6"/>
|
|
22
|
+
<circle cx="210" cy="70" r="3" fill="#10b981" filter="url(#glow)" />
|
|
23
|
+
|
|
24
|
+
<circle cx="20" cy="15" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
25
|
+
<circle cx="20" cy="40" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
26
|
+
<circle cx="20" cy="65" r="8" fill="#06b6d4" filter="url(#glow)" />
|
|
27
|
+
|
|
28
|
+
<path d="M28 15 C 60 15, 100 15, 160 30" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
29
|
+
<path d="M28 40 C 60 40, 100 40, 160 40" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
30
|
+
<path d="M28 65 C 60 65, 100 65, 160 50" stroke="url(#flowGradient)" stroke-width="3" fill="none" stroke-linecap="round"/>
|
|
31
|
+
</g>
|
|
32
|
+
|
|
33
|
+
|
|
34
34
|
</svg>
|