@ryuenn3123/agentic-senior-core 6.16.3 → 6.16.5
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/.agents/plugins/agentic-senior-core/.codex-plugin/plugin.json +1 -1
- package/.agents/plugins/agentic-senior-core/commands/asc-pentest.md +2 -0
- package/.agents/plugins/agentic-senior-core/commands/asc-pentest.toml +3 -0
- package/.agents/plugins/agentic-senior-core/hooks/dedup-gate.js +137 -128
- package/.agents/plugins/agentic-senior-core/hooks/hooks.json +97 -0
- package/.agents/plugins/agentic-senior-core/hooks/ladder-pulse.js +53 -36
- package/.agents/plugins/agentic-senior-core/hooks/path-util.cjs +118 -4
- package/.agents/plugins/agentic-senior-core/hooks/post-edit-enforce.js +98 -81
- package/.agents/plugins/agentic-senior-core/hooks/pre-tool-dependency-gate.js +168 -191
- package/.agents/plugins/agentic-senior-core/hooks/session-pulse.js +48 -35
- package/.agents/plugins/agentic-senior-core/hooks/session-start.js +62 -11
- package/.agents/plugins/agentic-senior-core/hooks.json +4 -94
- package/.agents/plugins/agentic-senior-core/plugin.json +5 -13
- package/.agents/plugins/agentic-senior-core/rules/agentic-senior-core.md +1 -0
- package/.agents/plugins/agentic-senior-core/skills/asc/SKILL.md +5 -2
- package/.agents/plugins/agentic-senior-core/skills/asc-develop/SKILL.md +1 -1
- package/.agents/plugins/agentic-senior-core/skills/asc-pentest/SKILL.md +97 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-pentest/references/api-security-idor.md +105 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-pentest/references/dast-baseline.md +78 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-pentest/references/fuzzing-dsl.md +66 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-pentest/references/pentest-task-tree.md +70 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-review/SKILL.md +1 -1
- package/.agents/plugins/agentic-senior-core/skills/asc-test/SKILL.md +8 -1
- package/.agents/plugins/agentic-senior-core/skills/asc-test/references/mutation-testing.md +55 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-test/references/performance-budgets.md +67 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-test/references/property-testing.md +72 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/SKILL.md +17 -14
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/color-surfaces.md +25 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/craft/themes-catalog.md +198 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/divergence.md +34 -2
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/genre-calibration.md +89 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/operate.md +26 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/persuade.md +10 -9
- package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/redesign-audit.md +4 -9
- package/bin/agentic-senior-core.js +19 -4
- package/gemini-extension.json +2 -2
- package/lib/cli/ascx/runtime.mjs +5 -27
- package/lib/cli/ascx/windows-spawn.mjs +348 -0
- package/lib/cli/commands/bootstrap.mjs +56 -0
- package/lib/cli/commands/dedup.mjs +500 -0
- package/lib/cli/commands/git-hook-generator.mjs +3 -2
- package/lib/cli/commands/global.mjs +109 -53
- package/lib/cli/commands/preview.mjs +18 -9
- package/package.json +1 -1
- package/plugin.yaml +3 -1
|
@@ -86,7 +86,7 @@ Slop is not static. As soon as AI models are instructed to avoid one set of clic
|
|
|
86
86
|
|
|
87
87
|
```
|
|
88
88
|
┌────────────────────────────────────────────────────────┐
|
|
89
|
-
│ THE
|
|
89
|
+
│ THE FOUR WAVES OF AI DESIGN TELLS │
|
|
90
90
|
├────────────────────────────────────────────────────────┤
|
|
91
91
|
│ Wave 1 (2023–2024): The Neon Starter Pack │
|
|
92
92
|
│ Violet/cyan gradients, glassmorphism, floating drop │
|
|
@@ -100,16 +100,26 @@ Slop is not static. As soon as AI models are instructed to avoid one set of clic
|
|
|
100
100
|
│ Yellow-cream parchment (#FDFBF7) + terracotta/rust, │
|
|
101
101
|
│ giant italic serif display, broadsheet newspaper grids,│
|
|
102
102
|
│ performative index numbers (01 / 02), fake coordinates.│
|
|
103
|
+
├────────────────────────────────────────────────────────┤
|
|
104
|
+
│ Wave 4 (2026): The Geek / Terminal Cosplay │
|
|
105
|
+
│ ASCII art charts, pseudo-telemetry consoles, fake dark │
|
|
106
|
+
│ terminal frames forced onto non-developer products. │
|
|
103
107
|
└────────────────────────────────────────────────────────┘
|
|
104
108
|
```
|
|
105
109
|
|
|
106
110
|
### 5.1 Defending Against Wave 3 (Editorial Slop)
|
|
107
|
-
The remedy published for Wave 1 and 2 was "warm it up and make it editorial". Models adopted this wholesale, making warm editorial
|
|
111
|
+
The remedy published for Wave 1 and 2 was "warm it up and make it editorial". Models adopted this wholesale, making warm editorial an instantly recognizable AI tell:
|
|
108
112
|
- **Terracotta & Cream Monoculture:** Banned as an unprompted AI reflex. Warmth must come from low-chroma stone, authentic product photography, or deep rich ink—not default yellow-cream backgrounds paired with rust orange.
|
|
109
113
|
- **Oversized Italic Serif Cliché:** Do not use italic serif display as a superficial shortcut to "luxury" or "premium" unless the client's actual brand specifically requires it.
|
|
110
114
|
- **Broadsheet Cosplay:** Hairline 1px borders dividing zero-radius dense columns to mimic an 1890s newspaper is an artificial costume. Structure must emerge from clear spatial scale and tonal contrast.
|
|
111
115
|
- **Performative Agency Metadata:** Banned decorative index numbering (`01`, `02`, `(001)`), fake coordinates (`37.77° N`), and version stamps (`©2026 — Scroll`) that convey zero operational data.
|
|
112
116
|
|
|
117
|
+
### 5.2 Defending Against Wave 4 (Geek & Terminal Cosplay)
|
|
118
|
+
When models are forbidden from building generic cards or warm editorial broadsheets, they frequently overcorrect by turning *every* application into a cyberpunk or terminal telemetry dashboard:
|
|
119
|
+
- **Hard Ban on Non-Developer Terminals:** Never enclose ordinary educational, institutional, or business data inside a fake terminal window with prompt symbols (`$`, `>`).
|
|
120
|
+
- **No ASCII Charts or Brackets:** Never generate ASCII art radar charts (`/\`, `[■■■□□]`), pseudo-status brackets (`[STATUS: 112]`), or terminal line-drawings. Use semantic HTML5 `<progress>` elements, styled SVG bars, and clean tabular typography.
|
|
121
|
+
- **Zero Pseudo-Telemetry Jargon:** Never label normal administrative or assessment features with fake aerospace/hacker jargon ("telemetry console", "neural assessment engine", "quantum telemetry"). Call it what it is plainly in human language.
|
|
122
|
+
|
|
113
123
|
---
|
|
114
124
|
|
|
115
125
|
## 6. Substance Over Restraint (Anti-Sterile Empty Voids)
|
|
@@ -124,4 +134,26 @@ Stripping away slop ornaments (cards, borders, badges, gradients) is only the fi
|
|
|
124
134
|
2. **Full-Field Color Anchors:** Instead of scattering small floating cards, ground layouts with full-bleed background tone shifts (e.g., transitioning from a clean light canvas into a deep, tinted section floor).
|
|
125
135
|
3. **Authentic Interface Fragments:** For software products, construct working, interactive HTML/CSS UI components (a data table with real rows, an interactive calculation filter, or live code tabs) rather than empty illustrations or placeholder diagrams.
|
|
126
136
|
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 7. The Card-Soup Syndrome & Unified Spatial Canvas
|
|
140
|
+
|
|
141
|
+
The most prevalent tell of generative AI frontends in 2026 is **The Card-Soup Syndrome (Archipelago of Floating Cards)**.
|
|
142
|
+
|
|
143
|
+
### 7.1 What is Card-Soup?
|
|
144
|
+
Because LLMs are trained on millions of generic Tailwind and component library examples, their immediate probabilistic reflex when laying out any section is to wrap it inside:
|
|
145
|
+
`<div class="bg-white rounded-xl border border-slate-200 p-6 shadow-sm">`
|
|
146
|
+
|
|
147
|
+
When applied across a full screen, the layout collapses into 5–8 disconnected white boxes floating on a grayish background. To human eyes, this immediately screams "low-effort AI template".
|
|
148
|
+
|
|
149
|
+
### 7.2 The Structural Rule: Cards vs. Spatial Architecture
|
|
150
|
+
- **Cards are strictly for discrete, interchangeable, dynamic items:** Product catalog grids, kanban task cards, or gallery thumbnails.
|
|
151
|
+
- **Cards are FORBIDDEN as structural section wrappers:** Never wrap an application header, tab bar, left workflow rail, or primary data table in separate, floating rounded boxes!
|
|
152
|
+
|
|
153
|
+
### 7.3 The Unified Spatial Canvas Invariant
|
|
154
|
+
In professional human-crafted software (Linear, Stripe, Vercel, GitHub):
|
|
155
|
+
1. **Single Cohesive Plane:** The application is housed in a unified spatial sheet or integrated rails, not an archipelago of floating islands.
|
|
156
|
+
2. **Hairline Boundaries:** Spatial separation is established through clean 1px borders (`border-r border-slate-200`, `divide-y divide-slate-100`) and subtle background tonal shifts (`#f8fafc` canvas background $\to$ `#ffffff` primary sheet $\to$ `#fcfcfd` auxiliary rail).
|
|
157
|
+
3. **High Data-to-Padding Ratio:** Tables must not be padded with bloated 24px–32px empty space. Use compact, scannable cell heights ($10\text{px}–14\text{px}$ vertical padding) with tabular monospace figures (`font-mono tabular-nums`).
|
|
158
|
+
|
|
127
159
|
|
package/.agents/plugins/agentic-senior-core/skills/asc-ui/references/modes/genre-calibration.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Domain & Genre Calibration (Anti-Geek Cosplay)
|
|
2
|
+
|
|
3
|
+
> **Core Invariant:** The real-world problem domain dictates visual posture, NEVER generic AI trends. A school evaluation system must look like an educational instrument; an accounting app must look like a ledger; only actual developer tools should ever look like a terminal.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. The 4 Target Genres & Aesthetic Contracts
|
|
8
|
+
|
|
9
|
+
Before laying out a single component or proposing a visual design, classify the project into one of four real-world genres:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
┌────────────────────────────────────────────────────────────────────────┐
|
|
13
|
+
│ THE 4 REAL-WORLD GENRES │
|
|
14
|
+
├────────────────────────────────────────────────────────────────────────┤
|
|
15
|
+
│ 1. Civic, Institutional & Educational (Gov, School, NGO, Compliance) │
|
|
16
|
+
│ 2. Enterprise & B2B Operational (ERP, CRM, Accounting, Inventory) │
|
|
17
|
+
│ 3. Commercial SaaS & Conversion (Public Landing, Pricing, Product) │
|
|
18
|
+
│ 4. Developer Tools & Infrastructure (SDKs, CLIs, Observability, APIs) │
|
|
19
|
+
└────────────────────────────────────────────────────────────────────────┘
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Genre 1: Civic, Institutional & Educational
|
|
23
|
+
*Examples: SAURAN evaluation, academic portals, scouting/youth accreditation, public services, municipal audit.*
|
|
24
|
+
|
|
25
|
+
- **Visual Tone:** Dignified, calm, accessible, structured, and trustworthy.
|
|
26
|
+
- **Surface & Palette:** Clean neutral ground (pure white or soft stone background), crisp 1px borders (`border-border`), high-contrast dark foreground text, semantic status pills (e.g. emerald for *Terverifikasi*, amber for *Butuh Revisi*, slate for *Pending*).
|
|
27
|
+
- **Core Components:**
|
|
28
|
+
- Clear rubric tables with explicit weight/point columns.
|
|
29
|
+
- Category assessment cards showing actual scores vs targets.
|
|
30
|
+
- Step progress indicators for verification workflows.
|
|
31
|
+
- Summary scorecard with clear totals and action buttons.
|
|
32
|
+
- **ABSOLUTE PROHIBITIONS (Second-Order Slop):**
|
|
33
|
+
- **NO Terminal / CLI Cosplay:** Never put evaluation data inside a faux terminal, command prompt window, or ASCII box.
|
|
34
|
+
- **NO ASCII Art or Pseudo-Radars:** Never draw ASCII charts (`/\`, `[■■■□□]`, `[2026]`). Use semantic progress bars (`<progress>` or standard div progress) and proper tabular rows.
|
|
35
|
+
- **NO Dark Cyberpunk Mode:** Never force dark mode or neon glow on institutional workflows.
|
|
36
|
+
- **NO Jargon Injections:** Never label an assessment tool with pseudo-sci-fi phrases ("telemetry console", "evaluation engine", "neural scanner", "quantum monitor"). Call it what it is: *Ringkasan Evaluasi*, *Rubrik Penilaian*, *Status Verifikasi*.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Genre 2: Enterprise & B2B Operational
|
|
41
|
+
*Examples: Internal operations, HR portals, supply chain management, financial reporting.*
|
|
42
|
+
|
|
43
|
+
- **Visual Tone:** Compact, data-dense, predictable, and keyboard-efficient.
|
|
44
|
+
- **Surface & Palette:** Neutral surfaces, subtle divider lines, minimal elevation shadows (flat or `shadow-sm`), clear focus rings.
|
|
45
|
+
- **Core Components:**
|
|
46
|
+
- Data tables with sticky headers, sortable columns, and filter bars.
|
|
47
|
+
- Master-detail side rails or drawers for drilling into row details.
|
|
48
|
+
- Monospace only for aligned financial values (`font-mono tabular-nums`).
|
|
49
|
+
- **ABSOLUTE PROHIBITIONS:**
|
|
50
|
+
- **NO Misplaced Heroes:** Never place giant marketing hero sections, splash banners, or promotional copywriting inside an operational dashboard.
|
|
51
|
+
- **NO Decorative Metric Clutter:** Every stat card must correspond to an actual query or measurable KPI. Omit generic "Welcome back, User!" filler.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### Genre 3: Commercial SaaS & Conversion
|
|
56
|
+
*Examples: Marketing landing pages, product launch pages, pricing tiers.*
|
|
57
|
+
|
|
58
|
+
- **Visual Tone:** Sharp, decisive, persuasive, authentic conviction.
|
|
59
|
+
- **Surface & Palette:** Generative typographic scale contrast ($Display \ge 3.5\times Body$), tight leading (`leading-[1.05]`), full-bleed background anchor, authentic product screenshots or functional interactive calculators.
|
|
60
|
+
- **ABSOLUTE PROHIBITIONS:**
|
|
61
|
+
- **NO Cliché Gradients:** Saturated purple-to-indigo or cyan-to-violet linear gradients.
|
|
62
|
+
- **NO Symmetrical 3-Card Grid:** Identical cards with Lucide icons in pastel rounded squares.
|
|
63
|
+
- **NO Fabricated Proof:** Fake partner logos or manufactured customer testimonials.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### Genre 4: Developer Tools & Infrastructure
|
|
68
|
+
*Examples: CLI tools, API documentation, log viewers, query consoles.*
|
|
69
|
+
|
|
70
|
+
- **Visual Tone:** High technical precision, compact syntax highlighting, dark/slate neutral grounding or clean technical whiteprint.
|
|
71
|
+
- **Core Components:** Copyable command blocks, real interactive code playgrounds, keyboard shortcut prompts.
|
|
72
|
+
- **ABSOLUTE RULE:** This developer aesthetic is **RESERVED EXCLUSIVELY FOR DEVELOPER PRODUCTS**. Never leak terminal conventions into Genre 1, 2, or 3.
|
|
73
|
+
|
|
74
|
+
### Specialized Real-World Sub-Domains (Mapped in `craft/themes-catalog.md`)
|
|
75
|
+
When working in Healthcare, Physical Commerce/Hospitality, Editorial/EdTech, or Industrial/Field Logistics, select their dedicated domain pair in `references/craft/themes-catalog.md` (`Pharmacy Calm` / `Clinical Precision`, `Atelier Gallery` / `Kinetic Grid`, `Studio Proof` / `Botanical Field`, `Formwork Concrete` / `Meridian Survey`) rather than flattening them into generic corporate SaaS.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 2. The Purpose-Gate (Zero Unearned Widgets)
|
|
80
|
+
|
|
81
|
+
Every component, widget, badge, or section must pass the Purpose-Gate:
|
|
82
|
+
|
|
83
|
+
> **The Purpose-Gate Test:**
|
|
84
|
+
> *"What concrete user decision or task does this element directly enable?"*
|
|
85
|
+
|
|
86
|
+
1. If the element exists solely to "look high-tech", "fill empty space", or "make the page look interactive" without real underlying data $\to$ **DELETE IT**.
|
|
87
|
+
2. Never invent simulated consoles, fake real-time feeds, or unprompted sliders.
|
|
88
|
+
3. If the user asks for an evaluation summary, provide clear, functional assessment cards and tables—never decorative cosplay.
|
|
89
|
+
|
|
@@ -51,3 +51,29 @@ Use for: Dashboards, data grids, admin consoles, editors, settings, financial le
|
|
|
51
51
|
- **Zero Decorative Halos:**
|
|
52
52
|
- Never wrap status dots or cards in glowing radial blurs (`shadow-[0_0_12px_#10b981]`). Keep indicators solid and functional.
|
|
53
53
|
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 4. Audit & Inspection Finding Rows (Action Affordance Invariant)
|
|
57
|
+
|
|
58
|
+
- **Interactive Row Contract:**
|
|
59
|
+
- Finding rows, audit line items, and checklist items must never be rendered as dead, static text blocks.
|
|
60
|
+
- Every finding row (e.g. `FT-01: Bukti fisik belum dilampirkan`) must provide:
|
|
61
|
+
1. **Primary Action Affordance:** Explicit inline trigger button (e.g. `Periksa Bukti`, `Minta Rincian`, or expandable chevron).
|
|
62
|
+
2. **Attachment Badge:** File type badge (`PDF`, `XLSX`), byte size, and upload timestamp.
|
|
63
|
+
3. **Status Pill:** High-contrast semantic pill (`Perlu Tindak Lanjut`, `Menunggu Konfirmasi`, `Selesai`).
|
|
64
|
+
4. **Hover State:** `hover:bg-muted/40 transition-colors` across the entire row bounding box.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 5. Dual-Navigation De-Confliction (Lenses vs Lifecycle)
|
|
69
|
+
|
|
70
|
+
- **Separation of Mental Models:**
|
|
71
|
+
- **Horizontal Tabs**: View-Port Filter Lenses (switching data views, e.g. *Ringkasan*, *Rubrik Domain*, *Temuan*, *Riwayat*). These change what information is rendered on the stage.
|
|
72
|
+
- **Vertical Rail**: Immutable Lifecycle Progression (e.g. *1. Unggah Dokumen $\to$ 2. Verifikasi $\to$ 3. Penilaian $\to$ 4. Konfirmasi Fisik $\to$ 5. Rangkuman*). This reflects where the entity is in its operational state.
|
|
73
|
+
- **Accenting Active Lifecycle Step:**
|
|
74
|
+
- Never let the current active step in the lifecycle rail look identical to future unstarted steps.
|
|
75
|
+
- Active step: highlighted with high-contrast accent ring or filled circle (`bg-primary text-primary-foreground`) with an active descriptor ("Tahap aktif verifikasi").
|
|
76
|
+
- Completed steps: clear muted checks (`text-emerald-600` with subtle strike or timestamp).
|
|
77
|
+
- Pending steps: muted borders (`border-border text-muted-foreground`).
|
|
78
|
+
|
|
79
|
+
|
|
@@ -30,7 +30,7 @@ When building or redesigning a Persuade surface, never let the LLM default to th
|
|
|
30
30
|
│ offset against an interactive preview, ROI calculator, or live UI. │
|
|
31
31
|
│ 2. The Monolith Ledger: Single-column dense reading measure with │
|
|
32
32
|
│ full-bleed horizontal rows, hairline dividers, and deep ink. │
|
|
33
|
-
│ 3. Product-Led Canvas: Live application interface or
|
|
33
|
+
│ 3. Product-Led Canvas: Live application interface or workflow canvas │
|
|
34
34
|
│ dominates the first viewport; copy recedes to tightly frame it. │
|
|
35
35
|
│ 4. Kinetic Proof Stream: Alternating proof blocks driven by verifiable │
|
|
36
36
|
│ benchmarks, architectural diagrams, and real data payloads. │
|
|
@@ -38,7 +38,7 @@ When building or redesigning a Persuade surface, never let the LLM default to th
|
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
- **Posture Selection Protocol:**
|
|
41
|
-
- If real software
|
|
41
|
+
- If real software interface exists $\to$ **Posture 3 (Product-Led Canvas)**.
|
|
42
42
|
- If quantitative savings or enterprise value proposition $\to$ **Posture 1 (Asymmetric Stage)**.
|
|
43
43
|
- If technical documentation, whitepaper, or architectural manifesto $\to$ **Posture 2 (The Monolith Ledger)**.
|
|
44
44
|
- If performance benchmarks, protocol comparisons, or telemetry proof $\to$ **Posture 4 (Kinetic Proof Stream)**.
|
|
@@ -52,7 +52,7 @@ When building or redesigning a Persuade surface, never let the LLM default to th
|
|
|
52
52
|
- Subtitle: `text-lg text-muted-foreground max-w-xl`
|
|
53
53
|
- Actions: `flex flex-wrap items-center gap-4 pt-2`
|
|
54
54
|
- **Right Artifact (5 cols):** `lg:col-span-5`
|
|
55
|
-
- Authentic artifact, interactive widget, or live ROI card: `rounded-2xl border border-border/80 bg-card p-6 shadow-sm`
|
|
55
|
+
- Authentic artifact, interactive widget, or live score/ROI card: `rounded-2xl border border-border/80 bg-card p-6 shadow-sm`
|
|
56
56
|
- Zero equal-weight card grids below.
|
|
57
57
|
|
|
58
58
|
#### Posture 2: The Monolith Ledger
|
|
@@ -67,8 +67,8 @@ When building or redesigning a Persuade surface, never let the LLM default to th
|
|
|
67
67
|
- **Compact Hero Frame:** `max-w-2xl space-y-4 mb-10`
|
|
68
68
|
- Headline: `text-4xl sm:text-6xl font-extrabold tracking-tight`
|
|
69
69
|
- 1-sentence value claim + 1 primary action.
|
|
70
|
-
- **Hero Canvas (70% Viewport Lead):** `w-full rounded-2xl border border-border/80 bg-
|
|
71
|
-
- Real interface fragment or live demo canvas dominating the first viewport.
|
|
70
|
+
- **Hero Canvas (70% Viewport Lead):** `w-full rounded-2xl border border-border/80 bg-card p-3 shadow-xl`
|
|
71
|
+
- Real interface fragment or live demo canvas dominating the first viewport. Respect project theme tokens; never force artificial dark backgrounds or terminal frames unless the target product is an actual CLI/developer tool.
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
@@ -80,15 +80,16 @@ When building or redesigning a Persuade surface, never let the LLM default to th
|
|
|
80
80
|
- *Flagship Feature:* Full-width container or asymmetric 8/4 split showing the primary capability in action.
|
|
81
81
|
- *Supporting Capabilities:* Compact 2-column checklist or a structured comparison table.
|
|
82
82
|
- **The Signature Element:**
|
|
83
|
-
- Every Persuade surface
|
|
84
|
-
- An interactive
|
|
85
|
-
- A live terminal code editor running the SDK quickstart.
|
|
83
|
+
- Every Persuade surface may feature at most **one memorable signature element** on the first screen that directly reflects the product domain:
|
|
84
|
+
- An interactive calculator or estimator that recalculates results in real time.
|
|
86
85
|
- An unedited, high-resolution product screenshot showing real user data.
|
|
86
|
+
- A live interactive UI fragment (e.g., an assessment scorecard preview for educational tools, a filterable ledger row for accounting tools).
|
|
87
|
+
- **Hard Ban on Faux-Terminal Cosplay:** Never inject terminal prompts, ASCII art, or pseudo-telemetry consoles into non-developer products.
|
|
87
88
|
- A giant counter of marks or animated numbers is a decorative reflex, not a signature.
|
|
88
89
|
|
|
89
90
|
---
|
|
90
91
|
|
|
91
|
-
##
|
|
92
|
+
## 4. Material Honesty & Proof of Reality
|
|
92
93
|
|
|
93
94
|
- **Zero Fabricated Evidence:**
|
|
94
95
|
- Never invent customer quotes, fake partner logos ("Acme Corp, Pied Piper"), or fabricated performance metrics ("10,000+ teams trust us").
|
|
@@ -25,15 +25,10 @@ When executing a **Full Redesign** on an existing template or page (`.blade.php`
|
|
|
25
25
|
- Separate product truth (names, prices, verified claims) from discarded markup.
|
|
26
26
|
2. **Step 2: Isolate / Discard Old Markup**
|
|
27
27
|
- Treat the old layout as an anti-reference. Do not perform incremental class swapping on it.
|
|
28
|
-
3. **Step 3: Author
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- Run zero-dependency visual capture:
|
|
33
|
-
```bash
|
|
34
|
-
asc preview <path_to_preview.html>
|
|
35
|
-
```
|
|
36
|
-
Inspect the captured image at `%TEMP%/asc-preview-active.png` (or pass `--open` to view in OS browser). Verify typographic scale ($Display \ge 3.5\times Body$) and full-field grounding.
|
|
28
|
+
3. **Step 3: Author Isolated Prototype / Structural Layout**
|
|
29
|
+
- When building a complex new surface, draft the isolated DOM layout first using 1 of the 4 Structural Postures (`references/modes/persuade.md` or `operate.md`).
|
|
30
|
+
- Use design tokens and realistic sample data.
|
|
31
|
+
- Verify typographic scale ($Display \ge 3.5\times Body$) and full-field spatial grounding before production injection.
|
|
37
32
|
4. **Step 4: Re-inject Data Contracts into Production**
|
|
38
33
|
- Transfer the proven clean geometry into the project file (`welcome.blade.php`, `Page.tsx`).
|
|
39
34
|
- Re-bind the dynamic data loops, Blade/React variables, and event handlers.
|
|
@@ -25,17 +25,20 @@ function printUsage() {
|
|
|
25
25
|
console.log('Plugin install (always-on, no per-project files):');
|
|
26
26
|
console.log(' Claude Code: /plugin marketplace add fatidaprilian/Agentic-Senior-Core');
|
|
27
27
|
console.log(' Codex CLI: codex plugins install agentic-senior-core\n');
|
|
28
|
-
console.log('Global install (
|
|
29
|
-
console.log(' asc global
|
|
28
|
+
console.log('Global install (auto-detects installed tools, zero project files):');
|
|
29
|
+
console.log(' asc global');
|
|
30
|
+
console.log(' asc global --all\n');
|
|
30
31
|
console.log('Adapter install (one file per project):');
|
|
31
32
|
console.log(' asc adapter --cursor --devin --cline --copilot --kiro --continue --zed --aider --kilocode --roo --openhands --windsurf --all\n');
|
|
32
33
|
console.log('Commands:');
|
|
34
|
+
console.log(' global Auto-detect and install rules to user-level (global) locations');
|
|
33
35
|
console.log(' adapter Generate instruction-tier adapter files');
|
|
34
|
-
console.log('
|
|
36
|
+
console.log(' status Show detected IDEs and install hints');
|
|
37
|
+
console.log(' dedup Scan codebase for duplicate code blocks (Rule of Three)');
|
|
38
|
+
console.log(' bootstrap List or seed anti-slop preference rules');
|
|
35
39
|
console.log(' install-git-hook Install Git pre-commit hook for duplicate code enforcement');
|
|
36
40
|
console.log(' uninstall Remove ASC adapter files and git hooks from this project');
|
|
37
41
|
console.log(' clean Remove v4 per-project artifacts');
|
|
38
|
-
console.log(' status Show detected IDEs and install hints');
|
|
39
42
|
console.log(' preview Render zero-dependency multi-browser snapshot or preview');
|
|
40
43
|
console.log(' --version Show version');
|
|
41
44
|
console.log(' --help Show this help');
|
|
@@ -91,6 +94,18 @@ async function main() {
|
|
|
91
94
|
return;
|
|
92
95
|
}
|
|
93
96
|
|
|
97
|
+
if (commandArgument === 'dedup') {
|
|
98
|
+
const { runDedupCommand } = await import('../lib/cli/commands/dedup.mjs');
|
|
99
|
+
await runDedupCommand(commandArguments);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (commandArgument === 'bootstrap') {
|
|
104
|
+
const { runBootstrapCommand } = await import('../lib/cli/commands/bootstrap.mjs');
|
|
105
|
+
await runBootstrapCommand(commandArguments);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
94
109
|
if (commandArgument === 'preview') {
|
|
95
110
|
const { runPreviewCommand } = await import('../lib/cli/commands/preview.mjs');
|
|
96
111
|
await runPreviewCommand(commandArguments);
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-senior-core",
|
|
3
|
-
"version": "6.16.
|
|
3
|
+
"version": "6.16.5",
|
|
4
4
|
"description": "Universal AI coding rules. Write code like a staff engineer.",
|
|
5
5
|
"author": "fatidaprilian",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
"skills": [
|
|
15
15
|
".agents/plugins/agentic-senior-core/skills/"
|
|
16
16
|
],
|
|
17
|
-
"hooks": ".agents/plugins/agentic-senior-core/hooks.json"
|
|
17
|
+
"hooks": ".agents/plugins/agentic-senior-core/hooks/hooks.json"
|
|
18
18
|
}
|
package/lib/cli/ascx/runtime.mjs
CHANGED
|
@@ -10,6 +10,7 @@ import { compressRgOutput } from './adapters/rg.mjs';
|
|
|
10
10
|
import { buildAscxFooter, shouldWriteSafetyTee } from './formatter.mjs';
|
|
11
11
|
import { classifyAscxInvocation, parseAscxCommand } from './lexer.mjs';
|
|
12
12
|
import { writeRawTeeFile } from './tee-writer.mjs';
|
|
13
|
+
import { prepareSpawnInvocation } from './windows-spawn.mjs';
|
|
13
14
|
|
|
14
15
|
const ADAPTERS = {
|
|
15
16
|
'git-diff': compressGitDiffOutput,
|
|
@@ -21,20 +22,6 @@ const ADAPTERS = {
|
|
|
21
22
|
'rg': compressRgOutput,
|
|
22
23
|
};
|
|
23
24
|
|
|
24
|
-
function buildCommandEnvironment(baseEnvironment, parsedCommand) {
|
|
25
|
-
const commandEnvironment = { ...baseEnvironment };
|
|
26
|
-
|
|
27
|
-
for (const assignment of parsedCommand.environment) {
|
|
28
|
-
const separatorIndex = assignment.indexOf('=');
|
|
29
|
-
const variableName = assignment.slice(0, separatorIndex);
|
|
30
|
-
const variableValue = assignment.slice(separatorIndex + 1);
|
|
31
|
-
|
|
32
|
-
commandEnvironment[variableName] = variableValue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return commandEnvironment;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
25
|
function runSpawnedCommand(parsedCommand, options = {}) {
|
|
39
26
|
const {
|
|
40
27
|
cwd = process.cwd(),
|
|
@@ -43,19 +30,10 @@ function runSpawnedCommand(parsedCommand, options = {}) {
|
|
|
43
30
|
} = options;
|
|
44
31
|
|
|
45
32
|
return new Promise((resolve) => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
? parsedCommand.commandText
|
|
51
|
-
: parsedCommand.executable;
|
|
52
|
-
const args = shell ? [] : parsedCommand.args;
|
|
53
|
-
const childProcess = spawn(executable, args, {
|
|
54
|
-
cwd,
|
|
55
|
-
env: buildCommandEnvironment(env, parsedCommand),
|
|
56
|
-
shell: shell || useWindowsNpmShell,
|
|
57
|
-
windowsHide: true,
|
|
58
|
-
});
|
|
33
|
+
const prepared = prepareSpawnInvocation(parsedCommand, { cwd, env, shell });
|
|
34
|
+
const childProcess = prepared.args === undefined
|
|
35
|
+
? spawn(prepared.command, prepared.options)
|
|
36
|
+
: spawn(prepared.command, prepared.args, prepared.options);
|
|
59
37
|
let stdout = '';
|
|
60
38
|
let stderr = '';
|
|
61
39
|
|