Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 1 addition & 17 deletions .github/workflows/tauri-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,30 +30,14 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [windows, macos, linux]
platform: [windows]
include:
- platform: windows
os: windows-latest
- platform: macos
os: macos-latest
- platform: linux
os: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Linux system deps
if: matrix.platform == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y \
pkg-config \
libglib2.0-dev \
libgtk-3-dev \
librsvg2-dev \
libayatana-appindicator3-dev \
libwebkit2gtk-4.1-dev || sudo apt-get install -y libwebkit2gtk-4.0-dev

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ package-lock.json
pnpm-lock.yaml
yarn.lock
bun.lockb
backend-plan.md
frontend-plan.md
PLAN.md
91 changes: 37 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ Build faster. Control everything. Work from one environment.

---

## ⬇️ Download

Download **maxc_v0.1.1**:

[![Windows](https://img.shields.io/badge/Windows-MSI-0078D6?logo=windows&logoColor=white)](https://github.com/Pollux-Studio/maxc/releases/tag/v0.1.1)

## ✨ Overview

**maxc** is an open source developer workspace that brings **terminals, browser automation, logs, and task orchestration into one unified environment**.
Expand Down Expand Up @@ -203,40 +209,40 @@ maxc uses a modular architecture designed for performance and extensibility.
maxc/

core/
workspace_manager
pane_manager
surface_manager
workspace_manager # workspace lifecycle + state
pane_manager # split panes + layout state
surface_manager # tabs/surfaces + routing

terminal/
conpty_engine
terminal_parser
terminal_renderer
conpty_engine # Windows PTY integration
terminal_parser # VT parsing + buffer model
terminal_renderer # terminal render pipeline

browser/
chromium_runtime
playwright_driver
dom_controller
automation_api
chromium_runtime # embedded Chromium runtime
playwright_driver # browser automation driver
dom_controller # DOM interaction layer
automation_api # browser RPC/commands

automation/
rpc_server
command_dispatcher
socket_protocol
rpc_server # JSON-RPC server
command_dispatcher # RPC method routing
socket_protocol # transport + protocol

ui/
window_manager
layout_engine
sidebar
surface_tabs
window_manager # top-level window system
layout_engine # pane/surface layout
sidebar # workspace + metadata sidebar
surface_tabs # tab strip + surface switching

notifications/
desktop_notifications
desktop_notifications # native notifications

cli/
command_parser
command_parser # CLI parsing + commands

config/
configuration_loader
configuration_loader # config files + defaults
```

## 🖥 Terminal Engine
Expand Down Expand Up @@ -402,45 +408,22 @@ maxc is built with modern systems technologies.
* Clap CLI framework
* Serde JSON RPC

## 🗺 Development Roadmap

### Phase 1

Core workspace foundations

* terminal + browser surface models
* pane splitting
* surface tabs

### Phase 2

Workspace manager

* sidebar
* workspace switching
* CLI control

### Phase 3

Browser surfaces

* embedded browser
* DOM automation
## 📦 v0.1.2 Roadmap

### Phase 4
Roadmap:

Automation API
* Update installer fix
* Initial install backend not started fix

* socket RPC server
* command dispatcher
Improvements:

### Phase 5
* Settings UI improved
* App icon improved

Notifications and metadata
Added:

* status indicators
* progress tracking
* sidebar logs
* Logs page added
* Shortcut customization added

## 📚 Documentation

Expand All @@ -461,7 +444,7 @@ Ways to contribute:

maxc is released as **Free and Open Source Software (FOSS)**.

License details will be added in the LICENSE file.
License: [Apache-2.0](LICENSE).

## ❤️ Final Words

Expand Down
43 changes: 43 additions & 0 deletions maxc-landing-page/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

.vercel
36 changes: 36 additions & 0 deletions maxc-landing-page/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
107 changes: 107 additions & 0 deletions maxc-landing-page/app/docs/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import Link from "next/link";
import { Navbar } from "@/components/landing/navbar";
import { Footer } from "@/components/landing/footer";

export default function DocsPage() {
return (
<main className="min-h-screen bg-[var(--background)] text-foreground">
<Navbar />

<section className="wrapper wrapper--ticks border-t border-nickel px-6 sm:px-10 py-14 sm:py-20">
<div className="flex flex-col gap-4">
<div className="flex flex-wrap items-center gap-3">
<h1 className="text-white text-3xl sm:text-4xl font-bold tracking-tight">Docs</h1>
<span className="text-[10px] uppercase tracking-widest text-black bg-white rounded-full px-2 py-1">
Stable
</span>
</div>
<p className="text-white/70 text-sm max-w-2xl">
Everything you need to run maxc locally, automate it with the CLI, and wire it into your agent workflows.
</p>
</div>
</section>

<section className="wrapper border-t border-nickel grid lg:grid-cols-2 divide-x divide-y divide-nickel">
<div className="p-6 sm:p-10 flex flex-col gap-4">
<h2 className="text-white text-xl font-semibold">Quick Start</h2>
<p className="text-white/50 text-sm leading-relaxed">
Install the desktop app, open a workspace, and attach terminals or browsers in seconds.
</p>
<div className="rounded-lg border border-[rgba(255,255,255,0.08)] bg-[#0f1117] p-4">
<div className="text-xs text-white/50 font-mono uppercase tracking-wide">Steps</div>
<ol className="mt-3 space-y-2 text-sm text-white/80">
<li>1. Download the installer for your OS.</li>
<li>2. Launch maxc and create a workspace.</li>
<li>3. Spawn a terminal or browser surface.</li>
</ol>
</div>
</div>

<div className="p-6 sm:p-10 flex flex-col gap-4 border-r-0">
<h2 className="text-white text-xl font-semibold">CLI</h2>
<p className="text-white/50 text-sm leading-relaxed">
Control every surface programmatically with one-line commands.
</p>
<div className="rounded-lg border border-[rgba(255,255,255,0.08)] bg-[#0f1117] p-4">
<pre className="text-xs font-mono text-white/80 leading-6">
<span className="text-white/50">$ </span>maxc terminal spawn
{"\n"}
<span className="text-white/50">$ </span>maxc browser open http://localhost:3000
{"\n"}
<span className="text-white/50">$ </span>maxc notify --title "Done" --level success
</pre>
</div>
</div>
</section>

<section className="wrapper border-t border-nickel grid lg:grid-cols-2 divide-x divide-y divide-nickel">
<div className="p-6 sm:p-10 flex flex-col gap-4">
<h2 className="text-white text-xl font-semibold">RPC</h2>
<p className="text-white/50 text-sm leading-relaxed">
Use JSON-RPC to drive workspaces and surfaces from any agent or script.
</p>
<div className="rounded-lg border border-[rgba(255,255,255,0.08)] bg-[#0f1117] p-4">
<pre className="text-xs font-mono text-white/80 leading-6">
{"{"}
{"\n"} "id": "req-1",
{"\n"} "method": "workspace.list",
{"\n"} "params": {}
{"\n"}{"}"}
</pre>
</div>
</div>

<div className="p-6 sm:p-10 flex flex-col gap-4 border-r-0">
<h2 className="text-white text-xl font-semibold">Configuration</h2>
<p className="text-white/50 text-sm leading-relaxed">
Tune fonts, scrollback, and workspace defaults through the config file.
</p>
<div className="rounded-lg border border-[rgba(255,255,255,0.08)] bg-[#0f1117] p-4">
<pre className="text-xs font-mono text-white/80 leading-6">
font-family = "JetBrains Mono"
{"\n"}font-size = 14
{"\n"}scrollback-limit = 50000
</pre>
</div>
</div>
</section>

<section className="wrapper border-t border-nickel px-6 sm:px-10 py-12">
<div className="rounded-xl border border-[rgba(255,255,255,0.08)] bg-white/[0.02] p-6 flex flex-col gap-3">
<h2 className="text-white text-xl font-semibold">Downloads</h2>
<p className="text-white/50 text-sm">
Grab the latest stable installer from the downloads page.
</p>
<Link
href="/downloads"
className="inline-flex w-fit items-center gap-2 px-4 py-2 text-sm font-semibold rounded-lg bg-white text-black hover:opacity-85 transition-opacity"
>
Go to Downloads
</Link>
</div>
</section>

<Footer />
</main>
);
}
Loading
Loading