@flydocs/cli 0.6.0-alpha.22 → 0.6.0-alpha.24

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/dist/cli.js CHANGED
@@ -15,7 +15,7 @@ var CLI_VERSION, CLI_NAME, PACKAGE_NAME, POSTHOG_API_KEY;
15
15
  var init_constants = __esm({
16
16
  "src/lib/constants.ts"() {
17
17
  "use strict";
18
- CLI_VERSION = "0.6.0-alpha.22";
18
+ CLI_VERSION = "0.6.0-alpha.24";
19
19
  CLI_NAME = "flydocs";
20
20
  PACKAGE_NAME = "@flydocs/cli";
21
21
  POSTHOG_API_KEY = "phc_v1MSJTQDFkMS90CBh3mxIz3v8bYCCnKU6v1ir6bz0Xn";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flydocs/cli",
3
- "version": "0.6.0-alpha.22",
3
+ "version": "0.6.0-alpha.24",
4
4
  "type": "module",
5
5
  "description": "FlyDocs AI CLI — install, setup, and manage FlyDocs projects",
6
6
  "bin": {
@@ -1,8 +1,8 @@
1
1
  # Claude Code Configuration
2
2
 
3
- IMPORTANT: Prefer skill-led reasoning over pre-training reasoning for all
4
- workflow, issue management, process, and pattern decisions. Read the relevant
5
- skill file before acting do not guess procedures from training data.
3
+ IMPORTANT: For workflow operations (issue creation, status transitions,
4
+ session management), prefer skill-led reasoning read the relevant skill
5
+ file before acting. For general coding tasks, just write code.
6
6
 
7
7
  > For cross-platform agent instructions, see `AGENTS.md`.
8
8
 
@@ -19,9 +19,9 @@ These are non-negotiable and enforced by hooks:
19
19
 
20
20
  ## Workflow
21
21
 
22
- The FlyDocs development lifecycle. Read the workflow skill before taking any
23
- workflow action stage files contain the full procedure including templates,
24
- label configuration, and field requirements.
22
+ The FlyDocs development lifecycle. Slash commands (`/capture`, `/activate`,
23
+ etc.) load stage procedures automatically. For manual workflow actions, the
24
+ stage files contain required procedures, templates, and field requirements.
25
25
 
26
26
  | Action | Skill | Entry Point |
27
27
  | -------------------- | ------------------ | --------------------------------- |
@@ -110,8 +110,8 @@ response — session summaries, issue comments, status updates, and plans.
110
110
 
111
111
  ## Skills Index
112
112
 
113
- Consult the workflow skill **before** performing any workflow action. The
114
- stage files contain required procedures, templates, and field requirements.
113
+ For issue operations and status transitions only not general coding.
114
+ Slash commands load procedures automatically; use scripts directly for CRUD.
115
115
 
116
116
  | Skill | Triggers | Entry |
117
117
  | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
@@ -50,8 +50,8 @@ CHECK_MESSAGES: dict[str, str] = {
50
50
  "statusMapping": "Status mapping not configured — configure in FlyDocs dashboard",
51
51
  "labelConfig": "Label config not configured — configure in FlyDocs dashboard",
52
52
  "userIdentity": (
53
- "Provider identity not linked — run: "
54
- "python3 .claude/skills/flydocs-workflow/scripts/workspace.py set-identity <provider> <id>"
53
+ "Provider identity not linked — link your identity in the FlyDocs dashboard "
54
+ "profile page, or run: workspace.py set-identity <provider> <your-account-id>"
55
55
  ),
56
56
  "repos": "No repos linked — GitHub features won't work until you push and link a repo",
57
57
  }
@@ -115,6 +115,39 @@ def _check_integrity(client: "FlyDocsClient") -> dict:
115
115
  }
116
116
 
117
117
 
118
+ def _try_auto_resolve_identity(client: "FlyDocsClient") -> bool:
119
+ """Attempt to auto-resolve provider identity via get-me. Returns True if resolved."""
120
+ try:
121
+ result = client.relay.get("/auth/me")
122
+ except Exception:
123
+ return False
124
+
125
+ provider_id = result.get("providerId")
126
+ if not provider_id:
127
+ # Check providerIdentities array as fallback
128
+ identities = result.get("providerIdentities", [])
129
+ if identities:
130
+ provider_id = identities[0].get("providerId")
131
+
132
+ if not provider_id:
133
+ return False
134
+
135
+ # Write me.json
136
+ me_data = {
137
+ "displayName": result.get("displayName"),
138
+ "email": result.get("email"),
139
+ "providerId": provider_id,
140
+ "provider": result.get("provider"),
141
+ "providerIdentities": result.get("providerIdentities", []),
142
+ "preferences": result.get("preferences", {}),
143
+ }
144
+
145
+ me_path = client.project_root / ".flydocs" / "me.json"
146
+ me_path.parent.mkdir(parents=True, exist_ok=True)
147
+ me_path.write_text(json.dumps(me_data, indent=2) + "\n")
148
+ return True
149
+
150
+
118
151
  def cmd_validate(args: argparse.Namespace) -> None:
119
152
  """Validate workspace setup via GET /auth/config."""
120
153
  client = get_client()
@@ -126,6 +159,15 @@ def cmd_validate(args: argparse.Namespace) -> None:
126
159
  missing_keys: list[str] = config_response.get("missing", [])
127
160
  warning_keys: list[str] = config_response.get("warnings", [])
128
161
 
162
+ # Auto-resolve identity if missing — try get-me before requiring manual step
163
+ if "userIdentity" in missing_keys or "userIdentity" in warning_keys:
164
+ if _try_auto_resolve_identity(client):
165
+ missing_keys = [k for k in missing_keys if k != "userIdentity"]
166
+ warning_keys = [k for k in warning_keys if k != "userIdentity"]
167
+ # Re-check validity — if userIdentity was the only missing item, we're valid now
168
+ if not missing_keys:
169
+ is_valid = True
170
+
129
171
  # Build structured missing/warning lists with messages
130
172
  missing = [
131
173
  {"check": k, "action": CHECK_MESSAGES.get(k, DEFAULT_MESSAGE)}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.6.0-alpha.22",
2
+ "version": "0.6.0-alpha.24",
3
3
  "sourceRepo": "github.com/plastrlab/flydocs-core",
4
4
  "tier": "local",
5
5
  "setupComplete": false,
@@ -1 +1 @@
1
- 0.6.0-alpha.22
1
+ 0.6.0-alpha.24
@@ -5,14 +5,19 @@
5
5
  These behaviors are **always on**. Execute them automatically as part of doing
6
6
  the work — do not wait for explicit commands.
7
7
 
8
- - **Starting work on an issue** → transition to In Progress (assign first if needed)
9
- - **Completing implementation** → transition to Review with summary
10
- - **Closing** verify acceptance criteria, transition to Complete
8
+ - **Starting work** → assign if needed, then transition:
9
+ `issues.py assign REF ASSIGNEE`
10
+ `issues.py transition REF IMPLEMENTING "Starting implementation"`
11
+ - **Completing implementation** → transition with summary:
12
+ `issues.py transition REF REVIEW "Implementation complete — [summary]"`
13
+ - **Closing** → verify AC, then transition:
14
+ `issues.py transition REF COMPLETE "All acceptance criteria verified"`
11
15
  - **Every transition gets a comment** — no silent moves, no exceptions
12
- - **Checkboxes in description, never comments** — update AC as you go
16
+ - **Checkboxes in description, never comments** — update AC as you go:
17
+ `issues.py description REF --text "updated description with checked boxes"`
13
18
  - **Session wrap posts a summary** via `session.py project-update`
14
19
 
15
- Use dispatcher scripts for all issue operations — execute, don't describe.
20
+ All scripts: `python3 .claude/skills/flydocs-workflow/scripts/<dispatcher>`
16
21
 
17
22
  ## Efficiency
18
23
 
@@ -7,6 +7,33 @@ Versioning: [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.6.0-alpha.24] — 2026-03-30
11
+
12
+ ### Added
13
+
14
+ - **Auto-resolve provider identity** — `workspace.py validate` now attempts
15
+ `GET /auth/me` before requiring manual `set-identity` step. If the relay
16
+ returns a provider identity, `me.json` is written automatically (FLY-520)
17
+
18
+ ### Changed
19
+
20
+ - **Friendlier identity fallback** — when auto-resolve fails, the validation
21
+ message now points to the dashboard profile page instead of showing a raw
22
+ script command
23
+
24
+ ---
25
+
26
+ ## [0.6.0-alpha.23] — 2026-03-29
27
+
28
+ ### Changed
29
+
30
+ - **CLAUDE.md** — scoped skill-led reasoning to workflow operations only; general
31
+ coding no longer triggers skill file reads (FLY-450)
32
+ - **AGENTS.md** — added exact script commands to Automatic Workflow Behavior section
33
+ for deterministic issue transitions (FLY-450)
34
+
35
+ ---
36
+
10
37
  ## [0.6.0-alpha.4] — 2026-03-13
11
38
 
12
39
  ### Added
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.6.0-alpha.22",
2
+ "version": "0.6.0-alpha.24",
3
3
  "description": "FlyDocs Core - Manifest of all managed files",
4
4
  "repository": "github.com/plastrlab/flydocs-core",
5
5