@uge/payo 0.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/README.md +149 -0
- package/dist/index.js +196 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Payo
|
|
4
|
+
|
|
5
|
+
**Generate project-tailored AI assistant rules & skills in under two minutes.**
|
|
6
|
+
|
|
7
|
+
Payo interviews you about your stack, then writes the guidance files your AI
|
|
8
|
+
coding assistant reads — so Claude, Cursor, Copilot, and friends follow _your_
|
|
9
|
+
project's conventions instead of guessing.
|
|
10
|
+
|
|
11
|
+
[](https://github.com/uttam-gelot/payo/actions/workflows/ci.yml)
|
|
12
|
+
[](#license)
|
|
13
|
+
[](https://bun.sh)
|
|
14
|
+
[](https://www.typescriptlang.org/)
|
|
15
|
+
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
No install required — run it in any project directory:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx payo
|
|
26
|
+
# or
|
|
27
|
+
bunx payo
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Answer a short questionnaire about your stack, and Payo drops tailored AI
|
|
31
|
+
guidance files straight into your repo.
|
|
32
|
+
|
|
33
|
+
## What is Payo?
|
|
34
|
+
|
|
35
|
+
AI coding assistants are only as good as the context they're given. Payo is an
|
|
36
|
+
interactive CLI that **interviews you about your project** — language, framework,
|
|
37
|
+
database, auth, testing, conventions — and then **generates the guidance files
|
|
38
|
+
your assistant actually reads.**
|
|
39
|
+
|
|
40
|
+
It supports **Claude, Cursor, GitHub Copilot, Codex, Windsurf, and Antigravity**.
|
|
41
|
+
Where the assistant ships a headless CLI, Payo drives that tool's own AI to
|
|
42
|
+
write rich, project-specific docs; where it doesn't, Payo falls back to solid
|
|
43
|
+
templates — so you always end up with usable output.
|
|
44
|
+
|
|
45
|
+
## How it works
|
|
46
|
+
|
|
47
|
+
1. **Answer the questionnaire.** A focused set of questions about your stack and
|
|
48
|
+
conventions. Smart defaults mean you can accept recommendations and move fast.
|
|
49
|
+
2. **Payo generates the guidance.** It runs your AI tool's headless CLI in
|
|
50
|
+
parallel to write tailored rules/skills — or writes static templates if the
|
|
51
|
+
CLI isn't available.
|
|
52
|
+
3. **(Optional) Get a bootstrap prompt.** Payo can write a paste-ready
|
|
53
|
+
`bootstrap-prompt.md` you hand to any LLM to scaffold a runnable project that
|
|
54
|
+
honors the guidance it just generated.
|
|
55
|
+
|
|
56
|
+
## Supported AI tools
|
|
57
|
+
|
|
58
|
+
Each tool gets files in its own native format and location:
|
|
59
|
+
|
|
60
|
+
| Tool | Files generated |
|
|
61
|
+
| -------------------- | --------------------------------------------------------------- |
|
|
62
|
+
| Claude (Anthropic) | `CLAUDE.md` · `.claude/skills/**` |
|
|
63
|
+
| Cursor | `.cursorrules` · `.cursor/rules/**` |
|
|
64
|
+
| GitHub Copilot | `.github/copilot-instructions.md` · `.github/instructions/**` |
|
|
65
|
+
| Codex CLI | `AGENTS.md` |
|
|
66
|
+
| Antigravity (Google) | `AGENTS.md` · `.agents/skills/**` |
|
|
67
|
+
| Windsurf | `.windsurfrules` |
|
|
68
|
+
| Other / generic | `AI_RULES.md` |
|
|
69
|
+
|
|
70
|
+
> Rich AI generation needs the selected tool's CLI on your `PATH`. Without it,
|
|
71
|
+
> Payo writes well-structured template defaults instead.
|
|
72
|
+
|
|
73
|
+
## What it asks about
|
|
74
|
+
|
|
75
|
+
Payo understands **25 frameworks, 24 ORMs, and 4 databases** across
|
|
76
|
+
**TypeScript/JavaScript, Python, Go, and Rust** — and tailors its follow-up
|
|
77
|
+
questions to whatever you pick. Dimensions covered:
|
|
78
|
+
|
|
79
|
+
- **Project** — type (frontend / backend / full-stack) and a short description
|
|
80
|
+
- **Language & framework** — plus framework-specific conventions
|
|
81
|
+
- **API** — REST, GraphQL, gRPC, tRPC
|
|
82
|
+
- **Frontend** — styling and state management
|
|
83
|
+
- **Data** — database and ORM/data-layer, with naming & migration conventions
|
|
84
|
+
- **Auth** — approach, session strategy, RBAC
|
|
85
|
+
- **Validation & logging** — stack-appropriate libraries
|
|
86
|
+
- **Testing** — unit / integration / component / E2E and runners
|
|
87
|
+
- **Tooling** — package manager, runtime, formatter, linter
|
|
88
|
+
- **TypeScript** — `tsconfig` strictness, target, module resolution, path aliases
|
|
89
|
+
- **Conventions** — folder structure, coding standards, docs, git workflow
|
|
90
|
+
|
|
91
|
+
## AI vs. template generation
|
|
92
|
+
|
|
93
|
+
Payo always leaves you with output. When the chosen assistant's headless CLI
|
|
94
|
+
is installed, it generates each guidance file in parallel from your answers —
|
|
95
|
+
richer and more specific. When the CLI is missing, or every run fails, it falls
|
|
96
|
+
back to static templates.
|
|
97
|
+
|
|
98
|
+
A few environment variables tune AI generation:
|
|
99
|
+
|
|
100
|
+
| Variable | Default | Purpose |
|
|
101
|
+
| -------------------------- | -------- | ------------------------------------ |
|
|
102
|
+
| `PAYO_CONCURRENCY` | `4` | Max parallel agent subprocesses |
|
|
103
|
+
| `PAYO_RETRIES` | `1` | Extra attempts after a failed run |
|
|
104
|
+
| `PAYO_AGENT_TIMEOUT_MS` | `120000` | Wall-clock cap per file (ms) |
|
|
105
|
+
|
|
106
|
+
## Bootstrap prompt
|
|
107
|
+
|
|
108
|
+
An empty repo with great guidance is still an empty repo. After generating, Payo
|
|
109
|
+
offers to write a **`bootstrap-prompt.md`** — a paste-ready prompt that tells any
|
|
110
|
+
LLM to scaffold a runnable project using the stack's **official tooling** (the
|
|
111
|
+
framework's own `create` command / CLI), honor the generated conventions, and
|
|
112
|
+
iterate with you until it runs.
|
|
113
|
+
|
|
114
|
+
## Resume anytime
|
|
115
|
+
|
|
116
|
+
Interrupt a run and pick up where you left off. Payo saves your questionnaire
|
|
117
|
+
answers and generation progress under `.payo/`; rerun and it resumes, only
|
|
118
|
+
generating what's missing. Finished runs clean the directory up automatically.
|
|
119
|
+
|
|
120
|
+
## Requirements
|
|
121
|
+
|
|
122
|
+
- [Bun](https://bun.sh) **>= 1.1.0**
|
|
123
|
+
|
|
124
|
+
## Development & Contributing
|
|
125
|
+
|
|
126
|
+
Contributions are welcome.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
git clone https://github.com/uttam-gelot/payo.git
|
|
130
|
+
cd payo
|
|
131
|
+
bun install
|
|
132
|
+
bun dev # run the CLI from source
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
| Script | What it does |
|
|
136
|
+
| ------------------- | ------------------------------------- |
|
|
137
|
+
| `bun dev` | Run the CLI from source (no build) |
|
|
138
|
+
| `bun run typecheck` | Type-check with `tsc --noEmit` |
|
|
139
|
+
| `bun run lint` | Lint `src` and `tests` with ESLint |
|
|
140
|
+
| `bun run format` | Format with Prettier |
|
|
141
|
+
| `bun test` | Run the test suite |
|
|
142
|
+
| `bun run build` | Bundle to `dist/` |
|
|
143
|
+
|
|
144
|
+
CI runs `typecheck`, `lint`, and `test` on every pull request — please make sure
|
|
145
|
+
they pass locally before opening one.
|
|
146
|
+
|
|
147
|
+
## License
|
|
148
|
+
|
|
149
|
+
[MIT](#license)
|