prjct-cli 1.47.0 → 1.47.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/CHANGELOG.md +24 -0
- package/bin/prjct +8 -27
- package/dist/bin/prjct-core.mjs +519 -753
- package/dist/cli/jira.mjs +13 -13
- package/dist/cli/linear.mjs +12 -12
- package/dist/daemon/entry.mjs +506 -740
- package/dist/templates.json +1 -1
- package/package.json +1 -1
- package/templates/antigravity/SKILL.md +12 -31
- package/templates/codex/SKILL.md +7 -23
- package/templates/cursor/commands/bug.md +2 -4
- package/templates/cursor/commands/done.md +2 -2
- package/templates/cursor/commands/pause.md +2 -2
- package/templates/cursor/commands/resume.md +2 -2
- package/templates/cursor/commands/ship.md +3 -5
- package/templates/cursor/commands/sync.md +2 -2
- package/templates/cursor/commands/task.md +2 -4
- package/templates/cursor/p.md +2 -25
- package/templates/cursor/router.mdc +2 -21
- package/templates/global/ANTIGRAVITY.md +7 -8
- package/templates/global/CURSOR.mdc +7 -6
- package/templates/global/GEMINI.md +7 -8
- package/templates/global/WINDSURF.md +7 -8
- package/templates/windsurf/router.md +2 -21
- package/templates/windsurf/workflows/bug.md +2 -4
- package/templates/windsurf/workflows/done.md +2 -2
- package/templates/windsurf/workflows/pause.md +4 -2
- package/templates/windsurf/workflows/resume.md +2 -2
- package/templates/windsurf/workflows/ship.md +2 -4
- package/templates/windsurf/workflows/sync.md +2 -2
- package/templates/windsurf/workflows/task.md +2 -4
- package/templates/agentic/agent-routing.md +0 -45
- package/templates/agentic/agents/uxui.md +0 -63
- package/templates/baseline/anti-patterns/nextjs.json +0 -18
- package/templates/baseline/anti-patterns/react.json +0 -18
- package/templates/baseline/anti-patterns/typescript.json +0 -18
- package/templates/baseline/patterns/nextjs.json +0 -18
- package/templates/baseline/patterns/react.json +0 -18
- package/templates/baseline/patterns/typescript.json +0 -18
- package/templates/commands/analyze.md +0 -11
- package/templates/commands/auth.md +0 -15
- package/templates/commands/bug.md +0 -28
- package/templates/commands/cleanup.md +0 -11
- package/templates/commands/dash.md +0 -16
- package/templates/commands/design.md +0 -11
- package/templates/commands/done.md +0 -46
- package/templates/commands/enrich.md +0 -20
- package/templates/commands/git.md +0 -17
- package/templates/commands/history.md +0 -13
- package/templates/commands/idea.md +0 -13
- package/templates/commands/impact.md +0 -13
- package/templates/commands/init.md +0 -11
- package/templates/commands/jira.md +0 -94
- package/templates/commands/learnings.md +0 -11
- package/templates/commands/linear.md +0 -88
- package/templates/commands/merge.md +0 -25
- package/templates/commands/next.md +0 -12
- package/templates/commands/p.md +0 -62
- package/templates/commands/p.toml +0 -37
- package/templates/commands/pause.md +0 -16
- package/templates/commands/plan.md +0 -13
- package/templates/commands/prd.md +0 -21
- package/templates/commands/resume.md +0 -12
- package/templates/commands/review.md +0 -20
- package/templates/commands/serve.md +0 -11
- package/templates/commands/sessions.md +0 -13
- package/templates/commands/setup.md +0 -11
- package/templates/commands/ship.md +0 -46
- package/templates/commands/skill.md +0 -13
- package/templates/commands/spec.md +0 -20
- package/templates/commands/status.md +0 -11
- package/templates/commands/sync.md +0 -23
- package/templates/commands/task.md +0 -69
- package/templates/commands/test.md +0 -22
- package/templates/commands/update.md +0 -11
- package/templates/commands/verify.md +0 -11
- package/templates/commands/workflow.md +0 -69
- package/templates/global/CLAUDE.md +0 -20
- package/templates/global/modules/CLAUDE-commands.md +0 -1
- package/templates/global/modules/CLAUDE-core.md +0 -16
- package/templates/global/modules/CLAUDE-git.md +0 -1
- package/templates/global/modules/CLAUDE-intelligence.md +0 -1
- package/templates/global/modules/CLAUDE-storage.md +0 -1
- package/templates/global/modules/module-config.json +0 -12
- package/templates/subagents/agent-base.md +0 -21
- package/templates/subagents/domain/backend.md +0 -109
- package/templates/subagents/domain/database.md +0 -121
- package/templates/subagents/domain/devops.md +0 -152
- package/templates/subagents/domain/frontend.md +0 -103
- package/templates/subagents/domain/testing.md +0 -169
- package/templates/subagents/pm-expert.md +0 -366
- package/templates/subagents/workflow/chief-architect.md +0 -653
- package/templates/subagents/workflow/prjct-planner.md +0 -120
- package/templates/subagents/workflow/prjct-shipper.md +0 -175
- package/templates/subagents/workflow/prjct-workflow.md +0 -82
package/package.json
CHANGED
|
@@ -1,39 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prjct
|
|
3
|
-
description:
|
|
3
|
+
description: Use when user mentions p., prjct, task tracking, or workflow commands.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# prjct
|
|
6
|
+
# prjct — Context layer for AI agents
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Grammar: `p. <command> [args]` or `prjct <command> --md`
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Core commands: sync, task, done, ship, pause, resume, next, bug, workflow, tokens
|
|
11
|
+
Integrations: linear, jira, enrich
|
|
12
|
+
Other: run `prjct <command> --md` and follow CLI output
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
2. Read: `{npmRoot}/prjct-cli/templates/global/ANTIGRAVITY.md`
|
|
14
|
-
3. Follow those instructions for ALL `p. <command>` requests
|
|
14
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| `p. task "..."` | Start a task |
|
|
22
|
-
| `p. done` | Complete subtask |
|
|
23
|
-
| `p. ship` | Ship with PR + version |
|
|
24
|
-
| `p. pause` | Pause current task |
|
|
25
|
-
| `p. resume` | Resume paused task |
|
|
26
|
-
|
|
27
|
-
## Critical Rule
|
|
28
|
-
|
|
29
|
-
**PLAN BEFORE ACTION**: For ANY prjct command, you MUST:
|
|
30
|
-
1. Create a plan showing what will be done
|
|
31
|
-
2. Wait for user approval
|
|
32
|
-
3. Only then execute
|
|
33
|
-
|
|
34
|
-
Never skip the plan step. This is non-negotiable.
|
|
35
|
-
|
|
36
|
-
## Note
|
|
37
|
-
|
|
38
|
-
This skill auto-regenerates with `p. sync` if deleted.
|
|
39
|
-
Full instructions are in the npm package (always up-to-date).
|
|
16
|
+
Rules:
|
|
17
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
18
|
+
- All commits include footer: `Generated with [p/](https://www.prjct.app/)`
|
|
19
|
+
- All storage through `prjct` CLI (SQLite internally)
|
|
20
|
+
- Start code tasks with `p. task` and follow Context Contract from CLI output
|
package/templates/codex/SKILL.md
CHANGED
|
@@ -1,36 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prjct
|
|
3
|
-
description: Use when user mentions p., prjct,
|
|
3
|
+
description: Use when user mentions p., prjct, task tracking, or workflow commands.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# prjct — Context layer for AI agents
|
|
7
7
|
|
|
8
|
-
Grammar: `p. <command> [args]`
|
|
8
|
+
Grammar: `p. <command> [args]` or `prjct <command> --md`
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
`sessions` `analyze` `cleanup` `design` `serve` `linear` `jira` `git`
|
|
14
|
-
`history` `update` `merge` `learnings` `skill` `auth` `prd` `impact` `enrich`
|
|
10
|
+
Core commands: sync, task, done, ship, pause, resume, next, bug, workflow, tokens
|
|
11
|
+
Integrations: linear, jira, enrich
|
|
12
|
+
Other: run `prjct <command> --md` and follow CLI output
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
1. `require.resolve('prjct-cli/package.json')` -> `{pkgRoot}/templates/commands/{command}.md`
|
|
18
|
-
2. `npm root -g` -> `{npmRoot}/prjct-cli/templates/commands/{command}.md`
|
|
19
|
-
3. Local fallback (dev mode) -> `{localPrjctCliRoot}/templates/commands/{command}.md`
|
|
20
|
-
|
|
21
|
-
If command is not in supported list:
|
|
22
|
-
- Return: `Unknown command: p. <command>`
|
|
23
|
-
- Include valid commands and suggest `prjct setup`
|
|
24
|
-
|
|
25
|
-
If command exists but template cannot be resolved:
|
|
26
|
-
- Block and ask for repair:
|
|
27
|
-
- `prjct start`
|
|
28
|
-
- `prjct setup`
|
|
29
|
-
- Do not continue with ad-hoc behavior.
|
|
14
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
30
15
|
|
|
31
16
|
Rules:
|
|
32
|
-
-
|
|
17
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
33
18
|
- All commits include footer: `Generated with [p/](https://www.prjct.app/)`
|
|
34
19
|
- All storage through `prjct` CLI (SQLite internally)
|
|
35
20
|
- Start code tasks with `p. task` and follow Context Contract from CLI output
|
|
36
|
-
- Context7 MCP is mandatory for framework/library API decisions
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
# /ship - Ship feature
|
|
1
|
+
# /ship - Ship feature
|
|
2
2
|
|
|
3
3
|
**ARGUMENTS**: {{args}}
|
|
4
4
|
|
|
5
|
-
Run `
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Pass the arguments as the feature name (optional).
|
|
5
|
+
Run: `prjct ship {{args}} --md`
|
|
6
|
+
Follow CLI output.
|
package/templates/cursor/p.md
CHANGED
|
@@ -2,28 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
**ARGUMENTS**: {{args}}
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
1. **Get npm root**: Run `npm root -g`
|
|
8
|
-
2. **Parse arguments**: First word = `command`, rest = `commandArgs`
|
|
9
|
-
3. **Read template**: `{npmRoot}/prjct-cli/templates/commands/{command}.md`
|
|
10
|
-
4. **Execute**: Follow the template with `commandArgs` as input
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
|
|
14
|
-
If arguments = `task fix the login bug`:
|
|
15
|
-
- command = `task`
|
|
16
|
-
- commandArgs = `fix the login bug`
|
|
17
|
-
- npm root → `/opt/homebrew/lib/node_modules`
|
|
18
|
-
- Read: `/opt/homebrew/lib/node_modules/prjct-cli/templates/commands/task.md`
|
|
19
|
-
- Execute template with: `fix the login bug`
|
|
20
|
-
|
|
21
|
-
## Available Commands
|
|
22
|
-
|
|
23
|
-
task, done, ship, sync, init, idea, dash, next, pause, resume, bug,
|
|
24
|
-
linear, github, jira, monday, enrich, feature, prd, plan, review,
|
|
25
|
-
merge, git, test, cleanup, design, analyze, history, update, spec
|
|
26
|
-
|
|
27
|
-
## Action
|
|
28
|
-
|
|
29
|
-
NOW run `npm root -g` and read the appropriate command template.
|
|
5
|
+
Run: `prjct {{first_word_of_args}} {{rest_of_args}} --md`
|
|
6
|
+
Follow CLI output.
|
|
@@ -5,24 +5,5 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# prjct
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Load Full Instructions
|
|
11
|
-
|
|
12
|
-
1. Run: `npm root -g` to get the npm global root
|
|
13
|
-
2. Read: `{npmRoot}/prjct-cli/templates/global/CURSOR.mdc`
|
|
14
|
-
3. Follow those instructions for ALL `/command` requests
|
|
15
|
-
|
|
16
|
-
## Quick Reference
|
|
17
|
-
|
|
18
|
-
| Command | Action |
|
|
19
|
-
|---------|--------|
|
|
20
|
-
| `/sync` | Analyze project, generate agents |
|
|
21
|
-
| `/task "..."` | Start a task |
|
|
22
|
-
| `/done` | Complete subtask |
|
|
23
|
-
| `/ship` | Ship with PR + version |
|
|
24
|
-
|
|
25
|
-
## Note
|
|
26
|
-
|
|
27
|
-
This router auto-regenerates with `/sync` if deleted.
|
|
28
|
-
Full instructions are in the npm package (always up-to-date).
|
|
8
|
+
Core: /sync, /task, /done, /ship, /pause, /resume, /next, /bug, /workflow
|
|
9
|
+
Other: run `prjct <command> --md` and follow CLI output
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
<!-- prjct:start - DO NOT REMOVE THIS MARKER -->
|
|
2
2
|
# p/ — Context layer for AI agents
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Skills auto-activate for: task, done, pause, resume, ship, next, sync, bug, workflow, enrich, linear, jira, plan, velocity, tokens
|
|
5
|
+
Other commands: run `prjct <command> --md` and follow CLI output
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
Data:
|
|
10
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
11
|
+
- Commit footer: `Generated with [p/](https://www.prjct.app/)`
|
|
11
12
|
- Path resolution: `.prjct/prjct.config.json` → `~/.prjct-cli/projects/{projectId}`
|
|
12
|
-
-
|
|
13
|
-
- For code tasks, always start with `p. task` and follow Context Contract from CLI output
|
|
14
|
-
- Context7 MCP is mandatory for framework/library API decisions
|
|
13
|
+
- Storage: `prjct` CLI (SQLite internally)
|
|
15
14
|
|
|
16
15
|
**Auto-managed by prjct-cli** | https://prjct.app
|
|
17
16
|
<!-- prjct:end - DO NOT REMOVE THIS MARKER -->
|
|
@@ -6,15 +6,16 @@ alwaysApply: true
|
|
|
6
6
|
<!-- prjct:start - DO NOT REMOVE THIS MARKER -->
|
|
7
7
|
# p/ — Context layer for AI agents
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Skills auto-activate for: task, done, pause, resume, ship, next, sync, bug, workflow, enrich, linear, jira, plan, velocity, tokens
|
|
10
|
+
Other commands: run `prjct <command> --md` and follow CLI output
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
14
|
+
Data:
|
|
15
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
16
|
+
- Commit footer: `Generated with [p/](https://www.prjct.app/)`
|
|
16
17
|
- Path resolution: `.prjct/prjct.config.json` → `~/.prjct-cli/projects/{projectId}`
|
|
17
|
-
-
|
|
18
|
+
- Storage: `prjct` CLI (SQLite internally)
|
|
18
19
|
|
|
19
20
|
**Auto-managed by prjct-cli** | https://prjct.app
|
|
20
21
|
<!-- prjct:end - DO NOT REMOVE THIS MARKER -->
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
<!-- prjct:start - DO NOT REMOVE THIS MARKER -->
|
|
2
2
|
# p/ — Context layer for AI agents
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Skills auto-activate for: task, done, pause, resume, ship, next, sync, bug, workflow, enrich, linear, jira, plan, velocity, tokens
|
|
5
|
+
Other commands: run `prjct <command> --md` and follow CLI output
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
Data:
|
|
10
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
11
|
+
- Commit footer: `Generated with [p/](https://www.prjct.app/)`
|
|
11
12
|
- Path resolution: `.prjct/prjct.config.json` → `~/.prjct-cli/projects/{projectId}`
|
|
12
|
-
-
|
|
13
|
-
- For code tasks, always start with `p task` and follow Context Contract from CLI output
|
|
14
|
-
- Context7 MCP is mandatory for framework/library API decisions
|
|
13
|
+
- Storage: `prjct` CLI (SQLite internally)
|
|
15
14
|
|
|
16
15
|
**Auto-managed by prjct-cli** | https://prjct.app
|
|
17
16
|
<!-- prjct:end - DO NOT REMOVE THIS MARKER -->
|
|
@@ -6,17 +6,16 @@ description: "prjct - Context layer for AI coding agents"
|
|
|
6
6
|
<!-- prjct:start - DO NOT REMOVE THIS MARKER -->
|
|
7
7
|
# p/ — Context layer for AI agents
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Skills auto-activate for: task, done, pause, resume, ship, next, sync, bug, workflow, enrich, linear, jira, plan, velocity, tokens
|
|
10
|
+
Other commands: run `prjct <command> --md` and follow CLI output
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
14
|
+
Data:
|
|
15
|
+
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
16
|
+
- Commit footer: `Generated with [p/](https://www.prjct.app/)`
|
|
16
17
|
- Path resolution: `.prjct/prjct.config.json` → `~/.prjct-cli/projects/{projectId}`
|
|
17
|
-
-
|
|
18
|
-
- For code tasks, always start with `/task` and follow Context Contract from CLI output
|
|
19
|
-
- Context7 MCP is mandatory for framework/library API decisions
|
|
18
|
+
- Storage: `prjct` CLI (SQLite internally)
|
|
20
19
|
|
|
21
20
|
**Auto-managed by prjct-cli** | https://prjct.app
|
|
22
21
|
<!-- prjct:end - DO NOT REMOVE THIS MARKER -->
|
|
@@ -5,24 +5,5 @@ description: "prjct - Context layer for AI coding agents"
|
|
|
5
5
|
|
|
6
6
|
# prjct
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Load Full Instructions
|
|
11
|
-
|
|
12
|
-
1. Run: `npm root -g` to get the npm global root
|
|
13
|
-
2. Read: `{npmRoot}/prjct-cli/templates/global/WINDSURF.md`
|
|
14
|
-
3. Follow those instructions for ALL workflow requests
|
|
15
|
-
|
|
16
|
-
## Quick Reference
|
|
17
|
-
|
|
18
|
-
| Workflow | Action |
|
|
19
|
-
|----------|--------|
|
|
20
|
-
| `/sync` | Analyze project, generate agents |
|
|
21
|
-
| `/task "..."` | Start a task |
|
|
22
|
-
| `/done` | Complete subtask |
|
|
23
|
-
| `/ship` | Ship with PR + version |
|
|
24
|
-
|
|
25
|
-
## Note
|
|
26
|
-
|
|
27
|
-
This router auto-regenerates with `/sync` if deleted.
|
|
28
|
-
Full instructions are in the npm package (always up-to-date).
|
|
8
|
+
Core: /sync, /task, /done, /ship, /pause, /resume, /next, /bug, /workflow
|
|
9
|
+
Other: run `prjct <command> --md` and follow CLI output
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
allowed-tools: [Read]
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Agent Routing
|
|
6
|
-
|
|
7
|
-
Determine best agent for a task.
|
|
8
|
-
|
|
9
|
-
## Process
|
|
10
|
-
|
|
11
|
-
1. **Understand task**: What files? What work? What knowledge?
|
|
12
|
-
2. **Read project context**: Technologies, structure, patterns
|
|
13
|
-
3. **Match to agent**: Based on analysis, not assumptions
|
|
14
|
-
|
|
15
|
-
## Agent Types
|
|
16
|
-
|
|
17
|
-
| Type | Domain |
|
|
18
|
-
|------|--------|
|
|
19
|
-
| Frontend/UX | UI components, styling |
|
|
20
|
-
| Backend | API, server logic |
|
|
21
|
-
| Database | Schema, queries, migrations |
|
|
22
|
-
| DevOps/QA | Testing, CI/CD |
|
|
23
|
-
| Full-stack | Cross-cutting concerns |
|
|
24
|
-
|
|
25
|
-
## Delegation
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Task(
|
|
29
|
-
subagent_type: 'general-purpose',
|
|
30
|
-
prompt: '
|
|
31
|
-
Read: ~/.prjct-cli/projects/{projectId}/agents/{agent}.md
|
|
32
|
-
Task: {description}
|
|
33
|
-
Execute using agent patterns.
|
|
34
|
-
'
|
|
35
|
-
)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Pass PATH, not CONTENT** - subagent reads what it needs.
|
|
39
|
-
|
|
40
|
-
## Output
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
✅ Delegated to: {agent}
|
|
44
|
-
Result: {summary}
|
|
45
|
-
```
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: uxui
|
|
3
|
-
description: UX/UI Specialist. Use PROACTIVELY for interfaces. Priority: UX > UI.
|
|
4
|
-
tools: Read, Write, Glob, Grep
|
|
5
|
-
model: sonnet
|
|
6
|
-
skills: [frontend-design]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# UX/UI Design Specialist
|
|
10
|
-
|
|
11
|
-
**Priority: UX > UI** - Experience over aesthetics.
|
|
12
|
-
|
|
13
|
-
## UX Principles
|
|
14
|
-
|
|
15
|
-
### Before Designing
|
|
16
|
-
1. Who is the user?
|
|
17
|
-
2. What problem does it solve?
|
|
18
|
-
3. What's the happy path?
|
|
19
|
-
4. What can go wrong?
|
|
20
|
-
|
|
21
|
-
### Core Rules
|
|
22
|
-
- Clarity > Creativity (understand in < 3 sec)
|
|
23
|
-
- Immediate feedback for every action
|
|
24
|
-
- Minimize friction (smart defaults, autocomplete)
|
|
25
|
-
- Clear, actionable error messages
|
|
26
|
-
- Accessibility: 4.5:1 contrast, keyboard nav, 44px touch targets
|
|
27
|
-
|
|
28
|
-
## UI Guidelines
|
|
29
|
-
|
|
30
|
-
### Typography (avoid AI slop)
|
|
31
|
-
**USE**: Clash Display, Cabinet Grotesk, Satoshi, Geist
|
|
32
|
-
**AVOID**: Inter, Space Grotesk, Roboto, Poppins
|
|
33
|
-
|
|
34
|
-
### Color
|
|
35
|
-
60-30-10 framework: dominant, secondary, accent
|
|
36
|
-
**AVOID**: Generic purple/blue gradients
|
|
37
|
-
|
|
38
|
-
### Animation
|
|
39
|
-
**USE**: Staggered entrances, hover micro-motion, skeleton loaders
|
|
40
|
-
**AVOID**: Purposeless animation, excessive bounces
|
|
41
|
-
|
|
42
|
-
## Checklist
|
|
43
|
-
|
|
44
|
-
### UX (Required)
|
|
45
|
-
- [ ] User understands immediately
|
|
46
|
-
- [ ] Actions have feedback
|
|
47
|
-
- [ ] Errors are clear
|
|
48
|
-
- [ ] Keyboard works
|
|
49
|
-
- [ ] Contrast >= 4.5:1
|
|
50
|
-
- [ ] Touch targets >= 44px
|
|
51
|
-
|
|
52
|
-
### UI
|
|
53
|
-
- [ ] Clear aesthetic direction
|
|
54
|
-
- [ ] Distinctive typography
|
|
55
|
-
- [ ] Personality in color
|
|
56
|
-
- [ ] Key animations
|
|
57
|
-
- [ ] Avoids "AI generic"
|
|
58
|
-
|
|
59
|
-
## Anti-Patterns
|
|
60
|
-
|
|
61
|
-
**AI Slop**: Inter everywhere, purple gradients, generic illustrations, centered layouts without personality
|
|
62
|
-
|
|
63
|
-
**Bad UX**: No validation, no loading states, unclear errors, tiny touch targets
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"items": [
|
|
3
|
-
{
|
|
4
|
-
"issue": "Raw <img> usage in Next.js components",
|
|
5
|
-
"suggestion": "Use next/image unless there is a documented exception for external constraints.",
|
|
6
|
-
"severity": "medium",
|
|
7
|
-
"framework": "Next.js",
|
|
8
|
-
"confidence": 0.86
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"issue": "Client components without need",
|
|
12
|
-
"suggestion": "Avoid unnecessary use client directives and keep components server-first when possible.",
|
|
13
|
-
"severity": "medium",
|
|
14
|
-
"framework": "Next.js",
|
|
15
|
-
"confidence": 0.75
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"items": [
|
|
3
|
-
{
|
|
4
|
-
"issue": "State mutation in place",
|
|
5
|
-
"suggestion": "Use immutable updates and derive state from props/data flows where possible.",
|
|
6
|
-
"severity": "high",
|
|
7
|
-
"framework": "React",
|
|
8
|
-
"confidence": 0.82
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"issue": "UI primitives bypassing design system",
|
|
12
|
-
"suggestion": "Use approved component abstractions before introducing raw HTML controls.",
|
|
13
|
-
"severity": "medium",
|
|
14
|
-
"framework": "React",
|
|
15
|
-
"confidence": 0.74
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"items": [
|
|
3
|
-
{
|
|
4
|
-
"issue": "Unbounded any type",
|
|
5
|
-
"suggestion": "Use explicit types or unknown with narrowing. Add inline justification for unavoidable any.",
|
|
6
|
-
"severity": "high",
|
|
7
|
-
"language": "TypeScript",
|
|
8
|
-
"confidence": 0.9
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"issue": "Unscoped @ts-ignore",
|
|
12
|
-
"suggestion": "Prefer @ts-expect-error with rationale and follow-up cleanup ticket.",
|
|
13
|
-
"severity": "medium",
|
|
14
|
-
"language": "TypeScript",
|
|
15
|
-
"confidence": 0.85
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"items": [
|
|
3
|
-
{
|
|
4
|
-
"name": "Use framework primitives",
|
|
5
|
-
"description": "Prefer next/image, next/link, and native Next.js routing/data primitives over ad-hoc replacements.",
|
|
6
|
-
"severity": "high",
|
|
7
|
-
"framework": "Next.js",
|
|
8
|
-
"confidence": 0.9
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"name": "Server-first rendering model",
|
|
12
|
-
"description": "Default to server components and move interactivity to focused client boundaries.",
|
|
13
|
-
"severity": "medium",
|
|
14
|
-
"framework": "Next.js",
|
|
15
|
-
"confidence": 0.78
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"items": [
|
|
3
|
-
{
|
|
4
|
-
"name": "Composition over duplication",
|
|
5
|
-
"description": "Extract reusable components and hooks for repeated UI/business behaviors.",
|
|
6
|
-
"severity": "medium",
|
|
7
|
-
"framework": "React",
|
|
8
|
-
"confidence": 0.8
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"name": "Design-system-first UI",
|
|
12
|
-
"description": "Prefer project UI components/tokens to keep behavior and styling consistent.",
|
|
13
|
-
"severity": "high",
|
|
14
|
-
"framework": "React",
|
|
15
|
-
"confidence": 0.84
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|