@thiagodiogo/pastelsdd 1.0.0-beta.1 → 1.0.0-beta.3
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 +142 -3
- package/bin/pastelsdd.js +1 -1
- package/dist/core/command-generation/adapters/claude.d.ts +1 -1
- package/dist/core/command-generation/adapters/claude.js +2 -2
- package/dist/core/command-generation/adapters/codex.d.ts +1 -1
- package/dist/core/command-generation/adapters/codex.js +2 -2
- package/dist/core/command-generation/adapters/cursor.d.ts +2 -2
- package/dist/core/command-generation/adapters/cursor.js +5 -5
- package/dist/core/command-generation/adapters/gemini.d.ts +1 -1
- package/dist/core/command-generation/adapters/gemini.js +2 -2
- package/dist/core/command-generation/adapters/github-copilot.d.ts +1 -1
- package/dist/core/command-generation/adapters/github-copilot.js +2 -2
- package/dist/core/command-generation/adapters/index.d.ts +0 -21
- package/dist/core/command-generation/adapters/index.js +0 -21
- package/dist/core/command-generation/index.d.ts +1 -1
- package/dist/core/command-generation/index.js +1 -1
- package/dist/core/command-generation/registry.d.ts +0 -1
- package/dist/core/command-generation/registry.js +0 -43
- package/dist/core/command-generation/types.d.ts +1 -1
- package/dist/core/config.js +0 -25
- package/dist/core/init.d.ts +4 -1
- package/dist/core/init.js +98 -15
- package/dist/core/legacy-cleanup.d.ts +1 -1
- package/dist/core/legacy-cleanup.js +1 -26
- package/dist/core/migration.js +1 -1
- package/dist/core/openspec-migration.d.ts +71 -0
- package/dist/core/openspec-migration.js +320 -0
- package/dist/core/profile-sync-drift.js +3 -0
- package/dist/core/profiles.d.ts +1 -1
- package/dist/core/profiles.js +3 -0
- package/dist/core/shared/skill-generation.d.ts +2 -2
- package/dist/core/shared/skill-generation.js +31 -25
- package/dist/core/templates/skill-templates.d.ts +13 -11
- package/dist/core/templates/skill-templates.js +14 -11
- package/dist/core/templates/workflows/apply-change.d.ts +1 -1
- package/dist/core/templates/workflows/apply-change.js +138 -165
- package/dist/core/templates/workflows/archive-change.d.ts +1 -1
- package/dist/core/templates/workflows/archive-change.js +86 -136
- package/dist/core/templates/workflows/bulk-archive-change.d.ts +1 -1
- package/dist/core/templates/workflows/bulk-archive-change.js +2 -2
- package/dist/core/templates/workflows/continue-change.d.ts +1 -1
- package/dist/core/templates/workflows/continue-change.js +5 -5
- package/dist/core/templates/workflows/explore.d.ts +1 -1
- package/dist/core/templates/workflows/explore.js +302 -6
- package/dist/core/templates/workflows/ff-change.d.ts +1 -1
- package/dist/core/templates/workflows/ff-change.js +5 -5
- package/dist/core/templates/workflows/new-change.d.ts +1 -1
- package/dist/core/templates/workflows/new-change.js +5 -5
- package/dist/core/templates/workflows/onboard.d.ts +1 -1
- package/dist/core/templates/workflows/onboard.js +73 -29
- package/dist/core/templates/workflows/propose.d.ts +2 -2
- package/dist/core/templates/workflows/propose.js +237 -108
- package/dist/core/templates/workflows/sync-specs.d.ts +1 -1
- package/dist/core/templates/workflows/sync-specs.js +3 -3
- package/dist/core/templates/workflows/trello-draft.d.ts +12 -0
- package/dist/core/templates/workflows/trello-draft.js +193 -0
- package/dist/core/templates/workflows/trello-setup.d.ts +12 -0
- package/dist/core/templates/workflows/trello-setup.js +315 -0
- package/dist/core/templates/workflows/verify-change.d.ts +1 -1
- package/dist/core/templates/workflows/verify-change.js +3 -3
- package/dist/core/trello-config.d.ts +90 -0
- package/dist/core/trello-config.js +86 -0
- package/dist/core/trello-init-prompt.d.ts +61 -0
- package/dist/core/trello-init-prompt.js +180 -0
- package/dist/core/update.js +3 -3
- package/dist/ui/welcome-screen.js +4 -4
- package/dist/utils/command-references.d.ts +3 -3
- package/dist/utils/command-references.js +4 -4
- package/package.json +5 -4
- package/dist/core/command-generation/adapters/amazon-q.d.ts +0 -13
- package/dist/core/command-generation/adapters/amazon-q.js +0 -26
- package/dist/core/command-generation/adapters/antigravity.d.ts +0 -13
- package/dist/core/command-generation/adapters/antigravity.js +0 -26
- package/dist/core/command-generation/adapters/auggie.d.ts +0 -13
- package/dist/core/command-generation/adapters/auggie.js +0 -27
- package/dist/core/command-generation/adapters/bob.d.ts +0 -14
- package/dist/core/command-generation/adapters/bob.js +0 -45
- package/dist/core/command-generation/adapters/cline.d.ts +0 -14
- package/dist/core/command-generation/adapters/cline.js +0 -27
- package/dist/core/command-generation/adapters/codebuddy.d.ts +0 -13
- package/dist/core/command-generation/adapters/codebuddy.js +0 -28
- package/dist/core/command-generation/adapters/continue.d.ts +0 -13
- package/dist/core/command-generation/adapters/continue.js +0 -28
- package/dist/core/command-generation/adapters/costrict.d.ts +0 -13
- package/dist/core/command-generation/adapters/costrict.js +0 -27
- package/dist/core/command-generation/adapters/crush.d.ts +0 -13
- package/dist/core/command-generation/adapters/crush.js +0 -30
- package/dist/core/command-generation/adapters/factory.d.ts +0 -13
- package/dist/core/command-generation/adapters/factory.js +0 -27
- package/dist/core/command-generation/adapters/iflow.d.ts +0 -13
- package/dist/core/command-generation/adapters/iflow.js +0 -29
- package/dist/core/command-generation/adapters/junie.d.ts +0 -13
- package/dist/core/command-generation/adapters/junie.js +0 -26
- package/dist/core/command-generation/adapters/kilocode.d.ts +0 -14
- package/dist/core/command-generation/adapters/kilocode.js +0 -23
- package/dist/core/command-generation/adapters/kiro.d.ts +0 -13
- package/dist/core/command-generation/adapters/kiro.js +0 -26
- package/dist/core/command-generation/adapters/lingma.d.ts +0 -13
- package/dist/core/command-generation/adapters/lingma.js +0 -30
- package/dist/core/command-generation/adapters/opencode.d.ts +0 -13
- package/dist/core/command-generation/adapters/opencode.js +0 -29
- package/dist/core/command-generation/adapters/pi.d.ts +0 -18
- package/dist/core/command-generation/adapters/pi.js +0 -55
- package/dist/core/command-generation/adapters/qoder.d.ts +0 -13
- package/dist/core/command-generation/adapters/qoder.js +0 -30
- package/dist/core/command-generation/adapters/qwen.d.ts +0 -13
- package/dist/core/command-generation/adapters/qwen.js +0 -26
- package/dist/core/command-generation/adapters/roocode.d.ts +0 -14
- package/dist/core/command-generation/adapters/roocode.js +0 -27
- package/dist/core/command-generation/adapters/windsurf.d.ts +0 -14
- package/dist/core/command-generation/adapters/windsurf.js +0 -51
package/README.md
CHANGED
|
@@ -1,3 +1,142 @@
|
|
|
1
|
-
# pastelsdd
|
|
2
|
-
|
|
3
|
-
>
|
|
1
|
+
# pastelsdd
|
|
2
|
+
|
|
3
|
+
> Spec-driven, AI-native development workflow CLI
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@thiagodiogo/pastelsdd)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://nodejs.org)
|
|
8
|
+
|
|
9
|
+
Pastelsdd installs a planning pipeline inside your repo. Every feature goes through **proposal → specs → design → tasks → apply**, tracked as versioned files and exposed as slash commands to your AI agent.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
- Node.js `>= 20.19.0`
|
|
16
|
+
- At least one supported AI tool: **Claude Code**, **Cursor**, **Gemini CLI**, **GitHub Copilot**, or **Codex CLI**
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @thiagodiogo/pastelsdd
|
|
24
|
+
# or
|
|
25
|
+
pnpm add -g @thiagodiogo/pastelsdd
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Quick Start
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cd your-project
|
|
34
|
+
pastelsdd init
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The init wizard auto-detects which AI tools you have (`.claude/`, `.cursor/`, etc.), installs skill files and slash commands, and creates the planning folder:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
pastelsdd/
|
|
41
|
+
├── changes/ ← one subfolder per active change
|
|
42
|
+
│ └── archive/ ← completed changes
|
|
43
|
+
├── specs/ ← project capability specs
|
|
44
|
+
└── config.yaml ← local schema config
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Once initialized, use slash commands in your AI agent:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/pstl:propose "add dark mode" ← creates a new change
|
|
51
|
+
/pstl:continue ← advances to the next artifact
|
|
52
|
+
/pstl:apply ← applies pending tasks
|
|
53
|
+
/pstl:archive ← archives a completed change
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## How It Works
|
|
59
|
+
|
|
60
|
+
Each change lives in `pastelsdd/changes/<name>/` and follows a DAG of artifacts defined by a workflow schema:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
pastelsdd/changes/dark-mode/
|
|
64
|
+
├── proposal.md ← why this change
|
|
65
|
+
├── specs/ ← what the system must do
|
|
66
|
+
├── design.md ← how to implement it
|
|
67
|
+
└── tasks.md ← implementation checklist
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The AI agent reads these files at each step and generates the next artifact using enriched instructions from the schema.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## CLI Reference
|
|
75
|
+
|
|
76
|
+
| Command | Description |
|
|
77
|
+
|---------|-------------|
|
|
78
|
+
| `pastelsdd init [path]` | Initialize Pastelsdd in a project |
|
|
79
|
+
| `pastelsdd update [path]` | Regenerate skill/command files after an upgrade |
|
|
80
|
+
| `pastelsdd list` | List active changes |
|
|
81
|
+
| `pastelsdd list --specs` | List project specs |
|
|
82
|
+
| `pastelsdd status` | Show artifact completion for the current change |
|
|
83
|
+
| `pastelsdd instructions [artifact]` | Print enriched instructions for an artifact |
|
|
84
|
+
| `pastelsdd validate [name]` | Validate a change or spec |
|
|
85
|
+
| `pastelsdd validate --all` | Validate everything |
|
|
86
|
+
| `pastelsdd show [name]` | Display a change or spec |
|
|
87
|
+
| `pastelsdd archive [name]` | Archive a completed change |
|
|
88
|
+
| `pastelsdd new change <name>` | Create a new change directory |
|
|
89
|
+
| `pastelsdd schemas` | List available workflow schemas |
|
|
90
|
+
| `pastelsdd view` | Interactive dashboard |
|
|
91
|
+
| `pastelsdd feedback <message>` | Submit feedback |
|
|
92
|
+
| `pastelsdd completion install` | Install shell completions |
|
|
93
|
+
|
|
94
|
+
### `init` options
|
|
95
|
+
|
|
96
|
+
| Flag | Description |
|
|
97
|
+
|------|-------------|
|
|
98
|
+
| `--tools <list>` | Skip interactive selection. Use `all`, `none`, or e.g. `claude,cursor` |
|
|
99
|
+
| `--force` | Skip all confirmations (CI-friendly) |
|
|
100
|
+
| `--profile <name>` | Workflow profile: `core` (default) or `custom` |
|
|
101
|
+
|
|
102
|
+
**Non-interactive example:**
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
pastelsdd init --tools claude --force
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Supported AI Tools
|
|
111
|
+
|
|
112
|
+
| Tool | Skills dir |
|
|
113
|
+
|------|-----------|
|
|
114
|
+
| Claude Code | `.claude/` |
|
|
115
|
+
| Codex CLI | `.codex/` |
|
|
116
|
+
| Cursor | `.cursor/` |
|
|
117
|
+
| Gemini CLI | `.gemini/` |
|
|
118
|
+
| GitHub Copilot | `.github/` |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Migrating from OpenSpec
|
|
123
|
+
|
|
124
|
+
If your project used the old `openspec` tool, `pastelsdd init` detects `.openspec/` automatically and offers to migrate your changes and specs — no manual steps needed.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## After Upgrading
|
|
129
|
+
|
|
130
|
+
Re-run `pastelsdd init` (or `pastelsdd update`) to regenerate skill files with the latest instructions:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
pastelsdd update
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Links
|
|
139
|
+
|
|
140
|
+
- [npm](https://www.npmjs.com/package/@thiagodiogo/pastelsdd)
|
|
141
|
+
- [Repository](https://github.com/eipastel/pastelsdd)
|
|
142
|
+
- [Issues / Feedback](https://github.com/eipastel/pastelsdd/issues)
|
package/bin/pastelsdd.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { ToolCommandAdapter } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Claude Code adapter for command generation.
|
|
9
|
-
* File path: .claude/commands/
|
|
9
|
+
* File path: .claude/commands/pstl/<id>.md
|
|
10
10
|
* Frontmatter: name, description, category, tags
|
|
11
11
|
*/
|
|
12
12
|
export declare const claudeAdapter: ToolCommandAdapter;
|
|
@@ -27,13 +27,13 @@ function formatTagsArray(tags) {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Claude Code adapter for command generation.
|
|
30
|
-
* File path: .claude/commands/
|
|
30
|
+
* File path: .claude/commands/pstl/<id>.md
|
|
31
31
|
* Frontmatter: name, description, category, tags
|
|
32
32
|
*/
|
|
33
33
|
export const claudeAdapter = {
|
|
34
34
|
toolId: 'claude',
|
|
35
35
|
getFilePath(commandId) {
|
|
36
|
-
return path.join('.claude', 'commands', '
|
|
36
|
+
return path.join('.claude', 'commands', 'pstl', `${commandId}.md`);
|
|
37
37
|
},
|
|
38
38
|
formatFile(content) {
|
|
39
39
|
return `---
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { ToolCommandAdapter } from '../types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Codex adapter for command generation.
|
|
12
|
-
* File path: <CODEX_HOME>/prompts/
|
|
12
|
+
* File path: <CODEX_HOME>/prompts/pstl-<id>.md (absolute, global)
|
|
13
13
|
* Frontmatter: description, argument-hint
|
|
14
14
|
*/
|
|
15
15
|
export declare const codexAdapter: ToolCommandAdapter;
|
|
@@ -18,13 +18,13 @@ function getCodexHome() {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Codex adapter for command generation.
|
|
21
|
-
* File path: <CODEX_HOME>/prompts/
|
|
21
|
+
* File path: <CODEX_HOME>/prompts/pstl-<id>.md (absolute, global)
|
|
22
22
|
* Frontmatter: description, argument-hint
|
|
23
23
|
*/
|
|
24
24
|
export const codexAdapter = {
|
|
25
25
|
toolId: 'codex',
|
|
26
26
|
getFilePath(commandId) {
|
|
27
|
-
return path.join(getCodexHome(), 'prompts', `
|
|
27
|
+
return path.join(getCodexHome(), 'prompts', `pstl-${commandId}.md`);
|
|
28
28
|
},
|
|
29
29
|
formatFile(content) {
|
|
30
30
|
return `---
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
import type { ToolCommandAdapter } from '../types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Cursor adapter for command generation.
|
|
10
|
-
* File path: .cursor/commands/
|
|
11
|
-
* Frontmatter: name (as /
|
|
10
|
+
* File path: .cursor/commands/pstl-<id>.md
|
|
11
|
+
* Frontmatter: name (as /pstl-<id>), id, category, description
|
|
12
12
|
*/
|
|
13
13
|
export declare const cursorAdapter: ToolCommandAdapter;
|
|
14
14
|
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -21,18 +21,18 @@ function escapeYamlValue(value) {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Cursor adapter for command generation.
|
|
24
|
-
* File path: .cursor/commands/
|
|
25
|
-
* Frontmatter: name (as /
|
|
24
|
+
* File path: .cursor/commands/pstl-<id>.md
|
|
25
|
+
* Frontmatter: name (as /pstl-<id>), id, category, description
|
|
26
26
|
*/
|
|
27
27
|
export const cursorAdapter = {
|
|
28
28
|
toolId: 'cursor',
|
|
29
29
|
getFilePath(commandId) {
|
|
30
|
-
return path.join('.cursor', 'commands', `
|
|
30
|
+
return path.join('.cursor', 'commands', `pstl-${commandId}.md`);
|
|
31
31
|
},
|
|
32
32
|
formatFile(content) {
|
|
33
33
|
return `---
|
|
34
|
-
name: /
|
|
35
|
-
id:
|
|
34
|
+
name: /pstl-${content.id}
|
|
35
|
+
id: pstl-${content.id}
|
|
36
36
|
category: ${escapeYamlValue(content.category)}
|
|
37
37
|
description: ${escapeYamlValue(content.description)}
|
|
38
38
|
---
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { ToolCommandAdapter } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Gemini adapter for command generation.
|
|
9
|
-
* File path: .gemini/commands/
|
|
9
|
+
* File path: .gemini/commands/pstl/<id>.toml
|
|
10
10
|
* Format: TOML with description and prompt fields
|
|
11
11
|
*/
|
|
12
12
|
export declare const geminiAdapter: ToolCommandAdapter;
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
/**
|
|
8
8
|
* Gemini adapter for command generation.
|
|
9
|
-
* File path: .gemini/commands/
|
|
9
|
+
* File path: .gemini/commands/pstl/<id>.toml
|
|
10
10
|
* Format: TOML with description and prompt fields
|
|
11
11
|
*/
|
|
12
12
|
export const geminiAdapter = {
|
|
13
13
|
toolId: 'gemini',
|
|
14
14
|
getFilePath(commandId) {
|
|
15
|
-
return path.join('.gemini', 'commands', '
|
|
15
|
+
return path.join('.gemini', 'commands', 'pstl', `${commandId}.toml`);
|
|
16
16
|
},
|
|
17
17
|
formatFile(content) {
|
|
18
18
|
return `description = "${content.description}"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { ToolCommandAdapter } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* GitHub Copilot adapter for command generation.
|
|
9
|
-
* File path: .github/prompts/
|
|
9
|
+
* File path: .github/prompts/pstl-<id>.prompt.md
|
|
10
10
|
* Frontmatter: description
|
|
11
11
|
*/
|
|
12
12
|
export declare const githubCopilotAdapter: ToolCommandAdapter;
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
/**
|
|
8
8
|
* GitHub Copilot adapter for command generation.
|
|
9
|
-
* File path: .github/prompts/
|
|
9
|
+
* File path: .github/prompts/pstl-<id>.prompt.md
|
|
10
10
|
* Frontmatter: description
|
|
11
11
|
*/
|
|
12
12
|
export const githubCopilotAdapter = {
|
|
13
13
|
toolId: 'github-copilot',
|
|
14
14
|
getFilePath(commandId) {
|
|
15
|
-
return path.join('.github', 'prompts', `
|
|
15
|
+
return path.join('.github', 'prompts', `pstl-${commandId}.prompt.md`);
|
|
16
16
|
},
|
|
17
17
|
formatFile(content) {
|
|
18
18
|
return `---
|
|
@@ -3,30 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Re-exports all tool command adapters.
|
|
5
5
|
*/
|
|
6
|
-
export { amazonQAdapter } from './amazon-q.js';
|
|
7
|
-
export { antigravityAdapter } from './antigravity.js';
|
|
8
|
-
export { auggieAdapter } from './auggie.js';
|
|
9
|
-
export { bobAdapter } from './bob.js';
|
|
10
6
|
export { claudeAdapter } from './claude.js';
|
|
11
|
-
export { clineAdapter } from './cline.js';
|
|
12
7
|
export { codexAdapter } from './codex.js';
|
|
13
|
-
export { codebuddyAdapter } from './codebuddy.js';
|
|
14
|
-
export { continueAdapter } from './continue.js';
|
|
15
|
-
export { costrictAdapter } from './costrict.js';
|
|
16
|
-
export { crushAdapter } from './crush.js';
|
|
17
8
|
export { cursorAdapter } from './cursor.js';
|
|
18
|
-
export { factoryAdapter } from './factory.js';
|
|
19
9
|
export { geminiAdapter } from './gemini.js';
|
|
20
10
|
export { githubCopilotAdapter } from './github-copilot.js';
|
|
21
|
-
export { iflowAdapter } from './iflow.js';
|
|
22
|
-
export { junieAdapter } from './junie.js';
|
|
23
|
-
export { kilocodeAdapter } from './kilocode.js';
|
|
24
|
-
export { kiroAdapter } from './kiro.js';
|
|
25
|
-
export { opencodeAdapter } from './opencode.js';
|
|
26
|
-
export { piAdapter } from './pi.js';
|
|
27
|
-
export { qoderAdapter } from './qoder.js';
|
|
28
|
-
export { lingmaAdapter } from './lingma.js';
|
|
29
|
-
export { qwenAdapter } from './qwen.js';
|
|
30
|
-
export { roocodeAdapter } from './roocode.js';
|
|
31
|
-
export { windsurfAdapter } from './windsurf.js';
|
|
32
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -3,30 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Re-exports all tool command adapters.
|
|
5
5
|
*/
|
|
6
|
-
export { amazonQAdapter } from './amazon-q.js';
|
|
7
|
-
export { antigravityAdapter } from './antigravity.js';
|
|
8
|
-
export { auggieAdapter } from './auggie.js';
|
|
9
|
-
export { bobAdapter } from './bob.js';
|
|
10
6
|
export { claudeAdapter } from './claude.js';
|
|
11
|
-
export { clineAdapter } from './cline.js';
|
|
12
7
|
export { codexAdapter } from './codex.js';
|
|
13
|
-
export { codebuddyAdapter } from './codebuddy.js';
|
|
14
|
-
export { continueAdapter } from './continue.js';
|
|
15
|
-
export { costrictAdapter } from './costrict.js';
|
|
16
|
-
export { crushAdapter } from './crush.js';
|
|
17
8
|
export { cursorAdapter } from './cursor.js';
|
|
18
|
-
export { factoryAdapter } from './factory.js';
|
|
19
9
|
export { geminiAdapter } from './gemini.js';
|
|
20
10
|
export { githubCopilotAdapter } from './github-copilot.js';
|
|
21
|
-
export { iflowAdapter } from './iflow.js';
|
|
22
|
-
export { junieAdapter } from './junie.js';
|
|
23
|
-
export { kilocodeAdapter } from './kilocode.js';
|
|
24
|
-
export { kiroAdapter } from './kiro.js';
|
|
25
|
-
export { opencodeAdapter } from './opencode.js';
|
|
26
|
-
export { piAdapter } from './pi.js';
|
|
27
|
-
export { qoderAdapter } from './qoder.js';
|
|
28
|
-
export { lingmaAdapter } from './lingma.js';
|
|
29
|
-
export { qwenAdapter } from './qwen.js';
|
|
30
|
-
export { roocodeAdapter } from './roocode.js';
|
|
31
|
-
export { windsurfAdapter } from './windsurf.js';
|
|
32
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
export type { CommandContent, ToolCommandAdapter, GeneratedCommand, } from './types.js';
|
|
19
19
|
export { CommandAdapterRegistry } from './registry.js';
|
|
20
20
|
export { generateCommand, generateCommands } from './generator.js';
|
|
21
|
-
export { claudeAdapter, cursorAdapter,
|
|
21
|
+
export { claudeAdapter, codexAdapter, cursorAdapter, geminiAdapter, githubCopilotAdapter } from './adapters/index.js';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -20,5 +20,5 @@ export { CommandAdapterRegistry } from './registry.js';
|
|
|
20
20
|
// Generator functions
|
|
21
21
|
export { generateCommand, generateCommands } from './generator.js';
|
|
22
22
|
// Adapters (for direct access if needed)
|
|
23
|
-
export { claudeAdapter, cursorAdapter,
|
|
23
|
+
export { claudeAdapter, codexAdapter, cursorAdapter, geminiAdapter, githubCopilotAdapter } from './adapters/index.js';
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,34 +2,12 @@
|
|
|
2
2
|
* Command Adapter Registry
|
|
3
3
|
*
|
|
4
4
|
* Centralized registry for tool command adapters.
|
|
5
|
-
* Similar pattern to existing SlashCommandRegistry in the codebase.
|
|
6
5
|
*/
|
|
7
|
-
import { amazonQAdapter } from './adapters/amazon-q.js';
|
|
8
|
-
import { antigravityAdapter } from './adapters/antigravity.js';
|
|
9
|
-
import { auggieAdapter } from './adapters/auggie.js';
|
|
10
|
-
import { bobAdapter } from './adapters/bob.js';
|
|
11
6
|
import { claudeAdapter } from './adapters/claude.js';
|
|
12
|
-
import { clineAdapter } from './adapters/cline.js';
|
|
13
7
|
import { codexAdapter } from './adapters/codex.js';
|
|
14
|
-
import { codebuddyAdapter } from './adapters/codebuddy.js';
|
|
15
|
-
import { continueAdapter } from './adapters/continue.js';
|
|
16
|
-
import { costrictAdapter } from './adapters/costrict.js';
|
|
17
|
-
import { crushAdapter } from './adapters/crush.js';
|
|
18
8
|
import { cursorAdapter } from './adapters/cursor.js';
|
|
19
|
-
import { factoryAdapter } from './adapters/factory.js';
|
|
20
9
|
import { geminiAdapter } from './adapters/gemini.js';
|
|
21
10
|
import { githubCopilotAdapter } from './adapters/github-copilot.js';
|
|
22
|
-
import { iflowAdapter } from './adapters/iflow.js';
|
|
23
|
-
import { junieAdapter } from './adapters/junie.js';
|
|
24
|
-
import { kilocodeAdapter } from './adapters/kilocode.js';
|
|
25
|
-
import { kiroAdapter } from './adapters/kiro.js';
|
|
26
|
-
import { opencodeAdapter } from './adapters/opencode.js';
|
|
27
|
-
import { piAdapter } from './adapters/pi.js';
|
|
28
|
-
import { qoderAdapter } from './adapters/qoder.js';
|
|
29
|
-
import { lingmaAdapter } from './adapters/lingma.js';
|
|
30
|
-
import { qwenAdapter } from './adapters/qwen.js';
|
|
31
|
-
import { roocodeAdapter } from './adapters/roocode.js';
|
|
32
|
-
import { windsurfAdapter } from './adapters/windsurf.js';
|
|
33
11
|
/**
|
|
34
12
|
* Registry for looking up tool command adapters.
|
|
35
13
|
*/
|
|
@@ -37,32 +15,11 @@ export class CommandAdapterRegistry {
|
|
|
37
15
|
static adapters = new Map();
|
|
38
16
|
// Static initializer - register built-in adapters
|
|
39
17
|
static {
|
|
40
|
-
CommandAdapterRegistry.register(amazonQAdapter);
|
|
41
|
-
CommandAdapterRegistry.register(antigravityAdapter);
|
|
42
|
-
CommandAdapterRegistry.register(auggieAdapter);
|
|
43
|
-
CommandAdapterRegistry.register(bobAdapter);
|
|
44
18
|
CommandAdapterRegistry.register(claudeAdapter);
|
|
45
|
-
CommandAdapterRegistry.register(clineAdapter);
|
|
46
19
|
CommandAdapterRegistry.register(codexAdapter);
|
|
47
|
-
CommandAdapterRegistry.register(codebuddyAdapter);
|
|
48
|
-
CommandAdapterRegistry.register(continueAdapter);
|
|
49
|
-
CommandAdapterRegistry.register(costrictAdapter);
|
|
50
|
-
CommandAdapterRegistry.register(crushAdapter);
|
|
51
20
|
CommandAdapterRegistry.register(cursorAdapter);
|
|
52
|
-
CommandAdapterRegistry.register(factoryAdapter);
|
|
53
21
|
CommandAdapterRegistry.register(geminiAdapter);
|
|
54
22
|
CommandAdapterRegistry.register(githubCopilotAdapter);
|
|
55
|
-
CommandAdapterRegistry.register(iflowAdapter);
|
|
56
|
-
CommandAdapterRegistry.register(junieAdapter);
|
|
57
|
-
CommandAdapterRegistry.register(kilocodeAdapter);
|
|
58
|
-
CommandAdapterRegistry.register(kiroAdapter);
|
|
59
|
-
CommandAdapterRegistry.register(opencodeAdapter);
|
|
60
|
-
CommandAdapterRegistry.register(piAdapter);
|
|
61
|
-
CommandAdapterRegistry.register(qoderAdapter);
|
|
62
|
-
CommandAdapterRegistry.register(lingmaAdapter);
|
|
63
|
-
CommandAdapterRegistry.register(qwenAdapter);
|
|
64
|
-
CommandAdapterRegistry.register(roocodeAdapter);
|
|
65
|
-
CommandAdapterRegistry.register(windsurfAdapter);
|
|
66
23
|
}
|
|
67
24
|
/**
|
|
68
25
|
* Register a tool command adapter.
|
|
@@ -33,7 +33,7 @@ export interface ToolCommandAdapter {
|
|
|
33
33
|
/**
|
|
34
34
|
* Returns the file path for a command.
|
|
35
35
|
* @param commandId - The command identifier (e.g., 'explore')
|
|
36
|
-
* @returns Path from project root (e.g., '.claude/commands/
|
|
36
|
+
* @returns Path from project root (e.g., '.claude/commands/pstl/explore.md').
|
|
37
37
|
* May be absolute for tools with global-scoped prompts (e.g., Codex).
|
|
38
38
|
*/
|
|
39
39
|
getFilePath(commandId: string): string;
|
package/dist/core/config.js
CHANGED
|
@@ -4,35 +4,10 @@ export const PASTELSDD_MARKERS = {
|
|
|
4
4
|
end: '<!-- PASTELSDD:END -->'
|
|
5
5
|
};
|
|
6
6
|
export const AI_TOOLS = [
|
|
7
|
-
{ name: 'Amazon Q Developer', value: 'amazon-q', available: true, successLabel: 'Amazon Q Developer', skillsDir: '.amazonq' },
|
|
8
|
-
{ name: 'Antigravity', value: 'antigravity', available: true, successLabel: 'Antigravity', skillsDir: '.agent' },
|
|
9
|
-
{ name: 'Auggie (Augment CLI)', value: 'auggie', available: true, successLabel: 'Auggie', skillsDir: '.augment' },
|
|
10
|
-
{ name: 'Bob Shell', value: 'bob', available: true, successLabel: 'Bob Shell', skillsDir: '.bob' },
|
|
11
7
|
{ name: 'Claude Code', value: 'claude', available: true, successLabel: 'Claude Code', skillsDir: '.claude' },
|
|
12
|
-
{ name: 'Cline', value: 'cline', available: true, successLabel: 'Cline', skillsDir: '.cline' },
|
|
13
8
|
{ name: 'Codex', value: 'codex', available: true, successLabel: 'Codex', skillsDir: '.codex' },
|
|
14
|
-
{ name: 'ForgeCode', value: 'forgecode', available: true, successLabel: 'ForgeCode', skillsDir: '.forge' },
|
|
15
|
-
{ name: 'CodeBuddy Code (CLI)', value: 'codebuddy', available: true, successLabel: 'CodeBuddy Code', skillsDir: '.codebuddy' },
|
|
16
|
-
{ name: 'Continue', value: 'continue', available: true, successLabel: 'Continue (VS Code / JetBrains / Cli)', skillsDir: '.continue' },
|
|
17
|
-
{ name: 'CoStrict', value: 'costrict', available: true, successLabel: 'CoStrict', skillsDir: '.cospec' },
|
|
18
|
-
{ name: 'Crush', value: 'crush', available: true, successLabel: 'Crush', skillsDir: '.crush' },
|
|
19
9
|
{ name: 'Cursor', value: 'cursor', available: true, successLabel: 'Cursor', skillsDir: '.cursor' },
|
|
20
|
-
{ name: 'Factory Droid', value: 'factory', available: true, successLabel: 'Factory Droid', skillsDir: '.factory' },
|
|
21
10
|
{ name: 'Gemini CLI', value: 'gemini', available: true, successLabel: 'Gemini CLI', skillsDir: '.gemini' },
|
|
22
11
|
{ name: 'GitHub Copilot', value: 'github-copilot', available: true, successLabel: 'GitHub Copilot', skillsDir: '.github', detectionPaths: ['.github/copilot-instructions.md', '.github/instructions', '.github/workflows/copilot-setup-steps.yml', '.github/prompts', '.github/agents', '.github/skills', '.github/.mcp.json'] },
|
|
23
|
-
{ name: 'iFlow', value: 'iflow', available: true, successLabel: 'iFlow', skillsDir: '.iflow' },
|
|
24
|
-
{ name: 'Junie', value: 'junie', available: true, successLabel: 'Junie', skillsDir: '.junie' },
|
|
25
|
-
{ name: 'Kilo Code', value: 'kilocode', available: true, successLabel: 'Kilo Code', skillsDir: '.kilocode' },
|
|
26
|
-
{ name: 'Kimi CLI', value: 'kimi', available: true, successLabel: 'Kimi CLI', skillsDir: '.kimi' },
|
|
27
|
-
{ name: 'Kiro', value: 'kiro', available: true, successLabel: 'Kiro', skillsDir: '.kiro' },
|
|
28
|
-
{ name: 'OpenCode', value: 'opencode', available: true, successLabel: 'OpenCode', skillsDir: '.opencode' },
|
|
29
|
-
{ name: 'Pi', value: 'pi', available: true, successLabel: 'Pi', skillsDir: '.pi' },
|
|
30
|
-
{ name: 'Qoder', value: 'qoder', available: true, successLabel: 'Qoder', skillsDir: '.qoder' },
|
|
31
|
-
{ name: 'Lingma', value: 'lingma', available: true, successLabel: 'Lingma', skillsDir: '.lingma' },
|
|
32
|
-
{ name: 'Qwen Code', value: 'qwen', available: true, successLabel: 'Qwen Code', skillsDir: '.qwen' },
|
|
33
|
-
{ name: 'RooCode', value: 'roocode', available: true, successLabel: 'RooCode', skillsDir: '.roo' },
|
|
34
|
-
{ name: 'Trae', value: 'trae', available: true, successLabel: 'Trae', skillsDir: '.trae' },
|
|
35
|
-
{ name: 'Windsurf', value: 'windsurf', available: true, successLabel: 'Windsurf', skillsDir: '.windsurf' },
|
|
36
|
-
{ name: 'AGENTS.md (works with Amp, VS Code, …)', value: 'agents', available: false, successLabel: 'your AGENTS.md-compatible assistant' }
|
|
37
12
|
];
|
|
38
13
|
//# sourceMappingURL=config.js.map
|
package/dist/core/init.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Init Command
|
|
3
3
|
*
|
|
4
|
-
* Sets up Pastelsdd with Agent Skills and /
|
|
4
|
+
* Sets up Pastelsdd with Agent Skills and /pstl:* slash commands.
|
|
5
5
|
* This is the unified setup command that replaces both the old init and experimental commands.
|
|
6
6
|
*/
|
|
7
7
|
type InitCommandOptions = {
|
|
@@ -20,11 +20,14 @@ export declare class InitCommand {
|
|
|
20
20
|
private validate;
|
|
21
21
|
private canPromptInteractively;
|
|
22
22
|
private resolveProfileOverride;
|
|
23
|
+
private handleLegacyToolMigration;
|
|
24
|
+
private performLegacyToolMigration;
|
|
23
25
|
private handleLegacyCleanup;
|
|
24
26
|
private performLegacyCleanup;
|
|
25
27
|
private getSelectedTools;
|
|
26
28
|
private resolveToolsArg;
|
|
27
29
|
private validateTools;
|
|
30
|
+
private handleTrelloSetup;
|
|
28
31
|
private createDirectoryStructure;
|
|
29
32
|
private generateSkillsAndCommands;
|
|
30
33
|
private createConfig;
|