pan-stack-cli 0.1.1 → 0.1.4
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 +160 -96
- package/bin/pan.js +27 -14
- package/lib/create.js +87 -0
- package/lib/discover.js +21 -10
- package/lib/git/git-clone.js +3 -2
- package/lib/git/git-fetch-all.js +1 -1
- package/lib/git/git-grv.js +7 -11
- package/lib/git/git-gst.js +7 -11
- package/lib/git/git-pull.js +1 -1
- package/lib/git/git-push.js +1 -1
- package/lib/git/helpers/cli.js +56 -7
- package/lib/git/helpers/git.js +6 -5
- package/lib/manifest.js +1 -1
- package/lib/platform.js +140 -0
- package/lib/run-command.js +25 -20
- package/package.json +4 -3
- package/templates/workspace/.claude/skills/writing-guidelines/SKILL.md +48 -0
- package/templates/workspace/.codex/skills/writing-guidelines/SKILL.md +48 -0
- package/templates/workspace/.cursor/skills/writing-guidelines/SKILL.md +48 -0
- package/templates/workspace/.pan.yaml +25 -0
- package/templates/workspace/.project.yaml +15 -0
- package/templates/workspace/README.md +35 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-guidelines
|
|
3
|
+
description: Review docs/prose for Writing Guidelines compliance. Use when asked to "review my docs", "check writing style", "audit prose", "review docs voice and tone", or "check this page against the writing handbook".
|
|
4
|
+
metadata:
|
|
5
|
+
author: vercel
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
argument-hint: <file-or-pattern>
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Writing Guidelines
|
|
11
|
+
|
|
12
|
+
Review files for compliance with Writing Guidelines.
|
|
13
|
+
|
|
14
|
+
## How It Works
|
|
15
|
+
|
|
16
|
+
1. Fetch the latest guidelines from the source URL below
|
|
17
|
+
2. Read the specified files (or prompt user for files/pattern)
|
|
18
|
+
3. Check against all rules in the fetched guidelines
|
|
19
|
+
4. Output findings in the terse `file:line` format
|
|
20
|
+
|
|
21
|
+
## Guidelines Source
|
|
22
|
+
|
|
23
|
+
Fetch fresh guidelines before each review:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
https://raw.githubusercontent.com/vercel-labs/writing-guidelines/main/command.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Use WebFetch to retrieve the latest rules. The fetched content contains all the rules and output format instructions.
|
|
30
|
+
|
|
31
|
+
## Local Markdown Rules
|
|
32
|
+
|
|
33
|
+
Also check generated or edited Markdown against local markdownlint conventions:
|
|
34
|
+
|
|
35
|
+
- Keep at most one blank line between blocks. Do not create multiple consecutive blank lines. This avoids `MD012/no-multiple-blanks`.
|
|
36
|
+
- Use language tags on fenced code blocks.
|
|
37
|
+
- Before finishing edits, scan changed Markdown files for repeated blank lines.
|
|
38
|
+
|
|
39
|
+
## Usage
|
|
40
|
+
|
|
41
|
+
When a user provides a file or pattern argument:
|
|
42
|
+
1. Fetch guidelines from the source URL above
|
|
43
|
+
2. Read the specified files
|
|
44
|
+
3. Apply all rules from the fetched guidelines
|
|
45
|
+
4. Apply the local Markdown rules above
|
|
46
|
+
5. Output findings using the format specified in the guidelines
|
|
47
|
+
|
|
48
|
+
If no files specified, ask the user which files to review.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Workspace-level commands. Per-repo commands live in apps/*/.pan.yaml
|
|
2
|
+
commands:
|
|
3
|
+
install:
|
|
4
|
+
alias: i
|
|
5
|
+
description: Install dependencies across cloned repositories
|
|
6
|
+
shell: |
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
root="${PAN_WORKSPACE_ROOT}"
|
|
9
|
+
for dir in apps/web apps/api; do
|
|
10
|
+
[[ -d "$root/$dir" ]] || { echo "Missing: $root/$dir (run 'pan clone' first?)" >&2; exit 1; }
|
|
11
|
+
echo "-> install $dir"
|
|
12
|
+
(cd "$root/$dir" && npm install)
|
|
13
|
+
done
|
|
14
|
+
echo "Done."
|
|
15
|
+
|
|
16
|
+
test:
|
|
17
|
+
default: web
|
|
18
|
+
description: Run tests (web | api)
|
|
19
|
+
targets:
|
|
20
|
+
web:
|
|
21
|
+
cwd: apps/web
|
|
22
|
+
exec: npm test
|
|
23
|
+
api:
|
|
24
|
+
cwd: apps/api
|
|
25
|
+
exec: npm test
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
project: __PROJECT_NAME__
|
|
2
|
+
managed_by: your-team
|
|
3
|
+
|
|
4
|
+
stack:
|
|
5
|
+
repo: repo_url_to_be_filled
|
|
6
|
+
|
|
7
|
+
repositories:
|
|
8
|
+
- name: bookshop-web
|
|
9
|
+
description: Customer-facing web application
|
|
10
|
+
url: repo_url_to_be_filled
|
|
11
|
+
path: apps/web
|
|
12
|
+
- name: bookshop-api
|
|
13
|
+
description: REST API service
|
|
14
|
+
url: repo_url_to_be_filled
|
|
15
|
+
path: apps/api
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# __PROJECT_NAME__
|
|
2
|
+
|
|
3
|
+
PAN Stack workspace shell for the Bookshop example project.
|
|
4
|
+
|
|
5
|
+
This repository is the **coordination layer** — not the product source tree. It holds
|
|
6
|
+
agent skills, workspace manifests, and `pan` commands. Product code lives in the
|
|
7
|
+
repositories listed in `.project.yaml`.
|
|
8
|
+
|
|
9
|
+
## Layout
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
__PROJECT_NAME__/
|
|
13
|
+
.project.yaml # Workspace manifest (repository list)
|
|
14
|
+
.pan.yaml # Workspace-level pan commands
|
|
15
|
+
.claude/skills/ # Claude Code skills
|
|
16
|
+
.cursor/skills/ # Cursor agent skills
|
|
17
|
+
.codex/skills/ # Codex agent skills
|
|
18
|
+
apps/
|
|
19
|
+
web/ # bookshop-web (after pan clone)
|
|
20
|
+
api/ # bookshop-api (after pan clone)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Edit repository URLs in .project.yaml, then:
|
|
27
|
+
pan clone
|
|
28
|
+
pan install
|
|
29
|
+
pan test web
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Agent skills
|
|
33
|
+
|
|
34
|
+
All three agent folders ship with the shared `writing-guidelines` skill. Add more
|
|
35
|
+
skills under each `.claude`, `.cursor`, and `.codex` directory as your team grows.
|