-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtodo_list(v2.3.0).json
More file actions
148 lines (148 loc) · 9.33 KB
/
Copy pathtodo_list(v2.3.0).json
File metadata and controls
148 lines (148 loc) · 9.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
"version": "2.3.0",
"codename": "DevOps Powerhouse",
"release_target": "2026-07-01",
"focus": "DevOps & Pipeline Integration",
"marketing_message": "CI/CD, cloud, and pipeline automation — all in one place",
"status": "planned",
"prerequisite": "v2.2.0 must be complete and stable",
"tasks": [
{
"id": "pipeline_builder",
"title": "Visual CI/CD Pipeline Builder",
"priority": "P0",
"status": "planned",
"estimated_hours": 28,
"description": "Drag-and-drop pipeline builder that generates GitHub Actions / GitLab CI YAML from visual blocks",
"subtasks": [
{ "id": "PB-01", "task": "Design pipeline builder webview with stage-based canvas", "status": "planned" },
{ "id": "PB-02", "task": "Build pipeline block types: trigger, build, test, deploy, notify", "status": "planned" },
{ "id": "PB-03", "task": "Drag-and-drop block ordering within stages", "status": "planned" },
{ "id": "PB-04", "task": "Block configuration panel (per-block settings)", "status": "planned" },
{ "id": "PB-05", "task": "Generate GitHub Actions YAML from pipeline", "status": "planned" },
{ "id": "PB-06", "task": "Generate GitLab CI YAML from pipeline", "status": "planned" },
{ "id": "PB-07", "task": "Save/load pipeline configurations", "status": "planned" },
{ "id": "PB-08", "task": "Pipeline templates for common stacks (Node, Python, Docker)", "status": "planned" },
{ "id": "PB-09", "task": "Validate pipeline before export", "status": "planned" },
{ "id": "PB-10", "task": "Preview generated YAML side by side", "status": "planned" }
],
"dependencies": ["Visual rule builder from v2.0.0 (similar drag-drop patterns)", "Context detection from v1.4.0"],
"files_to_create": ["src/webviews/pipelineBuilder.ts", "src/webviews/pipelineBuilder.html", "src/devops/pipelineGenerator.ts"],
"technical_notes": "Use similar webview drag-drop pattern from v2.0.0 rule builder. Generate YAML with js-yaml library. Support GitHub Actions and GitLab CI as first two targets."
},
{
"id": "cloud_cli_integration",
"title": "Cloud CLI Dashboard (AWS / GCP / Azure)",
"priority": "P0",
"status": "planned",
"estimated_hours": 20,
"description": "Unified dashboard for cloud CLI operations — browse resources, run commands, view outputs visually",
"subtasks": [
{ "id": "CC-01", "task": "Detect installed cloud CLIs (aws, gcloud, az)", "status": "planned" },
{ "id": "CC-02", "task": "AWS: list S3 buckets, EC2 instances, Lambda functions in tree view", "status": "planned" },
{ "id": "CC-03", "task": "GCP: list projects, compute instances, cloud functions", "status": "planned" },
{ "id": "CC-04", "task": "Azure: list resource groups, VMs, functions", "status": "planned" },
{ "id": "CC-05", "task": "Right-click on resource → execute relevant commands", "status": "planned" },
{ "id": "CC-06", "task": "Cloud resource search within extension", "status": "planned" },
{ "id": "CC-07", "task": "Command output viewer (formatted JSON/table)", "status": "planned" },
{ "id": "CC-08", "task": "Cloud profile switcher (AWS profiles, GCP projects)", "status": "planned" }
],
"dependencies": ["AWS/Terraform commands from v1.5.0", "Context detection from v1.4.0"],
"files_to_create": ["src/devops/cloudDashboard.ts", "src/devops/cloudProviders/aws.ts", "src/devops/cloudProviders/gcp.ts", "src/devops/cloudProviders/azure.ts"],
"technical_notes": "Use child_process to execute CLI commands. Parse JSON output for tree view display. Require workspace trust for execution."
},
{
"id": "docker_ui",
"title": "Docker Orchestration UI",
"priority": "P0",
"status": "planned",
"estimated_hours": 18,
"description": "Visual Docker management panel showing running containers, images, volumes with one-click actions",
"subtasks": [
{ "id": "DU-01", "task": "Build Docker dashboard webview", "status": "planned" },
{ "id": "DU-02", "task": "List running containers with status badges", "status": "planned" },
{ "id": "DU-03", "task": "List images with size and creation date", "status": "planned" },
{ "id": "DU-04", "task": "Container actions: start, stop, restart, remove, exec", "status": "planned" },
{ "id": "DU-05", "task": "View container logs inline in dashboard", "status": "planned" },
{ "id": "DU-06", "task": "Docker Compose: detect compose file, show services", "status": "planned" },
{ "id": "DU-07", "task": "Docker Compose: up, down, build, logs per service", "status": "planned" },
{ "id": "DU-08", "task": "Resource usage stats (CPU, memory per container)", "status": "planned" },
{ "id": "DU-09", "task": "Auto-refresh every 5 seconds (configurable)", "status": "planned" }
],
"dependencies": ["Docker commands from v1.x"],
"files_to_create": ["src/webviews/dockerDashboard.ts", "src/webviews/dockerDashboard.html", "src/devops/dockerManager.ts"],
"technical_notes": "Run 'docker ps --format json' and parse output. Poll every 5s with configurable interval. Handle Docker not installed gracefully."
},
{
"id": "env_manager",
"title": "Environment Variables Manager",
"priority": "P1",
"status": "planned",
"estimated_hours": 14,
"description": "Manage .env files visually with support for multiple environments (dev, staging, prod)",
"subtasks": [
{ "id": "EM-01", "task": "Build env manager webview with table layout", "status": "planned" },
{ "id": "EM-02", "task": "Load and display .env, .env.local, .env.staging, .env.prod files", "status": "planned" },
{ "id": "EM-03", "task": "Add/edit/delete env variables with inline editing", "status": "planned" },
{ "id": "EM-04", "task": "Environment switcher (toggle active env file)", "status": "planned" },
{ "id": "EM-05", "task": "Show diff between environments side by side", "status": "planned" },
{ "id": "EM-06", "task": "Mask sensitive values (passwords, tokens) by default", "status": "planned" },
{ "id": "EM-07", "task": "Generate .env.example from current env (values blanked)", "status": "planned" },
{ "id": "EM-08", "task": "Warn on missing variables vs .env.example", "status": "planned" }
],
"dependencies": [],
"files_to_create": ["src/webviews/envManager.ts", "src/webviews/envManager.html"],
"technical_notes": "Read .env files from workspace root and common locations. Mask values containing 'key', 'secret', 'token', 'password'. Never commit masked values to logs."
},
{
"id": "secrets_vault",
"title": "Secrets Vault Integration",
"priority": "P2",
"status": "planned",
"estimated_hours": 16,
"description": "Integrate with external secret managers (HashiCorp Vault, AWS Secrets Manager) to inject secrets safely into commands",
"subtasks": [
{ "id": "SV-01", "task": "Design secrets integration settings panel", "status": "planned" },
{ "id": "SV-02", "task": "HashiCorp Vault: connect and list secrets", "status": "planned" },
{ "id": "SV-03", "task": "AWS Secrets Manager: connect and list secrets", "status": "planned" },
{ "id": "SV-04", "task": "Inject secret as env variable into command execution", "status": "planned" },
{ "id": "SV-05", "task": "Secret reference syntax in command templates: ${secret:NAME}", "status": "planned" },
{ "id": "SV-06", "task": "Mask secret values in terminal output", "status": "planned" },
{ "id": "SV-07", "task": "Cache secrets with configurable TTL", "status": "planned" }
],
"dependencies": ["Env manager (EM)", "Command templates from v1.3.0"],
"files_to_create": ["src/devops/secretsVault.ts"],
"technical_notes": "Secrets are NEVER stored in globalState or logs. Use VS Code SecretStorage API for caching. Require workspace trust before accessing any secrets."
}
],
"summary": {
"total_tasks": 5,
"total_subtasks": 42,
"estimated_total_hours": 96,
"completed_tasks": 0,
"pending_tasks": 5,
"progress_percentage": "0%"
},
"new_settings_to_add": [
"dotcommand.devops.dockerRefreshInterval - Container list refresh interval in seconds (default: 5)",
"dotcommand.devops.cloudProvider - Default cloud provider (aws / gcp / azure)",
"dotcommand.devops.maskEnvValues - Mask sensitive env values (default: true)",
"dotcommand.devops.secretsTTL - Secrets cache TTL in minutes (default: 15)"
],
"security_requirements": [
"All DevOps features require workspace trust",
"Secrets NEVER stored in globalState",
"Use VS Code SecretStorage API for any sensitive data",
"Cloud credentials read from system CLI config, never stored in extension",
"Env values masked in all logs and analytics"
],
"definition_of_done": [
"Pipeline builder generates valid GitHub Actions YAML for Node.js, Python, Docker stacks",
"Cloud CLI dashboard detects at least one installed CLI and shows resources",
"Docker UI lists running containers with <1s load time",
"Env manager handles 4+ env files side by side",
"Secrets vault connects to at least HashiCorp Vault",
"All DevOps features respect workspace trust setting",
"Zero secrets in logs or analytics"
]
}