fimo 0.2.3-experimental.6 → 0.2.3-staging.10

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.
Files changed (30) hide show
  1. package/assets/skills/fimo/references/setup-plain-vite.md +4 -1
  2. package/assets/skills/fimo/references/setup-react-router.md +3 -2
  3. package/assets/skills/fimo-cli/SKILL.md +2 -1
  4. package/assets/skills/fimo-cli/references/agent-setup.md +1 -1
  5. package/assets/skills/fimo-cli/references/branches.md +2 -0
  6. package/assets/skills/fimo-cli/references/domains.md +3 -0
  7. package/assets/skills/fimo-cli/references/projects.md +11 -1
  8. package/assets/skills/fimo-studio/references/code-editor.md +1 -1
  9. package/dist/cli/bundle.json +2 -2
  10. package/dist/cli/index.js +3253 -1295
  11. package/dist/runtime/templates.d.ts +5 -5
  12. package/dist/runtime/templates.d.ts.map +1 -1
  13. package/dist/runtime/templates.js +14 -13
  14. package/package.json +1 -2
  15. package/scripts/lib/dev-release-state.mjs +44 -0
  16. package/scripts/lib/dev-release-state.test.ts +36 -0
  17. package/scripts/postinstall.mjs +6 -4
  18. package/scripts/publish-npm.mjs +12 -1
  19. package/templates/react-router/package.json +1 -8
  20. package/templates/react-router/pnpm-workspace.yaml +6 -3
  21. package/templates/react-router/public/claude-color.svg +1 -0
  22. package/templates/react-router/public/codex.svg +1 -0
  23. package/templates/react-router/public/copilot-color.svg +1 -0
  24. package/templates/react-router/public/cursor-light.svg +12 -0
  25. package/templates/react-router/public/fimo-logo-black.svg +3 -0
  26. package/templates/react-router/src/index.css +0 -4
  27. package/templates/react-router/src/pages/Index.tsx +38 -97
  28. package/scripts/lib/cleanup-release.mjs +0 -64
  29. package/scripts/lib/cleanup-release.test.ts +0 -142
  30. package/scripts/publish-tarball.mjs +0 -245
@@ -36,7 +36,6 @@ pnpm add -D vite @vitejs/plugin-react @types/react @types/react-dom typescript
36
36
  "type": "module",
37
37
  "scripts": {
38
38
  "dev": "vite --host 0.0.0.0 --port 5173",
39
- "prebuild": "fimo validate",
40
39
  "build": "vite build",
41
40
  "preview": "vite preview --host 0.0.0.0 --port 4173",
42
41
  "typecheck": "tsc --noEmit"
@@ -44,6 +43,10 @@ pnpm add -D vite @vitejs/plugin-react @types/react @types/react-dom typescript
44
43
  }
45
44
  ```
46
45
 
46
+ Validate runs automatically during `fimo deploy` and API-side sandbox builds.
47
+ For a purely local build, run `fimo validate` manually first when you need to
48
+ sync schemas/forms/translations before `pnpm build`.
49
+
47
50
  ## File: `vite.config.ts`
48
51
 
49
52
  ```ts
@@ -27,7 +27,6 @@ pnpm add -D @react-router/dev @react-router/node @tailwindcss/vite tailwindcss v
27
27
  "type": "module",
28
28
  "scripts": {
29
29
  "dev": "react-router dev --port 5173",
30
- "prebuild": "fimo validate",
31
30
  "build": "react-router build && fimo export-static",
32
31
  "preview": "vite preview --host 0.0.0.0 --port 4173",
33
32
  "typecheck": "tsc --noEmit"
@@ -35,7 +34,9 @@ pnpm add -D @react-router/dev @react-router/node @tailwindcss/vite tailwindcss v
35
34
  }
