dasa-sradha-kit 5.0.1 → 5.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.
- package/.agent/.shared/dasa-cheat-sheet.toon +45 -0
- package/.agent/rules/GEMINI.md +13 -0
- package/CHANGELOG.md +21 -0
- package/README.md +5 -3
- package/bin/cli.js +89 -9
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Dasa Sradha Kit — Master Cheat Sheet (TOON)
|
|
2
|
+
# ─────────────────────────────────────────────────────────
|
|
3
|
+
# TOON: Token Optimized Object Notation
|
|
4
|
+
# AI NOTICE: Parse this file if the user asks "What can Dasa Sradha do?", "What are the features?", or "How do I use this?". This file acts as the AI's internal API documentation.
|
|
5
|
+
|
|
6
|
+
version: 5.1
|
|
7
|
+
philosophy: "Move intelligence OUT of the prompt and INTO native, zero-dependency code to save tokens."
|
|
8
|
+
|
|
9
|
+
core_pipelines:
|
|
10
|
+
zero_command_routing: "You, the AI, do not need the human to type slash commands. If they say 'make a blog', autonomously route the task to Mpu -> Nala -> Indra."
|
|
11
|
+
agile_handoff:
|
|
12
|
+
phase_1: "Mpu (Architect) generates architecture-state.toon. Nala is blocked until this exists."
|
|
13
|
+
phase_2: "Nala (Builder) implements the code based on Mpu's design. All methods < 10 lines."
|
|
14
|
+
phase_3: "Indra (QA) runs qa_gate.py to scan for 800+ failure heuristics. Fails block the commit."
|
|
15
|
+
|
|
16
|
+
visual_workflow: "If the user has Figma PNGs, they go in `.design-memory/reference/`. Dasa Mpu analyzes them, and `design_memory_sync.py` compresses them into text tokens for Nala."
|
|
17
|
+
|
|
18
|
+
slash_commands_internal:
|
|
19
|
+
- "/dasa-plan: Dasa Mpu writes implementation_plan.md and task.toon."
|
|
20
|
+
- "/dasa-start-work: The engine executes the Mpu -> Nala -> Indra pipeline."
|
|
21
|
+
- "/dasa-feature: Stack-agnostic vertical feature generation."
|
|
22
|
+
- "/dasa-api: Framework-agnostic API generation."
|
|
23
|
+
- "/dasa-refactor: Safe refactoring bounded by qa_gate.py."
|
|
24
|
+
- "/dasa-commit: Runs qa_gate.py and commits."
|
|
25
|
+
- "/dasa-sync: Compresses session into 5-sector dasa_memory.toon."
|
|
26
|
+
- "/dasa-e2e: Native browser test (records .webp)."
|
|
27
|
+
|
|
28
|
+
personas:
|
|
29
|
+
patih: "Orchestrator, handles routing and memory compaction."
|
|
30
|
+
mpu: "Master Architect, designs system state and blueprints."
|
|
31
|
+
nala: "Builder, actual coding and feature implementation."
|
|
32
|
+
indra: "QA Investigator, runs automated tests and qa_gate.py."
|
|
33
|
+
rsi: "Sage Consultant, code review and SOLID enforcement."
|
|
34
|
+
dharma: "Security Guardian, dependency scanning."
|
|
35
|
+
kala: "Swift Fixer, terminal errors and fast patches."
|
|
36
|
+
dwipa: "Scout, local semantic search and repo mapping."
|
|
37
|
+
sastra: "Writer, documentation and Swagger specs."
|
|
38
|
+
widya: "Researcher, library analysis."
|
|
39
|
+
|
|
40
|
+
scripts (zero-dependency python):
|
|
41
|
+
- "qa_gate.py: Scans code against the Engineering Failures Bible."
|
|
42
|
+
- "context_mapper.py: AST parser for codebase context without osgrep."
|
|
43
|
+
- "compact_memory.py: Merges chat chunks into a dense 5-sector TOON structure."
|
|
44
|
+
- "design_engine.py: Generates strict UI rules (spacing scale, border-radiuses) so Nala doesn't hallucinate."
|
|
45
|
+
- "skill_search.py: Local semantic search across ~/.gemini/.../skills/."
|
package/.agent/rules/GEMINI.md
CHANGED
|
@@ -5,6 +5,19 @@ trigger: always_on
|
|
|
5
5
|
# GEMINI.md — Dasa Sradha Kit
|
|
6
6
|
|
|
7
7
|
> This file defines immutable global constraints for ALL 10 Dasa Sradha Personas.
|
|
8
|
+
### P0 Constraints (Absolutely Mandatory)
|
|
9
|
+
|
|
10
|
+
#### 1. Zero-Command Orchestration (Triggerless Auto-Routing)
|
|
11
|
+
> **CRITICAL**: The baseline Antigravity AI (You) MUST act as an orchestrator when addressing user requests, even if they don't explicitly type a `/dasa` command.
|
|
12
|
+
|
|
13
|
+
If the user asks you to build a feature, start a project, or refactor natively (e.g., *"Build me a blog with Astro and Express"* or *"Add a login page"*):
|
|
14
|
+
1. **Bootstrap**: Check if `dasa.config.toon` exists in the root. If not, strongly recommend (or execute) `npx dasa-sradha-kit init`.
|
|
15
|
+
2. **Cheat-Sheet Check**: If the user asks what you can do, instantly read `.artifacts/dasa-cheat-sheet.toon`.
|
|
16
|
+
3. **Task Trajectory**: Instead of immediately hallucinating code into the editor, YOU MUST write the plan into `.artifacts/task.toon` utilizing the Dasa Mpu -> Dasa Nala -> Dasa Indra Agile pipeline.
|
|
17
|
+
4. **Visual Context Retrieval**: Before generating UI code, YOU MUST check if `.design-memory/reference/` contains mockups or PNGs, and if so, instruct Dasa Nala to execute `design_memory_sync.py` to compress those PNGs into tokens.
|
|
18
|
+
5. **Autonomy**: You are allowed to proactively invoke the `.agent/workflows/*.md` commands behind the scenes to fulfill the user's intent.
|
|
19
|
+
|
|
20
|
+
#### 2. Dasa Personas Overrides
|
|
8
21
|
> **Priority:** P0 (GEMINI.md) > P1 (Agent .md) > P2 (Skill SKILL.md). All rules are binding.
|
|
9
22
|
|
|
10
23
|
---
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ All notable changes to the Dasa Sradha Kit will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [5.1.0] - 2026-02-22
|
|
8
|
+
|
|
9
|
+
### ✨ New
|
|
10
|
+
- **Zero-Command Orchestration:** Injected P0 `GEMINI.md` constraints so baseline AIs autonomously parse natural language and self-start the `Mpu -> Nala -> Indra` pipeline without requiring explicit slash commands.
|
|
11
|
+
- **Visual-to-Code Workflow:** Formally defined `.design-memory/reference/` as the drop-zone for Figma exports and mockups. Dasa Mpu now analyzes visual assets before Nala builds.
|
|
12
|
+
- **AI Cheat-Sheet:** `dasa-sradha init` now scaffolds `.artifacts/dasa-cheat-sheet.toon`. This provides instant read-access to AI models regarding the framework's capabilities, eliminating context hallucination.
|
|
13
|
+
|
|
14
|
+
### 🐛 Fixed
|
|
15
|
+
- Expanded `bin/cli.js` to fully scaffold the `.artifacts` and `.design-memory` TOON templates.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## [5.0.1] - 2026-02-22
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- Renamed CLI bin from `dasa` to `dasa-sradha` (NPM rejected generic name).
|
|
23
|
+
- Normalized `bin` paths via `npm pkg fix` to prevent stripping during publish.
|
|
24
|
+
- Published to NPM: `npm install -g dasa-sradha-kit`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
7
28
|
## [5.0.0] - 2026-02-22
|
|
8
29
|
|
|
9
30
|
### 🚀 Major Release: V5 Zero-Dependency Ecosystem
|
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@ The **Dasa Sradha Kit** is a native, zero-dependency agentic framework designed
|
|
|
4
4
|
|
|
5
5
|
## Key Features
|
|
6
6
|
|
|
7
|
-
- **
|
|
7
|
+
- **Zero-Command Orchestration**: No need to memorize slash commands. Just prompt naturally (e.g., *"Build me a blog"*), and the P0 GEMINI.md constraints will intercept and autonomously route the task into the Dasa pipeline.
|
|
8
|
+
- **Visual-to-Code Workflow**: Drop Figma mockups or PNGs into `.design-memory/reference/`. Dasa Mpu analyzes them, and local native scripts compress the visual data into text tokens for Dasa Nala to build.
|
|
9
|
+
- **10 Persona-Based Orchestration**: Distinct AI agents (Scout, Architect, Builder, etc.) with strict Agile handoffs.
|
|
8
10
|
- **Zero-Dependency Native Execution**: Uses Antigravity's built-in `browser_subagent` for E2E testing and `run_command` for execution. No Playwright, no heavy NPM packages.
|
|
9
11
|
- **5-Sector TOON Long-Term Memory**: Compresses chat histories into `episodic`, `semantic`, `procedural`, `emotional`, and `reflective` vaults for infinite context without token bloat.
|
|
10
12
|
- **17 Native Python Scripts**: Cross-platform tooling for QA gates, AST-based context mapping, security scanning, and design system generation — all zero-dependency.
|
|
@@ -35,7 +37,7 @@ npx dasa-sradha-kit init
|
|
|
35
37
|
|
|
36
38
|
```bash
|
|
37
39
|
npm install -g dasa-sradha-kit
|
|
38
|
-
dasa init
|
|
40
|
+
dasa-sradha init
|
|
39
41
|
```
|
|
40
42
|
|
|
41
43
|
### Option C: Clone & Init
|
|
@@ -44,7 +46,7 @@ dasa init
|
|
|
44
46
|
git clone https://github.com/TudeOrangBiasa/dasa-sradha-kit.git
|
|
45
47
|
cd dasa-sradha-kit
|
|
46
48
|
npm link
|
|
47
|
-
dasa init
|
|
49
|
+
dasa-sradha init
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
This generates your `dasa.config.toon`, builds the `.agent/` mechanics folder, and creates the `.artifacts/` memory vault.
|
package/bin/cli.js
CHANGED
|
@@ -108,17 +108,97 @@ external_skills: [] # Absolute paths to community skills to activate
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
function scaffoldArtifactDirs(dest) {
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
111
|
+
// 1. .artifacts/ — Short-Term Memory
|
|
112
|
+
const artifactsDir = path.join(dest, ".artifacts");
|
|
113
|
+
if (!fs.existsSync(artifactsDir)) {
|
|
114
|
+
fs.mkdirSync(artifactsDir, { recursive: true });
|
|
115
|
+
info("Created .artifacts/");
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const artifactFiles = {
|
|
119
|
+
"task.toon": `# Dasa Sradha — Task Tracker (TOON)
|
|
120
|
+
# Updated by /dasa-plan and /dasa-start-work
|
|
121
|
+
status: idle
|
|
122
|
+
current_task: null
|
|
123
|
+
completed: []
|
|
124
|
+
`,
|
|
125
|
+
"architecture-state.toon": `# Dasa Sradha — Architecture State (TOON)
|
|
126
|
+
# Generated by Dasa Mpu during /dasa-start-work Phase 1
|
|
127
|
+
# Dasa Nala is BLOCKED until this file is populated.
|
|
128
|
+
state: pending
|
|
129
|
+
modules: []
|
|
130
|
+
`,
|
|
131
|
+
"dasa_memory.toon": `# Dasa Sradha — 5-Sector TOON Memory Vault
|
|
132
|
+
# Compacted by /dasa-sync via compact_memory.py
|
|
133
|
+
|
|
134
|
+
episodic: []
|
|
135
|
+
semantic: []
|
|
136
|
+
procedural: []
|
|
137
|
+
emotional: []
|
|
138
|
+
reflective: []
|
|
139
|
+
`
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
for (const [file, content] of Object.entries(artifactFiles)) {
|
|
143
|
+
const filePath = path.join(artifactsDir, file);
|
|
144
|
+
if (!fs.existsSync(filePath)) {
|
|
145
|
+
fs.writeFileSync(filePath, content, "utf8");
|
|
146
|
+
info(` Created .artifacts/${file}`);
|
|
120
147
|
}
|
|
121
148
|
}
|
|
149
|
+
|
|
150
|
+
// 2. .design-memory/ — Long-Term UI Memory
|
|
151
|
+
const designDir = path.join(dest, ".design-memory");
|
|
152
|
+
if (!fs.existsSync(designDir)) {
|
|
153
|
+
fs.mkdirSync(designDir, { recursive: true });
|
|
154
|
+
info("Created .design-memory/");
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const designFiles = {
|
|
158
|
+
"style.md": `# Design Memory — Style Guide
|
|
159
|
+
# Generated by design_engine.py or manually by the user.
|
|
160
|
+
# Dasa Nala reads this BEFORE writing any UI code.
|
|
161
|
+
|
|
162
|
+
colors: []
|
|
163
|
+
typography: []
|
|
164
|
+
spacing: [4, 8, 16, 24, 32]
|
|
165
|
+
border_radius: [4, 8]
|
|
166
|
+
`,
|
|
167
|
+
"layout.md": `# Design Memory — Layout Rules
|
|
168
|
+
# Defines the grid, breakpoints, and component spacing.
|
|
169
|
+
|
|
170
|
+
breakpoints:
|
|
171
|
+
mobile: 375px
|
|
172
|
+
tablet: 768px
|
|
173
|
+
desktop: 1280px
|
|
174
|
+
|
|
175
|
+
grid: 12-column
|
|
176
|
+
gutter: 16px
|
|
177
|
+
`
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
for (const [file, content] of Object.entries(designFiles)) {
|
|
181
|
+
const filePath = path.join(designDir, file);
|
|
182
|
+
if (!fs.existsSync(filePath)) {
|
|
183
|
+
fs.writeFileSync(filePath, content, "utf8");
|
|
184
|
+
info(` Created .design-memory/${file}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// 3. .design-memory/reference/ — For Figma PNG exports
|
|
189
|
+
const referenceDir = path.join(designDir, "reference");
|
|
190
|
+
if (!fs.existsSync(referenceDir)) {
|
|
191
|
+
fs.mkdirSync(referenceDir, { recursive: true });
|
|
192
|
+
info(" Created .design-memory/reference/");
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// 4. Copy Master Cheat Sheet to .artifacts/
|
|
196
|
+
const cheatSheetSrc = path.join(dest, ".agent", ".shared", "dasa-cheat-sheet.toon");
|
|
197
|
+
const cheatSheetDest = path.join(artifactsDir, "dasa-cheat-sheet.toon");
|
|
198
|
+
if (fs.existsSync(cheatSheetSrc) && !fs.existsSync(cheatSheetDest)) {
|
|
199
|
+
fs.copyFileSync(cheatSheetSrc, cheatSheetDest);
|
|
200
|
+
info(" Scaffolded .artifacts/dasa-cheat-sheet.toon");
|
|
201
|
+
}
|
|
122
202
|
}
|
|
123
203
|
|
|
124
204
|
// ─────────────────────────────────────────────────────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dasa-sradha-kit",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "The Dasa Sradha 10-Persona Orchestration Framework for Antigravity IDE. Cross-platform CLI for setting up AI-assisted development workflows.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dasa-sradha": "bin/cli.js",
|