PyZeIDE is a desktop-class integrated development environment for two languages that compile straight to machine code:
The IDE is named PyZeIDE. It presents a clean GUI with a file explorer, an integrated terminal, and 500+ features. The audience is compiler-obsessed developers: systems programmers, C/C++ veterans, and speed maximalists who judge an IDE by its output — machine code, cycles, and register pressure.
The product intent is a cold, instrument-panel-grade tool: a lab instrument for writing, building, and running Zenith and PythonX, where the visible proof of value is emitted machine code and the numbers that describe it.
PyZeIDE is delivered as a local installation. A local PyZeIDE installation provides the clean GUI, the file explorer, the integrated terminal, the Zenith toolchain, the PythonX toolchain, and the 500+ features. All accepted behavior is first-party application behavior; there is no provider-owned or external-only surface in the current scope.
Actors
Accepted behavior, by owner
Narrow exclusions
PyZeIDE is a local developer tool. The user installs it and works entirely on their own machine: their files, their projects, their builds, their terminal. Nothing in the accepted requirements asks for a hosted service, a shared workspace, a team account, or a remote build farm, and none is added here.
The delivery boundary is therefore simple and hard-edged:
Access is open. Every page in the current contract is reachable without establishing identity, because no accepted journey requires durable actor-specific state to be privately owned or resumed across sessions, and no commitment, decision, entitlement, or value transfer must remain bound to a particular participant. The durable state that matters here is the developer's own project on disk, which the file explorer and editors operate on directly.
Not applicable. No reference directive in this project declares content_source; there is no verified external factual collection to preserve.
FR-1 — Build an IDE named PyZeIDE (explicit) As a Zenith/PythonX Developer, I should have an IDE named PyZeIDE, so that I have one tool for writing, building, and running Zenith and PythonX.
FR-2 — Clean GUI with a file explorer (explicit) As a Zenith/PythonX Developer, I should get a clean GUI that includes a file explorer, so that I can see and manage my project files without leaving the IDE.
FR-3 — Integrated terminal (explicit) As a Zenith/PythonX Developer, I should have a terminal inside PyZeIDE, so that I can run development commands without leaving the IDE.
FR-4 — 500+ IDE features (explicit) As an IDE Feature User / Tooling Consumer, I should have 500+ features available in PyZeIDE, so that day-to-day development work stays inside the IDE.
FR-5 — PyZeIDE supports the Zenith programming language (explicit) As a Zenith/PythonX Developer, I should be able to write Zenith source in PyZeIDE, so that I can build Zenith programs.
FR-6 — Zenith compiles directly to machine code with no intermediate language (explicit) As a Zenith/PythonX Developer, I should compile Zenith source directly into machine code with no intermediate language, so that the output is machine code and nothing else.
FR-7 — Zenith is implemented using machine code (explicit) As a Zenith/PythonX Developer, I should be working with a Zenith toolchain that is itself implemented using machine code, so that the language's own implementation matches its direct-to-metal claim.
FR-8 — Zenith is OS independent (explicit) As a Zenith/PythonX Developer, I should get OS-independent Zenith behavior, so that my Zenith source is not tied to one operating system.
FR-9 — Zenith syntax is similar to C and C++ but not exactly the same (explicit) As a Zenith/PythonX Developer, I should write Zenith with syntax that is similar to C and C++ but not exactly the same, so that my existing systems-programming instincts transfer while the language stays its own.
FR-10 — Zenith is positioned as the fastest and most powerful language, faster than every language combined (explicit) As a Zenith/PythonX Developer, I should be able to see and rely on Zenith's speed and power positioning, so that I can evaluate the tool by its output rather than by marketing.
FR-11 — PyZeIDE supports a second language, PythonX (explicit) As a Zenith/PythonX Developer, I should be able to write PythonX source in PyZeIDE, so that I can build PythonX programs in the same IDE.
FR-12 — PythonX is Python that compiles directly to machine code (explicit) As a Zenith/PythonX Developer, I should compile PythonX source directly to machine code, so that Python-shaped source produces machine code without an intermediate-language stage.
FR-13 — PythonX supports third-party packages (explicit) As a Zenith/PythonX Developer, I should install and use third-party packages with PythonX, so that I can build on existing libraries.
FR-14 — Local installation provides the full toolchain and features (required_inference) As a Zenith/PythonX Developer, I should get the clean GUI, file explorer, integrated terminal, Zenith toolchain, PythonX toolchain, and 500+ features from a local PyZeIDE installation, so that an accepted current journey is executable without a hosted dependency.
FR-15 — Zenith compilation preserves direct machine-code generation and OS-independent behavior (required_inference) As a Zenith/PythonX Developer, I should get direct machine-code generation with no intermediate language and OS-independent behavior on every Zenith build, so that the language's defining constraint holds in practice.
FR-16 — PythonX compilation preserves direct machine-code generation and third-party package support (required_inference) As a Zenith/PythonX Developer, I should get direct machine-code generation and working third-party package support on every PythonX build, so that PythonX's defining constraint holds in practice.
Product context. This developer writes systems code and evaluates tools by what comes out the other end. They have C and C++ habits, they read register pressure and cycle counts the way other people read weather, and they chose PyZeIDE because it claims to compile straight to metal. They work on their own machine, on their own files, with no account and no team workspace in the picture.
Primary goal. Compile Zenith and PythonX source directly to machine code with no intermediate language, and get a fast, powerful, OS-independent result.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which language a file is written in; which target triple to build for; whether a build's diagnostics mean fixing the source or changing the target; whether a third-party package is worth adding to a PythonX build.
Interactions with other accepted participants. This developer produces the source and the builds that the IDE Feature User / Tooling Consumer navigates, inspects, and manages. Both personas share the File Explorer and the Terminal; the developer is the one who initiates builds and package installation.
Observable success. A build completes with the compile-state ring filled, the byte count rolled up, the spot colour snapped to the compile-ready state, and emitted bytes and estimated cycles reported in the status strip — with no intermediate-language artifact anywhere in the path.
Product context. This person lives inside the IDE for long stretches. They are not necessarily writing the compiler-facing code themselves; they are navigating it, inspecting it, managing the packages it depends on, and running commands. They chose PyZeIDE because the 500+ features and the integrated terminal mean they do not have to leave the window to get work done.
Primary goal. Keep day-to-day development work inside PyZeIDE, using the 500+ features and the integrated terminal to navigate, inspect, and manage code and third-party PythonX packages within a clean GUI.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which feature to invoke for a given task; which file to open next; which command to run; whether an installed package is the right one or should be removed.
Interactions with other accepted participants. This persona consumes the source, builds, and packages that the Zenith/PythonX Developer produces. They share the File Explorer and the Terminal with the developer, and they depend on the developer's builds being honestly reported before they inspect them.
Observable success. The feature they need is found and invoked from the catalogue; the file they need is open in the explorer; the command they ran returned its output and exit status; the package list reflects what is actually installed.
The creative direction is authoritative for this section. Muse: Peter Saville. Headline register: austere, referential, code-like — one exact diagram, one coded colour, and a lot of silence. The product is a lab instrument, not a SaaS dashboard.
| Role | Hex | Use |
|---|---|---|
| Background | #0A0A0B | Near-black ground for the whole product |
| Surface | #141416 | Slightly lifted panel for editor, explorer, and terminal chrome |
| Text | #EDEDED | Body text at 15px/1.55, clearing 15:1 on the ground |
| Primary (spot) | #E8FF3A | Compile-ready state, active cursor line, primary CTA underline, running instruction pointer |
| Accent (failure) | #FF3B1F | Failure and hard stops only — never decoration |
| Muted | #6E6E73 | The grey ramp between muted and text |
| Hairline | #26262A | 1px rules dividing every region |
Colour is a status code, not a mood: no gradient, no glow, no tinted surfaces. The one exception is the hero diagram, where #E8FF3A is the only ink on black. #E8FF3A and #FF3B1F are used for nothing other than status, active path, or the single primary action.
#E8FF3A.clamp(2.5rem, 6vw, 5.5rem)); h1 28/44; h2 20/28; h3 16/20; body 15/16; mono 13/13; micro-label 11px uppercase with +0.12em tracking.Hard edges only: 0px radii on panels, buttons, inputs, and cards. Hairline 1px rules in #26262A divide every region. The only soft form in the entire product is the circular build-state indicator — a 44px ring that fills as compilation proceeds, the one "sleeve" artefact. Buttons are rectangular with a 1px #EDEDED border and no fill; the primary button is a solid #E8FF3A block with #0A0A0B text. No shadows, no blur, no rounded avatars.
A fixed three-column instrument panel: 248px file explorer on the left, flexible editor centre, 320px right rail that swaps between Terminal, Build Output, and Packages. A 40px top bar holds the wordmark, target triple (x86_64 / aarch64), and the compile-state ring. Below, a 24px status strip reports line, column, cycle estimate, and emitted bytes. The layout is a grid of rules, not cards: every section is separated by a hairline, every label sits flush-left above its value. The landing page inverts to a single centred artefact — the diagram — with one column of precise metadata beneath it, gallery-like silence on all sides.
One artefact, drawn not photographed: a single precise instruction-flow diagram — source → register allocation → machine code — rendered as a thin-line schematic in #EDEDED on #0A0A0B, with the active path in #E8FF3A. Secondary imagery is found-diagram material: a hex dump of an actual emitted .o section, a target-triple table, a package manifest printed as a code block. No stock photography, no people, no 3D renders, no illustration for its own sake.
The single artefact. The public entry is a full-viewport black field (#0A0A0B) with exactly one object on it: a thin-line instruction-flow schematic roughly 720px wide on desktop, scaled to 92vw on mobile. It reads left to right — Zenith source, a register-allocation column, a machine-code block — and the active path is lit #E8FF3A. Nothing else is drawn. No button stack, no gradient, no illustration. The diagram is the hero and the silence around it is the composition.
Above the diagram, flush-left, one line of Archivo 700 uppercase at clamp(2.5rem, 6vw, 5.5rem): "COMPILES STRAIGHT TO METAL." Below it, a single 1px rule spans the viewport. Under the rule, three metadata blocks in 11px uppercase micro-labels — "NO IR", "NO VM", "NO RUNTIME" — each with a one-line value beneath.
The concept recomposes only accepted content: the direct-to-machine-code claim, the absence of an intermediate language, and the instruction-flow path that the build actually performs. It introduces no new behavior, page, or destination.
Interaction Model: Static Motion Tempo: still Hero Dimensionality: flat
#E8FF3A.#E8FF3A. Hover states are instant colour swaps, no easing. No parallax, no reveal-on-scroll, no bounce.#EDEDED hairlines, active path unlit, headline flush-left above, 1px rule and three metadata blocks below. The frame is complete and legible before any motion occurs.prefers-reduced-motion, the instruction pointer does not step and the ring does not animate; the diagram renders with the active path statically lit in #E8FF3A, the byte count appears at its final value without rolling, and the headline, rule, metadata blocks, and entry control remain fully readable and usable. No content is hidden or made unreachable.NFR-1 — No intermediate language in the Zenith path (explicit) Zenith source must compile directly into machine code; no intermediate language is permitted. Rationale: this is the language's defining constraint and the basis of its speed and power claim.
NFR-2 — Zenith implemented using machine code (explicit) Zenith must be implemented using machine code. Rationale: explicit hard constraint; the implementation must match the direct-to-metal claim.
NFR-3 — Zenith OS independence (explicit) Zenith must be OS independent. Rationale: explicit hard constraint; the language must not be tied to one operating system.
NFR-4 — Zenith syntax relationship to C and C++ (explicit) Zenith syntax must be similar to C and C++ but not exactly the same. Rationale: explicit hard constraint; the language must be legible to systems programmers while remaining its own language.
NFR-5 — 500+ IDE features (explicit) PyZeIDE must include 500+ features. Rationale: explicit hard constraint; the Features surface reports the actual count present.
NFR-6 — PythonX direct machine-code compilation (explicit) PythonX must compile directly to machine code. Rationale: explicit hard constraint; PythonX is Python that compiles directly to machine code.
NFR-7 — PythonX third-party package support (explicit) PythonX must support third-party packages. Rationale: explicit hard constraint; the Packages surface exists to satisfy it.
NFR-8 — Clean GUI with file explorer (explicit) The PyZeIDE GUI must be clean and include a file explorer. Rationale: explicit hard constraint; the file explorer is a required part of the clean GUI.
NFR-9 — Readable text and controls at every viewport (explicit, from the creative direction)
Headlines, wordmarks, labels, numbers, card text, and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element may cover any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut as the direction asks, as long as they cover no readable text or control. Rationale: the direction's own accessibility rule, and it takes precedence over any direction instruction to crop readable text.
NFR-10 — Reduced-motion usability (explicit, from the creative direction)
With prefers-reduced-motion, a usable static arrangement must be provided: the instruction pointer does not step, the ring does not animate, and every item remains fully readable and reachable. Rationale: the direction's motion is exact and minimal, and must degrade to a complete static frame.
NFR-11 — Local installation completeness (required_inference) A local PyZeIDE installation must provide the clean GUI, file explorer, integrated terminal, Zenith toolchain, PythonX toolchain, and 500+ features. Rationale: required to make an accepted current journey executable without adding a product capability.
NFR-12 — Build honesty (required_inference) A build that fails must not present emitted bytes, cycle estimates, or a compile-ready state as if it succeeded. Rationale: the product's value claim rests on the truth of its output numbers; a false success would contradict the accepted behavior.
[Default — not specified by user] No web framework, hosted backend, or container orchestration is specified or required by the accepted requirements; the product is a local developer tool.
Assumptions
Constraints
#E8FF3A, used only for the compile-ready state, the active cursor line, the primary CTA underline, and the running instruction pointer.#FF3B1F, used only for failure and hard stops.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!