36
35
  ```
37
36
 
38
- (Dependencies installed via the command above; this is the scripts shape.)
37
+ Validate runs automatically during `fimo deploy` and API-side sandbox builds.
38
+ For a purely local build, run `fimo validate` manually first when you need to
39
+ sync schemas/forms/translations before `pnpm build`.
39
40
 
40
41
  ## File: `vite.config.ts`
41
42
 
@@ -44,6 +44,7 @@ npm i -g fimo # install the CLI globally
44
44
  fimo login # authenticate via browser
45
45
  fimo skills install # install Fimo skills for your AI tools
46
46
  fimo create my-site --org <id> # scaffold (writes .fimo.settings.json + AGENTS.md + project skill). Use the org **id** from `fimo orgs list`, NOT the slug.
47
+ fimo clone # interactively choose an existing project to clone locally
47
48
  cd my-site # the `fimo` project skill auto-loads from here
48
49
  fimo credits # inspect the owning org's AI credit balance (read-only)
49
50
  fimo validate # run all checks + sync schemas/forms/translations to DB
@@ -72,7 +73,7 @@ Load the matching reference when the user's request fires its trigger. Recipes t
72
73
  - "Firecrawl / scrape a public website / competitor research / agent web research" → `references/integrations.md` **+ load `references/integrations/firecrawl.md`**
73
74
  - "Check credits / credit balance / can I keep using AI / billing credits / running low / how many credits are left" → `references/credits.md`
74
75
  - "Create a branch / feature environment / new env / switch envs / merge envs / diff two envs / env status / what changed on this branch / sync from parent / cut a release / tag a version / go to prod" → `references/branches.md`
75
- - "List my projects / delete this project / unpublish / rename the project / manage projects across the org" → `references/projects.md`
76
+ - "List my projects / clone an existing project locally / check out a project / delete this project / unpublish / rename the project / manage projects across the org" → `references/projects.md`
76
77
  - "Migrate an existing Webflow / Framer / Squarespace / Wix / Carrd site from only a published URL" → load the `fimo-migration` skill and start with `fimo migrate <url> [dir]` to prepare the agent-ready migration draft
77
78
  - "Migrate from an exported project, source repository, Webflow code export plus CMS CSVs, Framer CMS CSVs, Squarespace XML/CSV, Wix CSVs, Carrd/static export, or downloaded site files" → load the `fimo-migration` skill and use the source repo/export as the migration source of truth
78
79
  - "How do AI agents read my site / markdown for agents" → `references/deploy.md`
@@ -60,7 +60,7 @@ The command prints exactly which files were written, so the context-aware behavi
60
60
  You rarely have to invoke it by hand:
61
61
 
62
62
  - **Global skills auto-refresh** after a CLI version change via a marker at `~/.config/fimo/last-version`.
63
- - **The project skill auto-refreshes on `pnpm install`** when the `fimo` package version bumps — the package's postinstall hook re-syncs the skill from `node_modules/fimo/assets/skills/fimo/` (which is version-locked to the installed package). The scaffolded template approves the `fimo` and `esbuild` build scripts for pnpm (`pnpm-workspace.yaml` `allowBuilds` for pnpm 11+, plus `package.json` `pnpm.onlyBuiltDependencies` for pnpm 10-era installs). npm / yarn run lifecycle scripts by default and need no extra config.
63
+ - **The project skill auto-refreshes during Fimo-controlled installs** when the `fimo` package version bumps — the package's postinstall hook re-syncs the skill from `node_modules/fimo/assets/skills/fimo/` (which is version-locked to the installed package). For pnpm, `fimo create --install`, sandbox `fimopm install`, and E2E helper installs pass a scoped allow-all-builds flag so the hook can run without persisting build-script approvals in the template. npm / yarn run lifecycle scripts by default and need no extra config.
64
64
 
65
65
  Invoke `fimo skills sync` explicitly when iterating on skill content locally, when you bumped the package via something other than a fresh install, or any time you want to force a refresh.
66
66
 
@@ -1,5 +1,7 @@
1
1
  # Envs &amp; branches (git-shaped workflow)
2
2
 
3
+ > **Beta:** Branch environments are still in beta. The CLI surface is available for early workflows, but not every command or cross-surface merge path is guaranteed to work reliably yet.
4
+
3
5
  A Fimo **env** is a multi-surface clone of the project: a git branch **plus** its own Neon DB branch, sandbox, preview URL, and R2 asset prefix. The CLI mirrors `git` command shapes so the workflow transfers directly — same verbs, multi-surface semantics.
4
6
 
5
7
  Every project starts with one env: `main`. You create more for feature work, deploy previews per-env, then merge back and publish.
@@ -8,6 +8,8 @@
8
8
  | **Custom domain** | A hostname the user owns (e.g. `blog.example.com`), attached via DNS | Premium | Many | `project_domains` table |
9
9
  | **Registered domain** | A new domain bought _through_ Fimo via the registrar reseller | Premium + feature flag | Many | `registered_domains` table |
10
10
 
11
+ > **A renamed URL or custom domain only resolves once the site is published** (`fimo deploy --publish`); before that it returns "Project Not Found".
12
+
11
13
  ## Commands
12
14
 
13
15
  ```bash
@@ -106,6 +108,7 @@ Propagation: typically 15–30 minutes, up to 48 hours rarely.
106
108
 
107
109
  ## Common errors
108
110
 
111
+ - **"Project Not Found" on a new URL or custom domain.** The route exists but the site was never published — run `fimo deploy --publish`.
109
112
  - **"Custom domains require a Premium plan."** — the operation is paid; the message includes the org billing URL. Free users can still run `list`, `rename-default`, `suggest-default`, `search`, and `pricing`.
110
113
  - **"Domain purchase is not enabled on this account."** — the registered-domains feature flag is off on this API instance. Contact support.
111
114
  - **"This URL is not available."** — slug or hostname collides with another project or is reserved.
@@ -1,12 +1,13 @@
1
1
  # Managing projects
