@uge/payo 1.4.0 → 2.0.1
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 +85 -42
- package/dist/index.js +178 -168
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,14 +59,15 @@ over Prisma, that handlers live in `src/routes`, that you write Vitest specs
|
|
|
59
59
|
beside the file, or that commits follow Conventional Commits. So you re-explain
|
|
60
60
|
it — in chat after chat — and still get code that ignores half of it.
|
|
61
61
|
|
|
62
|
-
The fix is the guidance files
|
|
63
|
-
|
|
64
|
-
by hand is tedious
|
|
65
|
-
|
|
62
|
+
The fix is the guidance files agents read — an `AGENTS.md` entrypoint plus
|
|
63
|
+
[Agent Skills](https://agentskills.io) under `.agents/skills/`. But writing them
|
|
64
|
+
by hand is tedious and easy to get wrong. Most people never do it, or do it once
|
|
65
|
+
and let it rot.
|
|
66
66
|
|
|
67
|
-
Payo writes them for you in minutes — tailored to your actual stack,
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
Payo writes them for you in minutes — tailored to your actual stack, in one
|
|
68
|
+
universal layout that **every skills-compatible tool reads** (Claude Code, Codex,
|
|
69
|
+
Cursor, Copilot, Gemini, Antigravity, Windsurf, …) — so your assistant follows
|
|
70
|
+
_your_ conventions from the first prompt instead of guessing.
|
|
70
71
|
|
|
71
72
|
### Vibe coding, without the mess
|
|
72
73
|
|
|
@@ -91,7 +92,7 @@ instead of fighting it.
|
|
|
91
92
|
- **Teams enforcing conventions** who need every contributor's assistant to
|
|
92
93
|
follow the same folder structure, naming, testing, and git rules.
|
|
93
94
|
- **Multi-tool users** who switch between Claude, Cursor, and Copilot and want
|
|
94
|
-
the _same_ project guidance
|
|
95
|
+
the _same_ project guidance in one universal layout every tool reads.
|
|
95
96
|
- **Anyone bootstrapping a stack** they haven't wired up before — Payo encodes
|
|
96
97
|
sensible, framework-specific defaults and can scaffold a runnable project.
|
|
97
98
|
|
|
@@ -131,9 +132,10 @@ guidance files straight into your repo.
|
|
|
131
132
|
summary of every answer. Choose **Edit an answer** to change any response — or
|
|
132
133
|
re-open a section you skipped — right from the review; dependent questions are
|
|
133
134
|
re-asked automatically. Pick **Generate** when it looks right.
|
|
134
|
-
5. **Payo generates the guidance.** It writes
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
5. **Payo generates the guidance.** It writes one universal layout that every
|
|
136
|
+
skills-compatible tool reads (see the table below). With an agent CLI
|
|
137
|
+
installed, skills are generated in parallel by the AI; otherwise solid
|
|
138
|
+
templates are used.
|
|
137
139
|
6. **(Optional) Get a bootstrap prompt.** Payo offers to write a paste-ready
|
|
138
140
|
`bootstrap-prompt.md` you hand to any LLM to scaffold a runnable project that
|
|
139
141
|
honors the guidance it just generated.
|
|
@@ -152,42 +154,81 @@ When detection finds a manifest, you get two quick choices:
|
|
|
152
154
|
|
|
153
155
|
- **Work with the existing project, or start fresh?** Keep the detected answers, or
|
|
154
156
|
ignore them and answer from scratch.
|
|
155
|
-
- **Detect everything, or just the stack?**
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
- **Detect everything, or just the stack?**
|
|
158
|
+
- **Detect everything** treats your **code, folder structure, and git history as
|
|
159
|
+
the source of truth**. It records exactly what it finds — stack, conventions,
|
|
160
|
+
and your branch-naming / commit-message style read from recent git history — and
|
|
161
|
+
**skips anything it can't find**: no skill is created for it and it isn't
|
|
162
|
+
mentioned. The only things applied without detection are a few safe assistant
|
|
163
|
+
policies (no AI attribution in commits, task-scoped atomic commits, confirm
|
|
164
|
+
before push, verify before push, work from `.env.example`, and DRY/modular
|
|
165
|
+
coding standards) — all shown up front and editable on the review screen. You
|
|
166
|
+
land straight on that review screen and confirm once.
|
|
167
|
+
- **Just the high-level stack** fills in the stack facts only and interviews you
|
|
168
|
+
for the convention questions (folder structure and the like).
|
|
169
|
+
|
|
170
|
+
How detected answers are applied in **Just the high-level stack** mode:
|
|
160
171
|
|
|
161
172
|
- **Stack facts** (language, framework, database, ORM, package manager, test
|
|
162
173
|
runner, linter…) are filled in and **skipped** — they're things a manifest can
|
|
163
174
|
state authoritatively, so there's nothing to ask.
|
|
164
|
-
- **Conventions and preferences** are
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
- **Conventions and preferences** are left to the interview — a manifest can't
|
|
176
|
+
encode intent, so Payo asks rather than guessing.
|
|
177
|
+
|
|
178
|
+
**Monorepos** are detected too: Payo enumerates workspace members (pnpm / npm /
|
|
179
|
+
yarn / lerna, Cargo, `go.work`, Maven / Gradle), detects each package's stack, and
|
|
180
|
+
uses the real app stack as the primary answers instead of the near-empty root
|
|
181
|
+
manifest. The generated guidance gains a **Workspace Packages** list and monorepo
|
|
182
|
+
conventions.
|
|
183
|
+
|
|
184
|
+
Detection runs deterministically from your files first. Branch-naming and
|
|
185
|
+
commit-message conventions are inferred by parsing your **local** git history on
|
|
186
|
+
your machine — that history is never placed in any AI prompt. When the chosen AI
|
|
187
|
+
tool's CLI is installed, an **optional second pass** uses **your own** assistant to
|
|
188
|
+
fill gaps on unusual stacks — it reads only the manifest and the directory listing,
|
|
171
189
|
runs under your own account, and never sends anything to a Payo server (see
|
|
172
190
|
[Your data stays yours](#your-data-stays-yours)). If no CLI is present, the
|
|
173
191
|
deterministic result stands on its own.
|
|
174
192
|
|
|
175
193
|
## What gets generated
|
|
176
194
|
|
|
177
|
-
|
|
195
|
+
One universal layout, whichever agent CLI you pick — no per-tool formats:
|
|
196
|
+
|
|
197
|
+
| Path | What it is |
|
|
198
|
+
| ------------------------------- | ------------------------------------------------------------------ |
|
|
199
|
+
| `AGENTS.md` | The entrypoint most tools read natively — your project's base rules |
|
|
200
|
+
| `.agents/skills/<id>/SKILL.md` | One [Agent Skill](https://agentskills.io) per topic, spec frontmatter |
|
|
201
|
+
| `CLAUDE.md` | A one-line `@AGENTS.md` import shim so Claude Code picks it up |
|
|
202
|
+
| `.claude/skills/**` | Symlinks into `.agents/skills/` (dir copy on Windows) for Claude Code |
|
|
203
|
+
| `.windsurf/skills/**` | The same shim for Windsurf |
|
|
204
|
+
|
|
205
|
+
Who reads what, with no extra work:
|
|
206
|
+
|
|
207
|
+
- **Codex, Cursor, Copilot, Gemini CLI, Antigravity, Devin** → `.agents/skills/` and
|
|
208
|
+
`AGENTS.md` natively.
|
|
209
|
+
- **Claude Code** → the `CLAUDE.md` shim plus the `.claude/skills/` symlinks
|
|
210
|
+
(officially supported; it dedupes if it also reads the target directly).
|
|
211
|
+
- **Windsurf** → `AGENTS.md` plus the `.windsurf/skills/` shim.
|
|
212
|
+
|
|
213
|
+
`AGENTS.md` opens its skills index with a directive telling the agent to consult and
|
|
214
|
+
follow the applicable skills before writing code — so the guidance is used, not just
|
|
215
|
+
present.
|
|
216
|
+
|
|
217
|
+
Optionally, Payo adds a **change-audit** skill (`.agents/skills/change-audit/SKILL.md`):
|
|
218
|
+
if you opt in, it asks when to run — before every commit or before pushing — and the
|
|
219
|
+
agent uses it at that point to check your pending change against the relevant project
|
|
220
|
+
skills and flag anything that conflicts.
|
|
178
221
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
| Cursor | `.cursorrules` · `.cursor/rules/**` |
|
|
183
|
-
| GitHub Copilot | `.github/copilot-instructions.md` · `.github/instructions/**` |
|
|
184
|
-
| Codex CLI | `AGENTS.md` |
|
|
185
|
-
| Antigravity (Google) | `AGENTS.md` · `.agents/skills/**` |
|
|
186
|
-
| Windsurf | `.windsurfrules` |
|
|
187
|
-
| Other / generic | `AI_RULES.md` |
|
|
222
|
+
The question Payo asks — _"Which agent CLI should Payo use to generate content?"_ —
|
|
223
|
+
picks only **which installed CLI authors the content**. The output above works with
|
|
224
|
+
every skills-compatible tool regardless of that choice.
|
|
188
225
|
|
|
189
|
-
> Rich AI generation needs
|
|
190
|
-
>
|
|
226
|
+
> Rich AI generation needs an agent CLI on your `PATH`. Without one, Payo writes
|
|
227
|
+
> well-structured template defaults into the same layout instead.
|
|
228
|
+
>
|
|
229
|
+
> Regenerating over an older Payo project? It offers to remove the retired
|
|
230
|
+
> per-tool files (`.cursorrules`, `.windsurfrules`, `.cursor/rules/**`,
|
|
231
|
+
> `.github/instructions/**`, `.github/copilot-instructions.md`, `AI_RULES.md`).
|
|
191
232
|
|
|
192
233
|
## What it asks about
|
|
193
234
|
|
|
@@ -207,7 +248,10 @@ questions to whatever you pick. Dimensions covered:
|
|
|
207
248
|
- **Testing** — unit / integration / component / E2E and runners
|
|
208
249
|
- **Tooling** — package manager, runtime, formatter, linter
|
|
209
250
|
- **TypeScript** — `tsconfig` strictness, target, module resolution, path aliases
|
|
210
|
-
- **Conventions** — folder structure, coding standards, docs, git workflow
|
|
251
|
+
- **Conventions** — folder structure, coding standards, docs, git workflow, and
|
|
252
|
+
branch-naming / commit-message style (inferred from local git history)
|
|
253
|
+
- **Change audit** _(optional)_ — opt into a skill that checks your pending
|
|
254
|
+
change against the project skills before commit or push
|
|
211
255
|
|
|
212
256
|
## AI vs. template generation
|
|
213
257
|
|
|
@@ -250,13 +294,12 @@ generating what's missing. Finished runs clean the directory up automatically.
|
|
|
250
294
|
|
|
251
295
|
Payo works today, but it's still early. Here's where it's headed:
|
|
252
296
|
|
|
253
|
-
- **Deeper
|
|
254
|
-
|
|
297
|
+
- **Deeper monorepo support.** Payo now enumerates workspace members, detects
|
|
298
|
+
each package's stack, and writes per-package notes into one root config (see
|
|
255
299
|
[Already have a project?](#already-have-a-project-payo-detects-your-stack)).
|
|
256
|
-
Next is
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
signal coverage — is the next step.
|
|
300
|
+
Next is going further: per-package skills and guidance for repos where each
|
|
301
|
+
workspace wants its own conventions, and workspace enumeration for the
|
|
302
|
+
remaining ecosystems (Python, PHP, .NET, Ruby).
|
|
260
303
|
- **Broader stack coverage.** More languages, frameworks, ORMs, databases, and
|
|
261
304
|
AI tools, plus deeper, more opinionated defaults for the ones already
|
|
262
305
|
supported — so the guidance fits more of the ecosystem out of the box.
|