anchi-kit 1.2.6 → 1.2.7
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/.antigravity/agents/security-auditor.md +42 -0
- package/ANTIGRAVITY.md +2 -2
- package/CHANGELOG.md +8 -0
- package/CURSOR.md +2 -2
- package/README.md +5 -5
- package/docs/README.md +2 -2
- package/docs/ci-cd/PROJECT.md +1 -1
- package/docs/ci-cd/README.md +1 -1
- package/docs/ci-cd/SCALING_STRATEGY.md +1 -1
- package/docs/engineering/reasoning-guidelines.md +1 -1
- package/docs/engineering/when-to-break-the-rules.md +1 -1
- package/docs/personal/ALL_COMMANDS.md +2 -2
- package/docs/personal/DAILY_WORKFLOW.md +1 -1
- package/docs/personal/GETTING_STARTED.md +1 -1
- package/docs/personal/README.md +1 -1
- package/docs/personal/TROUBLESHOOTING.md +1 -1
- package/docs/reference/AI_CONTRACT.md +1 -1
- package/docs/reference/ARCHITECTURE.md +3 -3
- package/docs/reference/ORCHESTRATION.md +11 -11
- package/docs/reference/README.md +1 -1
- package/docs/reference/SECURITY.md +1 -1
- package/docs/team/CI_CD.md +2 -2
- package/docs/team/ONBOARDING.md +1 -1
- package/docs/team/README.md +1 -1
- package/docs/team/ROLES_PERMISSIONS.md +1 -1
- package/docs/team/SETUP_GUIDE.md +1 -1
- package/docs/team/TEAM_WORKFLOW.md +1 -1
- package/package.json +1 -1
- package/presets/professional/contract.json +1 -1
- package/presets/rapid/contract.json +1 -1
- package/src/cli.js +2 -2
- package/src/commands/dashboard.js +3 -3
- package/src/commands/doctor.js +2 -2
- package/src/commands/init.js +46 -14
- package/src/lib/dashboardTemplate.js +6 -6
- package/src/lib/domainProfiles.js +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-auditor
|
|
3
|
+
description: Specialized agent for security reviews, vulnerability assessments, and compliance checks. Focuses on OWASP Top 10, sensitive data handling, and secure coding practices.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a **Security Auditor**, an expert in application security and compliance.
|
|
8
|
+
|
|
9
|
+
## Core Responsibilities
|
|
10
|
+
|
|
11
|
+
1. **Vulnerability Assessment**: Identify potential security flaws (XSS, CSRF, Injection, etc.).
|
|
12
|
+
2. **Code Review**: Analyze code changes for security implications.
|
|
13
|
+
3. **Compliance Check**: Ensure adherence to data protection rules (GDPR, PII handling).
|
|
14
|
+
4. **Configuration Audit**: Verify secure configuration of infrastructure and dependencies.
|
|
15
|
+
|
|
16
|
+
## Security Standards
|
|
17
|
+
|
|
18
|
+
- **OWASP Top 10**: Always check for common web vulnerabilities.
|
|
19
|
+
- **Least Privilege**: Ensure permissions are scoped correctly.
|
|
20
|
+
- **Data Protection**: Verify encryption of sensitive data at rest and in transit.
|
|
21
|
+
- **Input Validation**: Ensure all user inputs are sanitized.
|
|
22
|
+
|
|
23
|
+
## Execution Process
|
|
24
|
+
|
|
25
|
+
1. **Analyze**: Read the code/plan focusing purely on security aspects.
|
|
26
|
+
2. **Identify**: Flag any lines of code that pose a security risk.
|
|
27
|
+
3. **Verify**: Check against `deploy-guard.yaml` and `data-classification.yaml` rules.
|
|
28
|
+
4. **Report**: valid/invalid status with specific remediation steps.
|
|
29
|
+
|
|
30
|
+
## Tools & Skills
|
|
31
|
+
|
|
32
|
+
- Activate `skills/security` or relevant security packs if available.
|
|
33
|
+
- Use `patterns` to detect known security anti-patterns.
|
|
34
|
+
|
|
35
|
+
## Output Format
|
|
36
|
+
|
|
37
|
+
Provide a structured Security Review:
|
|
38
|
+
|
|
39
|
+
- **Risk Level**: [Low/Medium/High/Critical]
|
|
40
|
+
- **Findings**: List of specific issues.
|
|
41
|
+
- **Recommendations**: Concrete steps to fix.
|
|
42
|
+
- **Approval**: [Approved/Rejected]
|
package/ANTIGRAVITY.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# ANTIGRAVITY.md - ANCHI-KIT System Instructions (v1.2.
|
|
1
|
+
# ANTIGRAVITY.md - ANCHI-KIT System Instructions (v1.2.7)
|
|
2
2
|
|
|
3
3
|
> **⚠️ MANDATORY**: AI MUST follow this document 100%. Read completely before ANY action.
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ You are **ANCHI-KIT** - an AI Senior Tech Lead integrated into this project.
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
## 🧠 CORE EXECUTION FLOW (v1.2.
|
|
14
|
+
## 🧠 CORE EXECUTION FLOW (v1.2.7)
|
|
15
15
|
|
|
16
16
|
When user types any `/command`, follow this **EXACT** sequence:
|
|
17
17
|
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ Format: [Semantic Versioning](https://semver.org/)
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [1.2.7] - 2025-12-30
|
|
10
|
+
|
|
11
|
+
### 🔧 Installation Fix: Force Environment Choice
|
|
12
|
+
|
|
13
|
+
- **Always Ask Platform**: `init` command now always asks "Select AI Platform" (Cursor vs Antigravity) even if a folder is detected. This prevents users from being "stuck" in Cursor mode if they want to switch to Antigravity.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
9
17
|
## [1.2.6] - 2025-12-30
|
|
10
18
|
|
|
11
19
|
### 🚑 Critical Hotfix: Skill Installation
|
package/CURSOR.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# CURSOR.md - ANCHI-KIT System Instructions for Cursor (v1.2.
|
|
1
|
+
# CURSOR.md - ANCHI-KIT System Instructions for Cursor (v1.2.7)
|
|
2
2
|
|
|
3
3
|
> **⚠️ MANDATORY**: AI MUST follow this document. Cursor auto-loads this via `.cursorrules`.
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ You are **ANCHI-KIT** - an AI Senior Tech Lead integrated into this project.
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
## 🧠 CORE EXECUTION FLOW (v1.2.
|
|
14
|
+
## 🧠 CORE EXECUTION FLOW (v1.2.7)
|
|
15
15
|
|
|
16
16
|
When user types any `/command`, follow this **EXACT** sequence:
|
|
17
17
|
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
**Anchi Kit v1.2.
|
|
1
|
+
**Anchi Kit v1.2.7** - _Don't just code. Orchestrate._ 🚀
|
|
2
2
|
|
|
3
3
|
> **The Cognitive Operating System for AI Code Editors**
|
|
4
4
|
> _"Biến AI từ người thợ code (Junior Coder) thành Kỹ sư trưởng (Senior Tech Lead)."_
|
|
5
5
|
|
|
6
|
-
[](https://www.npmjs.com/package/anchi-kit)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|

|
|
9
9
|

|
|
@@ -27,7 +27,7 @@ Bạn có nhận thấy các AI Code Editor (Cursor, Windsurf, Gemini) rất m
|
|
|
27
27
|
|
|
28
28
|
## 🧠 Kiến Trúc Tư Duy 5 Tầng (5-Layer Architecture)
|
|
29
29
|
|
|
30
|
-
Phiên bản **v1.2.
|
|
30
|
+
Phiên bản **v1.2.7** giới thiệu mô hình xử lý thông tin chuẩn mực:
|
|
31
31
|
|
|
32
32
|
1. **Orchestration Layer**: ("Bộ chỉ huy")
|
|
33
33
|
|
|
@@ -87,7 +87,7 @@ npx anchi-kit dashboard
|
|
|
87
87
|
|
|
88
88
|
### 4. 🧩 Modular Skill Packs
|
|
89
89
|
|
|
90
|
-
Hệ thống **Pack-based v1.2.
|
|
90
|
+
Hệ thống **Pack-based v1.2.7** giúp AI "nhẹ gánh" nhưng cực thông minh:
|
|
91
91
|
|
|
92
92
|
- Chỉ nạp kiến thức cần thiết. (Code React thì không cần nạp kiến thức Python).
|
|
93
93
|
- Dễ dàng mở rộng: Bạn có thể tự viết Pack riêng cho công ty của mình (`pack-mycompany`).
|
|
@@ -166,4 +166,4 @@ Anchi Kit là dự án mã nguồn mở, được xây dựng bởi cộng đồ
|
|
|
166
166
|
|
|
167
167
|
---
|
|
168
168
|
|
|
169
|
-
**Anchi Kit v1.2.
|
|
169
|
+
**Anchi Kit v1.2.7** - _Don't just code. Orchestrate._ 🚀
|
package/docs/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 📚 Anchi Kit Documentation v1.2.
|
|
1
|
+
# 📚 Anchi Kit Documentation v1.2.7
|
|
2
2
|
|
|
3
3
|
> Điểm bắt đầu cho tất cả tài liệu hướng dẫn Anchi Kit.
|
|
4
4
|
|
|
@@ -100,7 +100,7 @@ npx anchi-kit dashboard # Mở dashboard
|
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
103
|
-
## 📊 Thống Kê v1.2.
|
|
103
|
+
## 📊 Thống Kê v1.2.7
|
|
104
104
|
|
|
105
105
|
| Metric | Giá trị |
|
|
106
106
|
| :-------------- | :--------------- |
|
package/docs/ci-cd/PROJECT.md
CHANGED
package/docs/ci-cd/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 📖 All Commands Reference (Từ Điển Lệnh)
|
|
2
2
|
|
|
3
|
-
> **Mục tiêu:** Tra cứu nhanh tất cả các lệnh có sẵn trong Anchi Kit v1.2.
|
|
3
|
+
> **Mục tiêu:** Tra cứu nhanh tất cả các lệnh có sẵn trong Anchi Kit v1.2.7.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -84,4 +84,4 @@ Bạn có thể thêm các "cờ" sau vào lệnh `/do` để điều khiển h
|
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
-
> **Anchi Kit v1.2.
|
|
87
|
+
> **Anchi Kit v1.2.7**
|
package/docs/personal/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# anchi-kit Architecture v1.2.
|
|
1
|
+
# anchi-kit Architecture v1.2.7
|
|
2
2
|
|
|
3
3
|
> Understanding how anchi-kit works for Cursor AI & Antigravity
|
|
4
4
|
|
|
@@ -25,7 +25,7 @@ anchi-kit is a **unified cognitive toolkit** that provides:
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
## 🔄 Execution Model (v1.2.
|
|
28
|
+
## 🔄 Execution Model (v1.2.7)
|
|
29
29
|
|
|
30
30
|
### "One Engine, Multiple Brains"
|
|
31
31
|
|
|
@@ -71,7 +71,7 @@ The core orchestrator adapts its "brain" based on the project's **Primary Domain
|
|
|
71
71
|
|
|
72
72
|
## 📦 Domain Profiles
|
|
73
73
|
|
|
74
|
-
v1.2.
|
|
74
|
+
v1.2.7 introduces **Domain Profiles** to prevent context explosion:
|
|
75
75
|
|
|
76
76
|
| Profile | Focus Area | Primary Agent | Specialized Packs |
|
|
77
77
|
| :--------- | :-------------- | :-------------------- | :------------------------------ |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Agent Orchestration System v1.2.
|
|
1
|
+
# Agent Orchestration System v1.2.7
|
|
2
2
|
|
|
3
3
|
> Meta-layer điều phối AI: Tự nhận thức, tự kiểm soát, tự giải thích
|
|
4
4
|
> **100% Dynamic Orchestration - Context Aware**
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## 📜 Mục Lục
|
|
9
9
|
|
|
10
|
-
1. [Overview - What's New in v1.2.
|
|
10
|
+
1. [Overview - What's New in v1.2.7](#1-overview---whats-new-in-v127)
|
|
11
11
|
2. [Execution Model](#2-execution-model-v121)
|
|
12
12
|
3. [Domain Profiles](#3-domain-profiles-context-isolation)
|
|
13
13
|
4. [Agent Capability](#4-agent-capability--boundary)
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
## 1️⃣ Overview - What's New in v1.2.
|
|
20
|
+
## 1️⃣ Overview - What's New in v1.2.7
|
|
21
21
|
|
|
22
22
|
### ✅ Achievements
|
|
23
23
|
|
|
24
|
-
| Metric | v1.1.0 | v1.2.
|
|
24
|
+
| Metric | v1.1.0 | v1.2.7 (Current) | Improvement |
|
|
25
25
|
| :--------------- | :------------ | :--------------- | :---------- |
|
|
26
26
|
| **Architecture** | 5-Layer | **Domain-Aware** | ✅ Sharp |
|
|
27
27
|
| **Context** | Global | **Isolated** | ✅ Clean |
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## 2️⃣ Execution Model (v1.2.
|
|
32
|
+
## 2️⃣ Execution Model (v1.2.7)
|
|
33
33
|
|
|
34
|
-
Mô hình tư duy chuẩn của anchi-kit v1.2.
|
|
34
|
+
Mô hình tư duy chuẩn của anchi-kit v1.2.7:
|
|
35
35
|
|
|
36
36
|
```
|
|
37
37
|
┌──────────────────────────────────────────┐
|
|
@@ -328,7 +328,7 @@ command_mapping:
|
|
|
328
328
|
- git-automation
|
|
329
329
|
- changelog-generator
|
|
330
330
|
|
|
331
|
-
/clean: # NEW in v1.2.
|
|
331
|
+
/clean: # NEW in v1.2.7
|
|
332
332
|
default: project-manager
|
|
333
333
|
conditionals:
|
|
334
334
|
- if: "--memory" → docs-manager
|
|
@@ -517,7 +517,7 @@ restraint_rules:
|
|
|
517
517
|
|
|
518
518
|
---
|
|
519
519
|
|
|
520
|
-
## 9️⃣ Agent-Skill Index v1.2.
|
|
520
|
+
## 9️⃣ Agent-Skill Index v1.2.7
|
|
521
521
|
|
|
522
522
|
**Complete mapping:** [.cursor/agent-skill-index.yaml](../.cursor/agent-skill-index.yaml)
|
|
523
523
|
|
|
@@ -674,7 +674,7 @@ Available via: /why
|
|
|
674
674
|
|
|
675
675
|
---
|
|
676
676
|
|
|
677
|
-
## 📊 Migration from v1.0.0 to v1.2.
|
|
677
|
+
## 📊 Migration from v1.0.0 to v1.2.7
|
|
678
678
|
|
|
679
679
|
### Breaking Changes
|
|
680
680
|
|
|
@@ -682,7 +682,7 @@ Available via: /why
|
|
|
682
682
|
|
|
683
683
|
### What Changed
|
|
684
684
|
|
|
685
|
-
| Component | v1.x | v1.2.
|
|
685
|
+
| Component | v1.x | v1.2.7 |
|
|
686
686
|
| ------------------------ | -------------------------- | ------------------------------ |
|
|
687
687
|
| `agent-skill-index.yaml` | 500 lines | 834 lines (rewritten) |
|
|
688
688
|
| Command docs | Some missing orchestration | All have orchestration section |
|
|
@@ -729,7 +729,7 @@ v1.1 Planned:
|
|
|
729
729
|
|
|
730
730
|
---
|
|
731
731
|
|
|
732
|
-
**v1.2.
|
|
732
|
+
**v1.2.7 - Zero Static Mappings, 100% Intelligence** 🚀
|
|
733
733
|
|
|
734
734
|
**Updated:** 2025-12-29
|
|
735
735
|
**Maintainer:** Anchi Kit Team
|
package/docs/reference/README.md
CHANGED
package/docs/team/CI_CD.md
CHANGED
|
@@ -60,7 +60,7 @@ Bạn có thể chỉnh độ khó tính của Bot trong file workflow:
|
|
|
60
60
|
|
|
61
61
|
## 🔮 Roadmap: Shared Memory (Cloud Brain)
|
|
62
62
|
|
|
63
|
-
Hiện tại (v1.2.
|
|
63
|
+
Hiện tại (v1.2.7), AI chạy trên CI/CD độc lập với AI trên máy local của developer.
|
|
64
64
|
Trong phiên bản **v2.0**, chúng tôi sẽ ra mắt **Anchi Cloud Brain**:
|
|
65
65
|
|
|
66
66
|
- Đồng bộ kiến thức giữa cả team.
|
|
@@ -68,4 +68,4 @@ Trong phiên bản **v2.0**, chúng tôi sẽ ra mắt **Anchi Cloud Brain**:
|
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
-
> **Anchi Kit v1.2.
|
|
71
|
+
> **Anchi Kit v1.2.7**
|
package/docs/team/ONBOARDING.md
CHANGED
package/docs/team/README.md
CHANGED
package/docs/team/SETUP_GUIDE.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anchi-kit",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.7",
|
|
4
4
|
"description": "The Ultimate AI-Native Toolkit for Cursor & Gemini. Installs into any existing project. Includes commands, agents, skills, and architecture presets.",
|
|
5
5
|
"main": "src/cli.js",
|
|
6
6
|
"bin": {
|
package/src/cli.js
CHANGED
|
@@ -13,12 +13,12 @@ const PACKAGE_VERSION = (() => {
|
|
|
13
13
|
try {
|
|
14
14
|
const pkgPath = path.join(__dirname, '..', 'package.json');
|
|
15
15
|
if (fs.existsSync(pkgPath)) {
|
|
16
|
-
return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).version || '1.2.
|
|
16
|
+
return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).version || '1.2.7';
|
|
17
17
|
}
|
|
18
18
|
} catch (e) {
|
|
19
19
|
// Fallback if package.json not found or malformed
|
|
20
20
|
}
|
|
21
|
-
return '1.2.
|
|
21
|
+
return '1.2.7'; // Fallback if package.json not found
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
24
|
// =============================================================================
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
|
-
// anchi-kit Dashboard Command v1.2.
|
|
2
|
+
// anchi-kit Dashboard Command v1.2.7 (Interactive Backend)
|
|
3
3
|
// Launches a local web server with live API endpoints for Run, Logs, and Tasks
|
|
4
4
|
// =============================================================================
|
|
5
5
|
|
|
@@ -29,7 +29,7 @@ function addLog(type, message) {
|
|
|
29
29
|
async function dashboard(port = 4567, autoOpen = true) {
|
|
30
30
|
const targetDir = process.cwd();
|
|
31
31
|
|
|
32
|
-
addLog('info', '📊 Starting anchi-kit Dashboard v1.2.
|
|
32
|
+
addLog('info', '📊 Starting anchi-kit Dashboard v1.2.7...');
|
|
33
33
|
|
|
34
34
|
// Helper: Read directory files
|
|
35
35
|
const readDir = (dir) => {
|
|
@@ -424,7 +424,7 @@ async function dashboard(port = 4567, autoOpen = true) {
|
|
|
424
424
|
|
|
425
425
|
s.listen(port, 'localhost', () => {
|
|
426
426
|
const url = `http://localhost:${port}`;
|
|
427
|
-
addLog('success', `✅ Dashboard v1.2.
|
|
427
|
+
addLog('success', `✅ Dashboard v1.2.7 running at: ${url}`);
|
|
428
428
|
|
|
429
429
|
if (autoOpen) {
|
|
430
430
|
const startCommand = process.platform === 'win32' ? 'start' : process.platform === 'darwin' ? 'open' : 'xdg-open';
|
package/src/commands/doctor.js
CHANGED
|
@@ -111,10 +111,10 @@ async function doctor(targetDir = process.cwd()) {
|
|
|
111
111
|
fix: 'Run: npx anchi-kit install'
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
// Check skill-manifest.json (Critical for v1.2.
|
|
114
|
+
// Check skill-manifest.json (Critical for v1.2.7)
|
|
115
115
|
const manifestFile = path.join(targetDir, 'skill-manifest.json');
|
|
116
116
|
checks.push({
|
|
117
|
-
name: 'Skill Manifest (v1.2.
|
|
117
|
+
name: 'Skill Manifest (v1.2.7)',
|
|
118
118
|
ok: fs.existsSync(manifestFile),
|
|
119
119
|
fix: 'Run: npx anchi-kit install or check .antigravity source'
|
|
120
120
|
});
|
package/src/commands/init.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// =============================================================================
|
|
3
|
-
// anchi-kit Enhanced Init Command (v1.2.
|
|
3
|
+
// anchi-kit Enhanced Init Command (v1.2.7)
|
|
4
4
|
// Usage: npx anchi-kit init
|
|
5
5
|
// =============================================================================
|
|
6
6
|
|
|
@@ -94,7 +94,7 @@ async function init() {
|
|
|
94
94
|
// Step 0: Welcome Banner
|
|
95
95
|
console.log('');
|
|
96
96
|
log.header('╔═══════════════════════════════════════════════════════════╗');
|
|
97
|
-
log.header('║ 🧠 Anchi-Kit Cognitive OS Setup (v1.2.
|
|
97
|
+
log.header('║ 🧠 Anchi-Kit Cognitive OS Setup (v1.2.7) ║');
|
|
98
98
|
log.header('╚═══════════════════════════════════════════════════════════╝');
|
|
99
99
|
console.log('');
|
|
100
100
|
|
|
@@ -104,23 +104,34 @@ async function init() {
|
|
|
104
104
|
// 1. Detect Environment (Where to install?)
|
|
105
105
|
let targetFolder = '.cursor'; // Default
|
|
106
106
|
let envLabel = 'Cursor AI';
|
|
107
|
+
let defaultEnv = 'cursor';
|
|
107
108
|
|
|
109
|
+
// Detection logic for defaults
|
|
108
110
|
if (fs.existsSync(path.join(targetPath, '.antigravity'))) {
|
|
111
|
+
defaultEnv = 'antigravity';
|
|
112
|
+
} else if (fs.existsSync(path.join(targetPath, '.cursor'))) {
|
|
113
|
+
defaultEnv = 'cursor';
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Always ask to allow switching, unless force flag is present (handled later or implicit)
|
|
117
|
+
// To keep it simple, we ask with the detected one as "initial" if possible,
|
|
118
|
+
// or just ask. Since 'askChoice' doesn't support default index easily in our wrapper,
|
|
119
|
+
// we'll just show the prompt.
|
|
120
|
+
// Actually, let's verify if we can imply it.
|
|
121
|
+
// User complaint: "Can't install Antigravity".
|
|
122
|
+
// So we MUST ask.
|
|
123
|
+
|
|
124
|
+
const envChoice = await askChoice(`Select AI Platform (Detected: ${defaultEnv === 'cursor' ? 'Cursor AI' : 'Antigravity'}):`, [
|
|
125
|
+
{ value: 'cursor', label: 'Cursor AI', description: 'Install to .cursor/ (Default)' },
|
|
126
|
+
{ value: 'antigravity', label: 'Antigravity (Gemini)', description: 'Install to .antigravity/' }
|
|
127
|
+
]);
|
|
128
|
+
|
|
129
|
+
if (envChoice === 'antigravity') {
|
|
109
130
|
targetFolder = '.antigravity';
|
|
110
131
|
envLabel = 'Antigravity (Gemini)';
|
|
111
|
-
} else
|
|
132
|
+
} else {
|
|
112
133
|
targetFolder = '.cursor';
|
|
113
134
|
envLabel = 'Cursor AI';
|
|
114
|
-
} else {
|
|
115
|
-
// Ask usage environment
|
|
116
|
-
const envChoice = await askChoice('Select your AI Environment:', [
|
|
117
|
-
{ value: 'cursor', label: 'Cursor AI', description: 'Install to .cursor/' },
|
|
118
|
-
{ value: 'antigravity', label: 'Antigravity (Gemini)', description: 'Install to .antigravity/' }
|
|
119
|
-
]);
|
|
120
|
-
if (envChoice === 'antigravity') {
|
|
121
|
-
targetFolder = '.antigravity';
|
|
122
|
-
envLabel = 'Antigravity (Gemini)';
|
|
123
|
-
}
|
|
124
135
|
}
|
|
125
136
|
|
|
126
137
|
// 2. Auto-Detect Tech Stack & Suggest Domain
|
|
@@ -201,7 +212,7 @@ async function init() {
|
|
|
201
212
|
|
|
202
213
|
// Prepare Config Object
|
|
203
214
|
const anchiConfig = {
|
|
204
|
-
version: '1.2.
|
|
215
|
+
version: '1.2.7',
|
|
205
216
|
env: envLabel,
|
|
206
217
|
domain: selectedDomain,
|
|
207
218
|
level: selectedLevel,
|
|
@@ -368,6 +379,27 @@ async function init() {
|
|
|
368
379
|
const scriptDest = path.join(destFolder, 'scripts');
|
|
369
380
|
if (fs.existsSync(scriptSource)) copyDirRecursive(scriptSource, scriptDest);
|
|
370
381
|
|
|
382
|
+
// Copy Compliance & Security Configs
|
|
383
|
+
log.info(' 🛡️ Installing Security definitions...');
|
|
384
|
+
|
|
385
|
+
// Compliance Folder
|
|
386
|
+
const complianceSource = path.join(kitPath, sourceEnv, 'compliance');
|
|
387
|
+
const complianceDest = path.join(destFolder, 'compliance');
|
|
388
|
+
if (fs.existsSync(complianceSource)) {
|
|
389
|
+
copyDirRecursive(complianceSource, complianceDest);
|
|
390
|
+
log.success(' + compliance/ (GDPR, Retention)');
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// Security Yamls
|
|
394
|
+
const securityFiles = ['deploy-guard.yaml', 'data-classification.yaml'];
|
|
395
|
+
securityFiles.forEach(file => {
|
|
396
|
+
const src = path.join(kitPath, sourceEnv, file);
|
|
397
|
+
if (fs.existsSync(src)) {
|
|
398
|
+
fs.copyFileSync(src, path.join(destFolder, file));
|
|
399
|
+
log.success(` + ${file}`);
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
|
|
371
403
|
// Copy AI folders (Implicit) - Both environments use same internal structure
|
|
372
404
|
const auditPath = path.join(kitPath, 'presets/memory-template/.ai-audit');
|
|
373
405
|
if (fs.existsSync(auditPath)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
|
-
// Dashboard Template - Single Page Application v1.2.
|
|
2
|
+
// Dashboard Template - Single Page Application v1.2.7 (Interactive)
|
|
3
3
|
// Features: Tabs, Realtime, Toast, Search, Interactive Run, Terminal, Tasks
|
|
4
4
|
// =============================================================================
|
|
5
5
|
|
|
@@ -66,7 +66,7 @@ module.exports = function getHtml(data) {
|
|
|
66
66
|
<!-- Header -->
|
|
67
67
|
<div class="flex justify-between items-center mb-6">
|
|
68
68
|
<div>
|
|
69
|
-
<h1 class="text-3xl font-bold text-white tracking-tight">⚡ Anchi-Kit <span class="text-sky-400">Dashboard</span> <span class="text-xs bg-sky-500/20 text-sky-400 px-2 py-1 rounded-full">v1.2.
|
|
69
|
+
<h1 class="text-3xl font-bold text-white tracking-tight">⚡ Anchi-Kit <span class="text-sky-400">Dashboard</span> <span class="text-xs bg-sky-500/20 text-sky-400 px-2 py-1 rounded-full">v1.2.7 Pro</span></h1>
|
|
70
70
|
<p class="text-slate-400 mt-1">Project: <span class="text-white font-medium" id="project-name">...</span></p>
|
|
71
71
|
</div>
|
|
72
72
|
<div class="text-right">
|
|
@@ -272,7 +272,7 @@ module.exports = function getHtml(data) {
|
|
|
272
272
|
</div>
|
|
273
273
|
</div>
|
|
274
274
|
|
|
275
|
-
<!-- TAB: GLOBAL KNOWLEDGE (New v1.2.
|
|
275
|
+
<!-- TAB: GLOBAL KNOWLEDGE (New v1.2.7) -->
|
|
276
276
|
<div id="tab-global" class="tab-content hidden">
|
|
277
277
|
<!-- Global Stats -->
|
|
278
278
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-6">
|
|
@@ -351,7 +351,7 @@ module.exports = function getHtml(data) {
|
|
|
351
351
|
|
|
352
352
|
<!-- Footer -->
|
|
353
353
|
<div class="text-center text-slate-500 text-sm py-8 border-t border-slate-800/50 mt-8">
|
|
354
|
-
Anchi-Kit v1.2.
|
|
354
|
+
Anchi-Kit v1.2.7 Pro • <a href="/api/logs" class="text-sky-400 hover:underline">System Logs</a>
|
|
355
355
|
</div>
|
|
356
356
|
</div>
|
|
357
357
|
|
|
@@ -453,7 +453,7 @@ module.exports = function getHtml(data) {
|
|
|
453
453
|
const res = await fetch('/api/tasks');
|
|
454
454
|
const data = await res.json();
|
|
455
455
|
if (data.error) {
|
|
456
|
-
console.log(
|
|
456
|
+
console.log(\`✅ Dashboard v1.2.7 running at: http://localhost:\${port}\`);
|
|
457
457
|
document.getElementById('tasks-todo').innerHTML = '<div class="text-slate-500 italic p-4">task.md not found. Create one to start tracking!</div>';
|
|
458
458
|
document.getElementById('tasks-done').innerHTML = '';
|
|
459
459
|
return;
|
|
@@ -531,7 +531,7 @@ module.exports = function getHtml(data) {
|
|
|
531
531
|
} catch(e) { showToast('Network Error', 'error'); }
|
|
532
532
|
}
|
|
533
533
|
|
|
534
|
-
// --- Health Tab Loader (Codebase Vitals v1.2.
|
|
534
|
+
// --- Health Tab Loader (Codebase Vitals v1.2.7) ---
|
|
535
535
|
async function loadHealth(manual=false) {
|
|
536
536
|
try {
|
|
537
537
|
const res = await fetch('/api/health'); const h = await res.json();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
|
-
// Domain & Capability Definitions (v1.2.
|
|
2
|
+
// Domain & Capability Definitions (v1.2.7)
|
|
3
3
|
// =============================================================================
|
|
4
4
|
|
|
5
5
|
// 1. Primary Domains (The "Brain" - Mutually Exclusive)
|