2
2
 
3
- Commands for listing projects across an org and for managing the lifecycle of a single project (delete, publish, unpublish, rename). Most operate on the **current project** (read from `.fimo.settings.json` in the cwd) by default; for `delete`, `publish`, and `unpublish` you can pass an explicit `[projectId]` to target another. (`rename` is local-only — it never targets a different project; see below.)
3
+ Commands for listing projects across an org, cloning a remote project locally, and managing the lifecycle of a single project (delete, publish, unpublish, rename). Most lifecycle commands operate on the **current project** (read from `.fimo.settings.json` in the cwd) by default; for `delete`, `publish`, and `unpublish` you can pass an explicit `[projectId]` to target another. (`rename` is local-only — it never targets a different project; see below.)
4
4
 
5
5
  ## The `fimo projects` namespace
6
6
 
7
7
  ```bash
8
8
  fimo projects list [--org <id>] # list projects in an org (defaults to active org)
9
9
  fimo projects create [dir] [--org <id>] [--install|--no-install] # alias of `fimo create`
10
+ fimo projects clone [projectId] [dir] [--env <name>] # clone an existing project locally
10
11
  fimo projects delete [projectId] [-C <dir>] [-y] # delete (defaults to current project)
11
12
  fimo projects publish [projectId] [-C <dir>] # make the project live (publish from main)
12
13
  fimo projects unpublish [projectId] [-C <dir>] # take the project offline
@@ -15,10 +16,19 @@ fimo projects rename <name> [projectId] [-C <dir>] # local-only: set seo.siteN
15
16
 
16
17
  - **`list`** — projects you can see in the org. Live projects are marked.
17
18
  - **`create`** — identical to `fimo create`; see `references/create.md`.
19
+ - **`clone`** — clone a remote Fimo project's git repo to your machine and write the local `.fimo.settings.json`/agent files. Use `fimo clone <projectId>` when scripting or when the ID is known. In an interactive terminal, bare `fimo clone` opens a project picker for the active org; JSON mode and non-TTY shells require an explicit project ID and fail fast instead of prompting. By default it clones `main`; pass `--env <name>` to clone a specific env. The target directory defaults to the project display name/name, or pass `[dir]` explicitly.
18
20
  - **`delete`** — destructive; prompts unless `-y`. Removes the remote project.
19
21
  - **`publish` / `unpublish`** — toggle the project's public visibility. `publish` flips the current `main` state live (the same "go live" as `fimo deploy --publish`, minus the git push). This is **not** the versioned release path — for that, see `fimo publish` in `references/branches.md`.
20
22
  - **`rename`** — **local-only**, unlike the others. It does not touch the remote project record. It requires `.fimo.settings.json` in the cwd, and if you pass a `[projectId]` that doesn't match the linked project it errors and exits 1 (so you can't rename a different project). It writes `seo.siteName` into the local `fimo-config.json`; you must commit and run `fimo deploy` to apply the change.
21
23
 
24
+ ## Top-level clone shortcut
25
+
26
+ ```bash
27
+ fimo clone [projectId] [dir] [--env <name>] # same as `fimo projects clone`
28
+ ```
29
+
30
+ Use the top-level shortcut for the common "get this project onto my machine" workflow. After clone succeeds, `cd` into the printed directory and load the newly written project context (`AGENTS.md` plus the installed project skill) before generating code.
31
+
22
32
  ## Top-level shortcuts (current project)
23
33
 
24
34
  These target the project linked in the cwd's `.fimo.settings.json` — handy from inside a project directory:
@@ -1,6 +1,6 @@
1
1
  ## Browsing Your Files
2
2
 
3
- The Code tab requires **Developer Mode** to be enabled. Go to **Account Settings → Preferences** and turn on the **Developer Mode** toggle. Once enabled, click the **Code** tab (the code icon) in the workspace navigation, or press **Option+4** (Mac) / **Alt+4** (Windows/Linux). A file tree appears showing all your project files and folders.
3
+ Click the **Code** tab (the code icon) in the workspace navigation, or press **Option+4** (Mac) / **Alt+4** (Windows/Linux). A file tree appears showing all your project files and folders.
4
4
 
5
5
  Inside the Code workspace, the left sidebar shows the **Files** tree. If you ever switch the sidebar to another view, press **Cmd+Shift+E** (Mac) / **Ctrl+Shift+E** (Windows/Linux) to bring the Files explorer back.
6
6
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "bundled": true,
3
3
  "bundler": "esbuild",
4
- "bundledAt": "2026-06-19T14:20:40.666Z",
5
- "cliVersion": "0.2.3-experimental.6",
4
+ "bundledAt": "2026-06-23T15:06:33.888Z",
5
+ "cliVersion": "0.2.3-staging.10",
6
6
  "external": [
7
7
  "oxc-parser",
8
8
  "fsevents"