fluxflow-cli 1.1.0 โ 1.1.1
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 +71 -80
- package/dist/fluxflow.js +17 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,80 +1,71 @@
|
|
|
1
|
-
#
|
|
2
|
-
 & [Ink](https://github.com/vadimdemedes/ink)**: For the interactive CLI rendering.
|
|
75
|
-
- **[@google/genai](https://www.npmjs.com/package/@google/genai)**: The core AI SDK powering the agent's intelligence.
|
|
76
|
-
- **[chalk](https://www.npmjs.com/package/chalk) & [gradient-string](https://www.npmjs.com/package/gradient-string)**: For terminal styling and aesthetics.
|
|
77
|
-
- **[fs-extra](https://www.npmjs.com/package/fs-extra)**: For robust file system operations.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
*Created as a demonstration of highly capable AI tooling.*
|
|
1
|
+
# ๐ Flux Flow (`fluxflow-cli`)
|
|
2
|
+

|
|
3
|
+
|
|
4
|
+
### *The High-Fidelity Agentic Terminal for the Flux Era.*
|
|
5
|
+
|
|
6
|
+
**Flux Flow** is not just another CLIโit's a high-speed, sassy, and goal-oriented CLI AI Agent powered by the latest Gemini/Gemma frontier models. Designed for developers who demand a premium UI/UX while managing complex file-system tasks, web research, and autonomous workflows.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ๐ Instant Ignition (No Setup Required)
|
|
11
|
+
You don't even need to install it. Just fire up your terminal and run:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Run instantly (Zero Setup)
|
|
15
|
+
npx fluxflow-cli
|
|
16
|
+
|
|
17
|
+
# OR Install Globally
|
|
18
|
+
npm install -g fluxflow-cli
|
|
19
|
+
fluxflow-cli
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
*The agent will prompt you for your Gemini API Key on the first run and store it securely in an XOR-encrypted vault.*
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## โจ Why Flux Flow?
|
|
27
|
+
|
|
28
|
+
### ๐จ **Premium Visual Sovereignty**
|
|
29
|
+
Experience a terminal UI that feels alive. Built with **Ink** and **React**, Flux Flow features:
|
|
30
|
+
- **Dynamic Status Bar**: Real-time telemetry showing your "Neural Headroom" (token usage), Thinking Level, and Session ID.
|
|
31
|
+
- **Archived Terminal Flow**: See execution outputs transform from live elements into permanent conversation records.
|
|
32
|
+
- **Rich Aesthetics**: High-contrast, sleek design with smooth transitions and micro-animations.
|
|
33
|
+
|
|
34
|
+
### ๐ง **The Dual-Intelligence System**
|
|
35
|
+
- **Flux Mode (Dev)**: High-speed, agentic problem solving with a 50-turn persistent loop for massive coding tasks.
|
|
36
|
+
- **Flow Mode (Chat)**: Optimized for deep research, high-quality conversation, and web-assisted reasoning.
|
|
37
|
+
|
|
38
|
+
### ๐ก๏ธ **Digital Fortress Governance**
|
|
39
|
+
Security isn't an afterthought; it's a boundary.
|
|
40
|
+
- **External Path Hardlock**: Restricts the agent to your Current Working Directory (CWD) unless you explicitly unlock it.
|
|
41
|
+
- **Human-in-the-Loop (HITL)**: Every file write and terminal command requires your high-fidelity approval.
|
|
42
|
+
- **XOR Vaulting**: All local session histories, memories, and API keys are obfuscated and encrypted at rest.
|
|
43
|
+
- **Adaptive Failover**: Automatic multi-stage retry logic with high-concurrency fallback model switching (Gemini 3.1 Flash Lite) during peak API congestion.
|
|
44
|
+
|
|
45
|
+
### ๐งน **The Background Janitor**
|
|
46
|
+
While you move at high speed, the Janitor follows behindโrefining session titles, compressing data, and ensuring your context window remains at absolute peak performance.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ๐ ๏ธ Key Capabilities
|
|
51
|
+
- **Deep File-System Interaction**: Edit, move, and refactor code across multiple files with atomic precision.
|
|
52
|
+
- **Real-Time Web Intelligence**: Autonomous web-searching via DuckDuckGo for live news and technical research.
|
|
53
|
+
- **Autonomous Project Alignment**: Automatically detects and adheres to project-specific instructions in `Agent.md`, `Skills.md`, and `Fluxflow.md` for high-fidelity alignment with your coding standards and custom workflows.
|
|
54
|
+
- **High-Reliability Fallback**: Automatic failover to a lighter, high-concurrency model during peak traffic to ensure zero session loss.
|
|
55
|
+
- **Persistent Memory**: The agent learns from your preferences and project requirements across sessions.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## โ๏ธ Configuration
|
|
60
|
+
Type `/settings` in-app to live-configure:
|
|
61
|
+
- **Thinking Level**: Low, Medium, or High (Deep-Reasoning).
|
|
62
|
+
- **Auto-Execution**: For ultimate high-speed flow (Advanced users only).
|
|
63
|
+
- **Security Perimeter**: Toggle External Workspace access.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## ๐ License
|
|
68
|
+
MIT ยฉ 2026 Flux Flow Team.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
*Forged with โก and ๐งฌ. Welcome to the FluxFlow.*
|
package/dist/fluxflow.js
CHANGED
|
@@ -1838,7 +1838,8 @@ function MemoryModal({ onClose }) {
|
|
|
1838
1838
|
// src/app.jsx
|
|
1839
1839
|
var SESSION_START_TIME = Date.now();
|
|
1840
1840
|
var CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
|
|
1841
|
-
var versionFluxflow = "1.1.
|
|
1841
|
+
var versionFluxflow = "1.1.1";
|
|
1842
|
+
var updatedOn = "2026-04-26";
|
|
1842
1843
|
var ResolutionModal = ({ data, onResolve, onEdit }) => /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "column", borderStyle: "round", borderColor: "magenta", paddingX: 2, paddingY: 1, width: "100%" }, /* @__PURE__ */ React9.createElement(Text9, { color: "magenta", bold: true, underline: true }, "\u{1F7E3} STEERING HINT RESOLUTION"), /* @__PURE__ */ React9.createElement(Text9, { marginTop: 1 }, "The agent already finished the task (turn: finish) before your hint was consumed."), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1, backgroundColor: "#222", paddingX: 1, width: "100%" }, /* @__PURE__ */ React9.createElement(Text9, { italic: true, color: "gray" }, '"', data, '"')), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1 }, /* @__PURE__ */ React9.createElement(Text9, { color: "cyan" }, "How would you like to proceed?")), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1 }, /* @__PURE__ */ React9.createElement(
|
|
1843
1844
|
CommandMenu,
|
|
1844
1845
|
{
|
|
@@ -1888,13 +1889,14 @@ function App() {
|
|
|
1888
1889
|
const response = await fetch("https://registry.npmjs.org/fluxflow-cli/latest");
|
|
1889
1890
|
const data = await response.json();
|
|
1890
1891
|
const latestVersion = data?.version;
|
|
1892
|
+
if (latestVersion) setLatestVer(latestVersion);
|
|
1891
1893
|
if (latestVersion && latestVersion !== versionFluxflow) {
|
|
1892
1894
|
setMessages((prev) => {
|
|
1893
1895
|
const newMsgs = [...prev];
|
|
1894
1896
|
newMsgs.splice(1, 0, {
|
|
1895
1897
|
id: "update-" + Date.now(),
|
|
1896
1898
|
role: "system",
|
|
1897
|
-
text: `\u{1F680} **New version '${latestVersion}' is available!**
|
|
1899
|
+
text: `\u{1F680} **New version 'v${latestVersion}' is available!**
|
|
1898
1900
|
Type \`npm i -g fluxflow-cli\` to update.
|
|
1899
1901
|
Check what's new using \`/changelog\` command.`,
|
|
1900
1902
|
isUpdateNotification: true
|
|
@@ -1908,6 +1910,7 @@ Check what's new using \`/changelog\` command.`,
|
|
|
1908
1910
|
checkVersion();
|
|
1909
1911
|
}, []);
|
|
1910
1912
|
const [thinkingLevel, setThinkingLevel] = useState5("Medium");
|
|
1913
|
+
const [latestVer, setLatestVer] = useState5(null);
|
|
1911
1914
|
const [showFullThinking, setShowFullThinking] = useState5(false);
|
|
1912
1915
|
const [activeModel, setActiveModel] = useState5("gemma-4-31b-it");
|
|
1913
1916
|
const [janitorModel, setJanitorModel] = useState5("gemma-4-26b-a4b-it");
|
|
@@ -2058,7 +2061,7 @@ Check what's new using \`/changelog\` command.`,
|
|
|
2058
2061
|
setTempKey("");
|
|
2059
2062
|
}
|
|
2060
2063
|
};
|
|
2061
|
-
const COMMANDS = ["/mode", "/thinking", "/model", "/resume", "/memory", "/profile", "/settings", "/key", "/stats", "/reset", "/help", "/clear", "/quit", "/changelog"];
|
|
2064
|
+
const COMMANDS = ["/mode", "/thinking", "/model", "/resume", "/memory", "/profile", "/settings", "/key", "/stats", "/reset", "/help", "/clear", "/quit", "/changelog", "/about"];
|
|
2062
2065
|
const handleSubmit = (value) => {
|
|
2063
2066
|
const normalizedValue = value.replace(/\r\n/g, "\n").replace(/\r/g, "\n").trimEnd();
|
|
2064
2067
|
if (normalizedValue.endsWith("\\")) {
|
|
@@ -2264,6 +2267,17 @@ ${list || "No saved chats found."}` }];
|
|
|
2264
2267
|
runReset();
|
|
2265
2268
|
break;
|
|
2266
2269
|
}
|
|
2270
|
+
case "/about": {
|
|
2271
|
+
const updateStatus = latestVer ? latestVer !== versionFluxflow ? `Update Available [v${latestVer}]` : "No Update Available" : "Checking for updates...";
|
|
2272
|
+
const aboutText = `\u2139\uFE0F **FluxFlow Version:** v${versionFluxflow}
|
|
2273
|
+
\u{1F504} **Status:** ${updateStatus}
|
|
2274
|
+
\u{1F4C5} **Updated on:** ${updatedOn}`;
|
|
2275
|
+
setMessages((prev) => {
|
|
2276
|
+
setCompletedIndex(prev.length + 1);
|
|
2277
|
+
return [...prev, { id: Date.now(), role: "system", text: aboutText }];
|
|
2278
|
+
});
|
|
2279
|
+
break;
|
|
2280
|
+
}
|
|
2267
2281
|
case "/changelog": {
|
|
2268
2282
|
const platform = process.platform;
|
|
2269
2283
|
const command = platform === "win32" ? "start" : platform === "darwin" ? "open" : "xdg-open";
|