@ecc-hgy/ae 0.3.0 → 0.5.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/README.md +64 -17
- package/package.json +1 -1
- package/skills/diagnose/SKILL.md +1 -1
- package/skills/karpathy-guidelines/SKILL.md +64 -0
- package/skills/powerautomate-email-to-sharepoint-excel/powerautomate-email-to-sharepoint-excel-skill.md +496 -0
- package/skills/review/SKILL.md +2 -2
- package/skills/tdd/SKILL.md +2 -2
- package/skills/to-issues/SKILL.md +2 -2
- package/skills/to-issues/todo-template.md +2 -2
- package/skills/to-prd/SKILL.md +3 -3
- package/skills/using-agentic-engineering/SKILL.md +62 -0
- package/skills/verification-before-completion/SKILL.md +2 -2
- package/skills/writing-plans/SKILL.md +2 -2
- package/src/cli.js +1 -1
- package/src/commands/init.js +7 -4
- package/src/commands/setup.js +70 -11
- package/src/platforms.js +132 -0
- package/src/skeleton.js +4 -0
- package/templates/entries/AGENTS.md +0 -21
- package/templates/entries/README.md +24 -10
- package/templates/entries/spec/ADR/AGENTS.md +30 -0
- package/templates/entries/spec/ADR/CLAUDE.md +5 -0
- package/templates/entries/spec/AGENTS.md +35 -0
- package/templates/entries/spec/CLAUDE.md +5 -0
- package/templates/entries/spec/INDEX.md +13 -0
- package/templates/entries/spec/README.md +4 -0
package/README.md
CHANGED
|
@@ -3,7 +3,30 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@ecc-hgy/ae)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
|
|
6
|
-
Agentic Engineering is a lightweight personal software lifecycle method: SDD records what to build, TDD drives how to prove it works. It is delivered as a zero-dependency npm CLI plus agent skills for
|
|
6
|
+
Agentic Engineering is a lightweight personal software lifecycle method: SDD records what to build, TDD drives how to prove it works. It is delivered as a zero-dependency npm CLI plus agent skills for multiple AI coding platforms.
|
|
7
|
+
|
|
8
|
+
## How It Works
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
(one-time) ─────▶ S0 Bootstrap · ae setup → ae init
|
|
12
|
+
│
|
|
13
|
+
(each request) ──▶ Router · is this request a *need*?
|
|
14
|
+
│
|
|
15
|
+
┌──── no ────┴──── yes ────┐
|
|
16
|
+
▼ ▼
|
|
17
|
+
just do it enter S1 Main Loop
|
|
18
|
+
(Q&A / quick fix / │
|
|
19
|
+
throwaway script) ├─ A. Need: align → PRD → design → todo → TDD → verify
|
|
20
|
+
└─ B. Accept: accept → debug → fix → reverify → sediment
|
|
21
|
+
│
|
|
22
|
+
▼ (rules proven useful)
|
|
23
|
+
S2 Evolution
|
|
24
|
+
|
|
25
|
+
Legend: SDD = align→PRD→design→todo · TDD = TDD→verify, fix→reverify
|
|
26
|
+
State: spec/ = what to build (persistent) · INDEX.md = need@node · handoff.md = session snapshot
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
A router (the `using-agentic-engineering` skill) gates each non-trivial request: a *need* enters the SDD+TDD loop, everything else is just done. Questions, quick fixes, and throwaway scripts never pay the ceremony.
|
|
7
30
|
|
|
8
31
|
## Quick Start
|
|
9
32
|
|
|
@@ -13,10 +36,11 @@ npx @ecc-hgy/ae setup
|
|
|
13
36
|
npx @ecc-hgy/ae init "one-line project goal"
|
|
14
37
|
```
|
|
15
38
|
|
|
16
|
-
`ae setup` installs reusable method assets:
|
|
39
|
+
`ae setup` installs reusable method assets into the AI coding platforms you select. In interactive terminals it prompts for platforms and preselects detected local platform directories. In scripts or CI, pass platforms explicitly:
|
|
17
40
|
|
|
18
|
-
|
|
19
|
-
-
|
|
41
|
+
```bash
|
|
42
|
+
npx @ecc-hgy/ae setup --platform claude,codex
|
|
43
|
+
```
|
|
20
44
|
|
|
21
45
|
`ae init` creates the platform-neutral project skeleton and renders entry files. Project-specific rules live directly in `AGENTS.md`.
|
|
22
46
|
|
|
@@ -24,6 +48,7 @@ npx @ecc-hgy/ae init "one-line project goal"
|
|
|
24
48
|
|
|
25
49
|
```bash
|
|
26
50
|
ae setup
|
|
51
|
+
ae setup --platform claude,codex,cursor
|
|
27
52
|
ae init "one-line project goal"
|
|
28
53
|
ae --help
|
|
29
54
|
ae --version
|
|
@@ -37,16 +62,31 @@ Both commands are idempotent. They create missing files, skip existing files, an
|
|
|
37
62
|
|
|
38
63
|
- `AGENTS.md` is the canonical project instructions file.
|
|
39
64
|
- `CLAUDE.md` is a short pointer to `AGENTS.md`; do not maintain a separate copy there.
|
|
40
|
-
-
|
|
65
|
+
- `ae init` renders `AGENTS.md` nearly blank (title + goal); add your own rules and sections as the project grows — no imposed format.
|
|
41
66
|
|
|
42
67
|
## Platform Scope
|
|
43
68
|
|
|
44
69
|
Current target platforms:
|
|
45
70
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
71
|
+
| Platform | ID | Skills directory |
|
|
72
|
+
|----------|----|------------------|
|
|
73
|
+
| Claude Code | `claude` | `.claude/skills/` |
|
|
74
|
+
| Codex | `codex` | `.codex/skills/` |
|
|
75
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` |
|
|
76
|
+
| GitHub Copilot | `github-copilot` | `.github/skills/` |
|
|
77
|
+
| Kilo Code | `kilocode` | `.kilocode/skills/` |
|
|
78
|
+
| Kimi Code | `kimicode` | `.kimi-code/skills/` |
|
|
79
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` |
|
|
80
|
+
| Qoder | `qoder` | `.qoder/skills/` |
|
|
81
|
+
| Trae | `trae` | `.trae/skills/` |
|
|
82
|
+
| Cursor | `cursor` | `.cursor/skills/` |
|
|
83
|
+
| OpenCode | `opencode` | `.opencode/skills/` |
|
|
84
|
+
| Antigravity | `antigravity` | `.agents/skills/` |
|
|
85
|
+
| Gemini CLI | `gemini` | `.gemini/skills/` |
|
|
86
|
+
| Qwen Code | `qwen` | `.qwen/skills/` |
|
|
87
|
+
| Kiro | `kiro` | `.kiro/skills/` |
|
|
88
|
+
|
|
89
|
+
The first implementation is project-scoped only. It does not generate platform-specific entry rule files such as `.cursorrules`, `GEMINI.md`, or Copilot instructions.
|
|
50
90
|
|
|
51
91
|
## Method Overview
|
|
52
92
|
|
|
@@ -66,6 +106,7 @@ The two hard gates are:
|
|
|
66
106
|
|
|
67
107
|
| Skill | Role |
|
|
68
108
|
|-------|------|
|
|
109
|
+
| `using-agentic-engineering` | Router: at the start of a non-trivial change, decides whether it enters the SDD+TDD loop and dispatches to the right node skill. |
|
|
69
110
|
| `brainstorming` | Coarse requirement alignment before writing PRD. |
|
|
70
111
|
| `grill-me` | Fine-grained questioning for interface, field, parameter, or expected-state ambiguity. |
|
|
71
112
|
| `to-prd` | Writes `spec/needs/<need-name>/prd.md`. |
|
|
@@ -78,6 +119,7 @@ The two hard gates are:
|
|
|
78
119
|
| `handoff` | Writes the latest session snapshot to `handoff.md`. |
|
|
79
120
|
| `improve-codebase-architecture` | User-triggered architecture deepening review. |
|
|
80
121
|
| `zoom-out` | User-triggered higher-level codebase map. |
|
|
122
|
+
| `karpathy-guidelines` | Always-on coding discipline during A5/B5: think before coding, simplicity first, surgical changes, goal-driven execution. |
|
|
81
123
|
|
|
82
124
|
## Documentation
|
|
83
125
|
|
|
@@ -85,7 +127,7 @@ The two hard gates are:
|
|
|
85
127
|
- [Spec Framework](docs/spec-framework.md)
|
|
86
128
|
- [S0 Bootstrap](docs/scenarios/s0-bootstrap.md)
|
|
87
129
|
- [S1 Main Loop](docs/scenarios/s1-main-loop.md)
|
|
88
|
-
- [Skill Candidate Design Notes](
|
|
130
|
+
- [Skill Candidate Design Notes](方案/skill-candidates/README.md)
|
|
89
131
|
|
|
90
132
|
## Repository Layout
|
|
91
133
|
|
|
@@ -94,18 +136,23 @@ bin/ npm executable entry
|
|
|
94
136
|
src/ zero-dependency CLI implementation
|
|
95
137
|
skills/ Selected Agentic Engineering skills
|
|
96
138
|
templates/ Entry file templates
|
|
97
|
-
docs/
|
|
98
|
-
|
|
139
|
+
docs/ Methodology docs (framework, scenarios, spec framework)
|
|
140
|
+
方案/ Design & decision records (issues, roadmap, skill candidates, archive)
|
|
99
141
|
tests/ node:test coverage for CLI behavior
|
|
100
142
|
```
|
|
101
143
|
|
|
102
144
|
## Roadmap
|
|
103
145
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
146
|
+
Completed:
|
|
147
|
+
|
|
148
|
+
- v0.2: split CLI into `setup` + `init` and remove slash command assets.
|
|
149
|
+
- v0.3: remove rules injection; make `AGENTS.md` the single source of truth and `CLAUDE.md` a pointer.
|
|
150
|
+
|
|
151
|
+
Next:
|
|
152
|
+
|
|
153
|
+
1. Design `ae update` for skill/template upgrades.
|
|
154
|
+
2. Implement `ae index-rebuild`.
|
|
155
|
+
3. Add CI and Windows path validation before broader distribution.
|
|
109
156
|
|
|
110
157
|
## Limits
|
|
111
158
|
|
package/package.json
CHANGED
package/skills/diagnose/SKILL.md
CHANGED
|
@@ -18,7 +18,7 @@ If B2 has NOT been completed (the expected behavior is still ambiguous), STOP an
|
|
|
18
18
|
|
|
19
19
|
## Exit Contract (hand-off to B4)
|
|
20
20
|
|
|
21
|
-
After Phase 6, do NOT write the issue file inline - that is B4's job. Instead, hand off a structured summary so B4 can write `spec/needs/<need-name>/issues/<topic>.md` in one pass, using the 7-section format in [assets/issue-7-sections.md](assets/issue-7-sections.md).
|
|
21
|
+
After Phase 6, do NOT write the issue file inline - that is B4's job. Instead, hand off a structured summary so B4 can write `spec/needs/<need-name>/issues/<topic>.md` (`<topic>` is kebab-case) in one pass, using the 7-section format in [assets/issue-7-sections.md](assets/issue-7-sections.md).
|
|
22
22
|
|
|
23
23
|
Sections this skill is expected to populate:
|
|
24
24
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: karpathy-guidelines
|
|
3
|
+
description: Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Karpathy Guidelines
|
|
8
|
+
**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
|
|
9
|
+
|
|
10
|
+
## 1. Think Before Coding
|
|
11
|
+
|
|
12
|
+
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
13
|
+
|
|
14
|
+
Before implementing:
|
|
15
|
+
- State your assumptions explicitly. If uncertain, ask.
|
|
16
|
+
- If multiple interpretations exist, present them - don't pick silently.
|
|
17
|
+
- If a simpler approach exists, say so. Push back when warranted.
|
|
18
|
+
- If something is unclear, stop. Name what's confusing. Ask.
|
|
19
|
+
|
|
20
|
+
## 2. Simplicity First
|
|
21
|
+
|
|
22
|
+
**Minimum code that solves the problem. Nothing speculative.**
|
|
23
|
+
|
|
24
|
+
- No features beyond what was asked.
|
|
25
|
+
- No abstractions for single-use code.
|
|
26
|
+
- No "flexibility" or "configurability" that wasn't requested.
|
|
27
|
+
- No error handling for impossible scenarios.
|
|
28
|
+
- If you write 200 lines and it could be 50, rewrite it.
|
|
29
|
+
|
|
30
|
+
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
31
|
+
|
|
32
|
+
## 3. Surgical Changes
|
|
33
|
+
|
|
34
|
+
**Touch only what you must. Clean up only your own mess.**
|
|
35
|
+
|
|
36
|
+
When editing existing code:
|
|
37
|
+
- Don't "improve" adjacent code, comments, or formatting.
|
|
38
|
+
- Don't refactor things that aren't broken.
|
|
39
|
+
- Match existing style, even if you'd do it differently.
|
|
40
|
+
- If you notice unrelated dead code, mention it - don't delete it.
|
|
41
|
+
|
|
42
|
+
When your changes create orphans:
|
|
43
|
+
- Remove imports/variables/functions that YOUR changes made unused.
|
|
44
|
+
- Don't remove pre-existing dead code unless asked.
|
|
45
|
+
|
|
46
|
+
The test: Every changed line should trace directly to the user's request.
|
|
47
|
+
|
|
48
|
+
## 4. Goal-Driven Execution
|
|
49
|
+
|
|
50
|
+
**Define success criteria. Loop until verified.**
|
|
51
|
+
|
|
52
|
+
Transform tasks into verifiable goals:
|
|
53
|
+
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
54
|
+
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
55
|
+
- "Refactor X" → "Ensure tests pass before and after"
|
|
56
|
+
|
|
57
|
+
For multi-step tasks, state a brief plan:
|
|
58
|
+
```
|
|
59
|
+
1. [Step] → verify: [check]
|
|
60
|
+
2. [Step] → verify: [check]
|
|
61
|
+
3. [Step] → verify: [check]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|