fimo 0.12.1 → 0.13.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/assets/skills/fimo-cli/SKILL.md +1 -1
- package/assets/skills/fimo-cli/references/branches.md +1 -0
- package/assets/skills/fimo-cli/references/deploy.md +5 -3
- package/assets/skills/fimo-cli/references/locales.md +18 -3
- package/assets/skills/fimo-studio/references/billing-and-credits.md +10 -0
- package/dist/cli/bundle.json +2 -2
- package/dist/cli/index.js +92 -76
- package/package.json +1 -1
- package/templates/react-router/package.json +1 -1
|
@@ -34,7 +34,7 @@ Every command accepts a global `--json` flag (or `FIMO_OUTPUT=json` env) and emi
|
|
|
34
34
|
|
|
35
35
|
Branch on `error.code`, never on `error.message`. The envelope shape is versioned — `schema_version: 1` is stable; any breaking change bumps the version. Per-command `data` shapes are documented in `apps/cli/CLAUDE.md` (consumers of this skill don't normally need to read it, but it's the source of truth).
|
|
36
36
|
|
|
37
|
-
For shell composition use plain pretty mode (`cd $(fimo …)`); for structured parsing use `--json`. JSON mode disables interactive prompts — commands that need a confirmation
|
|
37
|
+
For shell composition use plain pretty mode (`cd $(fimo …)`); for structured parsing use `--json`. JSON mode disables interactive prompts — commands that need a confirmation fail fast unless every required arg is on the command line (`--yes`, `--org`, etc.). Locale lifecycle commands use `CONFIRMATION_REQUIRED` and require `--yes`; other older commands may use `NON_INTERACTIVE_REFUSAL`.
|
|
38
38
|
|
|
39
39
|
Pretty output may hide URLs behind clickable labels. Agents should use `--json` and read `data`.
|
|
40
40
|
|
|
@@ -17,6 +17,7 @@ fimo --env <name> <command> # peek at another env for one command (does not
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
- **`--env <name>`** is a global override. `fimo --env main status` inspects `main` while you stay checked out on your feature branch.
|
|
20
|
+
- Git-changing commands use the current branch; cross-branch status only reports the mismatch.
|
|
20
21
|
- If the branch maps to no env, the CLI errors with a hint (`fimo branch` to list, `fimo branch <name>` to create) rather than guessing.
|
|
21
22
|
- **`main`** is the default env and cannot be deleted.
|
|
22
23
|
- **`release/*`** envs are **read-only** — they're tags produced by `fimo publish`, not branches you push to. `fimo deploy` refuses them.
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
> **Local vs hosted.** The local dev server is localhost only. The Fimo **dashboard preview** and the **shareable preview URL** are served by the deployed sandbox — so if the developer wants to see the site in the dashboard or send someone a link, that requires a `fimo deploy`.
|
|
8
8
|
|
|
9
|
-
`fimo deploy`
|
|
9
|
+
`fimo deploy` uses the current branch. New projects start on `main`; `release/*` is read-only, and `--publish` only runs from `main`. See `references/branches.md` for the multi-env workflow.
|
|
10
|
+
|
|
11
|
+
Before deploying, Fimo fast-forwards a clean checkout that is behind and stops on dirty-behind or diverged branches. This syncs the whole branch, including config commits from Studio or locale commands.
|
|
10
12
|
|
|
11
13
|
> **Just need the current preview URL?** That's `fimo preview url` — sub-second, no commit, no push. See `references/preview.md`. `fimo deploy` is only for pushing code changes.
|
|
12
14
|
|
|
@@ -106,9 +108,9 @@ curl -H 'Accept: text/markdown' https://your-site/ # content negotiation
|
|
|
106
108
|
curl https://your-site/?format=md # query param
|
|
107
109
|
```
|
|
108
110
|
|
|
109
|
-
## Recovering from
|
|
111
|
+
## Recovering from Git drift
|
|
110
112
|
|
|
111
|
-
|
|
113
|
+
Most stale states are caught before deploy changes or commits files. Follow the emitted hint: clean a dirty checkout, or reconcile a diverged branch. A push can still lose a race if the remote advances after preflight:
|
|
112
114
|
|
|
113
115
|
```bash
|
|
114
116
|
git pull --rebase fimo <env> # <env> = the branch you're deploying (e.g. main)
|
|
@@ -6,7 +6,20 @@ This file covers CLI-side locale configuration and validation. For code integrat
|
|
|
6
6
|
|
|
7
7
|
## Configure Locales
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Keep one locale unless the user asks for multilingual or localized output. Use typed lifecycle commands for the locale set and default:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
fimo locales list --json
|
|
13
|
+
fimo locales add es --yes --json
|
|
14
|
+
fimo locales set-default es --yes --json
|
|
15
|
+
fimo locales remove es --yes --json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
These commands update the selected environment through the locale lifecycle API. The API commits `.fimo/config.json` to the Fimo branch, then the CLI synchronizes the **whole local branch** to that commit. They refuse a dirty config, a local-ahead branch, or a diverged branch before applying the remote change. `--yes` bypasses only the explanatory prompt.
|
|
19
|
+
|
|
20
|
+
If a mutation exits with code `2` and `data.code` is `LOCALE_APPLIED_SYNC_REQUIRED`, the remote operation succeeded (`data.applied` is `true`) but the local fast-forward did not. **Do not retry the locale command.** Run the commands in `data.sync.recovery`, resolve the checkout, and confirm with `fimo status` or `fimo locales list`.
|
|
21
|
+
|
|
22
|
+
Edit `.fimo/config.json` only for declarative routing behavior:
|
|
10
23
|
|
|
11
24
|
```jsonc
|
|
12
25
|
{
|
|
@@ -21,12 +34,14 @@ Edit `.fimo/config.json`. Keep one locale unless the user asks for multilingual
|
|
|
21
34
|
}
|
|
22
35
|
```
|
|
23
36
|
|
|
24
|
-
- `defaultLocale` is the locale used by `fimo validate`, `fimo labels set` without `--locale`, and content commands without `--locale`.
|
|
25
|
-
- `locales` must include `defaultLocale`.
|
|
37
|
+
- `defaultLocale` is the locale used by `fimo validate`, `fimo labels set` without `--locale`, and content commands without `--locale`. Change it with `fimo locales set-default`.
|
|
38
|
+
- `locales` must include `defaultLocale`. Add and remove values with `fimo locales add` and `fimo locales remove`.
|
|
26
39
|
- Locale tags should be structurally valid, for example `en`, `es`, `pt-BR`, or `zh-Hans`.
|
|
27
40
|
- `routing.strategy` currently supports `path-prefix`.
|
|
28
41
|
- If multiple locales are configured, create or update labels and localized content for every configured locale. Create schemas with `i18n: { "enabled": false }` only once.
|
|
29
42
|
|
|
43
|
+
`fimo locales remove` permanently deletes that locale's stored entries and labels.
|
|
44
|
+
|
|
30
45
|
## Validate
|
|
31
46
|
|
|
32
47
|
Run:
|
|
@@ -28,6 +28,16 @@ Buying credits is available on the **Premium** plan, since it charges the paymen
|
|
|
28
28
|
4. You get **1,000 credits per $1** spent.
|
|
29
29
|
5. Confirm the purchase. Your card on file is charged and the credits are added to your account immediately -- there is no separate checkout page to complete.
|
|
30
30
|
|
|
31
|
+
## Refilling Credits Automatically
|
|
32
|
+
|
|
33
|
+
Organization billing admins on Premium can configure auto-refill from **Settings > Billing**:
|
|
34
|
+
|
|
35
|
+
1. Choose the balance threshold that should trigger a refill.
|
|
36
|
+
2. Choose the dollar amount to purchase when the balance crosses that threshold.
|
|
37
|
+
3. Save the configuration. Hyperline stores the setting and charges the payment method on file when the threshold is crossed.
|
|
38
|
+
|
|
39
|
+
Turn auto-refill off from the same control. Fimo does not keep a separate copy of this configuration; the Billing page always shows the provider's current setting. Leaving a paid plan clears auto-refill, and billing admins retain the off-switch if provider cleanup is delayed.
|
|
40
|
+
|
|
31
41
|
## Upgrading Your Plan
|
|
32
42
|
|
|
33
43
|
You can upgrade from two places:
|
package/dist/cli/bundle.json
CHANGED