Jekt™ Primer

Last Updated: 2026-06-12

Copyright © 2026 GlobalMentor, Inc.

This work is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).

"Jekt" is a trademark of GlobalMentor, Inc.


Jekt is a context architecture for software projects. It keeps the working context of a project in the repository itself: tickets, plans, design documents, minutes, comments, summaries, and related material, all as ordinary files under a .jekt/ directory. A developer can browse those files in an editor. An AI assistant can read and update the same files. Git carries the context with the code.

The central idea is that project tracking can emerge from preserving useful context. Traditional trackers start with work items in a database and leave much of the reasoning around them in comments, chat, or nowhere. Jekt starts with the material needed to do and resume the work: what is being changed, what plan is current, which decisions mattered, which alternatives were rejected, and what was learned along the way. Once that context is organized, tickets and releases follow naturally.

Why Jekt Exists

Modern software work produces more than code. A design discussion settles ambiguities. A plan decides the order of change. A test failure reveals that the model was wrong. A constraint explains why the final implementation looks awkward from the outside.

In ordinary development, much of that knowledge disappears. It may remain in a chat transcript, in a local note, in an issue comment that nobody reads, or only in the memory of the person who did the work. In AI-assisted development the problem is sharper: the assistant that helped reason through the work may lose the conversation when the session ends or the context is summarized.

Jekt gives that knowledge a stable home beside the code. The record is not a transcript of everything that happened. It is a curated set of artifacts: the ticket description, the plan used for a chunk of work, the design document that explains a lasting choice, the minutes entries that capture the decisions and pivots worth remembering, and the summary that closes the loop.

What a Jekt Repository Contains

A Jekt repository has a .jekt/ directory at its root. The top-level structure is small:

Tickets are the center of everyday work. A ticket directory represents one unit of work and collects the artifacts that belong to it. The main artifacts are:

The files are ordinary Markdown, YAML, and plain-text list files. There is no hidden service behind them and no generated index that must be kept in sync. Paths and filenames are part of the model: a ticket lives under .jekt/tickets/{id}/, designs live under designs/, plans under plans/, and so on.

A small repository might look like this after a ticket has been planned and implemented:

.jekt/
├── readme.md
├── projects/
│   └── recipe/
│       └── description - Recipe App.md
├── tickets/
│   └── recipe-1/
│       ├── description - Ingredient Scaling.md
│       ├── description.yaml
│       ├── minutes.md
│       ├── summary.md
│       ├── plans/
│       │   └── 2026-05-18-quantity-scaling.md
│       ├── designs/
│       │   └── Quantity Model.md
│       └── comments/
│           └── 2026-05-19T14-30-00Z.md
└── releases/
    └── 1.2.0/
        └── description - Spring Update.md

Not every ticket has every file. A simple ticket may begin with only a description and gain a summary near completion. A difficult ticket may accumulate several plans, designs, comments, TODOs, and minutes entries. Jekt keeps the structure predictable without requiring empty placeholders.

Design Principles

Several principles explain why Jekt has this shape.

The file system is the database. Jekt data is not stored in a remote tracker and exported into files. The files are the data. Opening a directory lists the work, searching text queries it, and a Git diff shows how it changed.

Surfaced semantics over simple summarization. Writing a plan, a design, a minutes entry, or a summary makes explicit the understanding and decisions behind the work — things the conversation itself often leaves unsaid. Producing the artifact is the point at which that knowledge is promoted into the durable project record, where simply summarizing the conversation would lose it.

Native tooling first. Jekt should make sense in the tools developers already use. The repository tree, file picker, text search, Markdown preview, and Git history are all useful without a special application.

Graceful degradation. If Jekt-specific tooling disappeared, the data would remain usable. A developer could read the files by hand. A script could walk the directories. An AI assistant could load the artifacts directly.

The assistant is a collaborator. Jekt is designed so that a developer and an AI assistant work from the same artifacts. The assistant reads the ticket, writes the plan, updates minutes when asked, and helps summarize the result. The files remain understandable to both.

Working With Jekt Today

Jekt can be used today through reference prompts for GitHub Copilot in VS Code. Those prompts are the initial reference interface: they let a developer initialize a repository, create and start tickets, write and update plans, assess and implement plans, update minutes, commit work, and summarize tickets. A VS Code extension is coming and is intended to become the preferred interface, but the prompts show the working model now.

The prompt names in the walkthrough below are therefore interface examples, not the definition of Jekt. Jekt defines the artifacts and their roles. A prompt, plugin, script, or careful human editor can produce the same files.

A Ticket in Practice

Suppose a recipe application needs a new feature: when the cook changes the number of servings, the recipe should scale its ingredient quantities.

The developer first enables Jekt for the repository and declares the project slug that will prefix ticket identifiers:

/jekt-init the "Recipe App" project with slug "recipe"

The init prompt creates .jekt/, writes a short orientation readme, and declares the project under .jekt/projects/recipe/. When the repository has the required Git and remote setup, it also creates the management branch used for coordinated ticket-number allocation unless the developer opts out.

The developer then creates the ticket:

/jekt-ticket-create scale recipe ingredient quantities by serving count

The ticket-create prompt reads the project context, chooses the next ticket number for the recipe slug, and writes a description. In a new project, the first ticket is recipe-1:

# [RECIPE-1] Ingredient Scaling

## Objective

The recipe application scales ingredient quantities when the cook changes the serving count.

## Acceptance Criteria

- Ingredient amounts adjust proportionally when the serving count changes.
- Counted ingredients such as eggs are handled without asking for impossible fractional counts.
- Displayed quantities use forms a cook can read naturally.

The description records the end state, not the implementation steps. When the developer is ready to work, the ticket-start prompt makes the ticket the active work context:

/jekt-ticket-start RECIPE-1

Starting the ticket switches to, or creates, the Git branch tickets/recipe-1, sets the ticket status to started when appropriate, and loads the ticket's existing context for the work session.

The developer and assistant then discuss how ingredient quantities should be modeled. The result of that planning conversation is written directly to a plan file:

/jekt-plan-create

A plan is not a chat summary. It is the execution reference for the work. A shortened excerpt might look like this:

# [RECIPE-1] Plan: Quantity Scaling

## Overview

- Represent each ingredient quantity as an amount, a unit, and a scaling behavior.
- Scale continuous quantities proportionally.
- Use nearest-whole rounding as the initial rule for counted ingredients.
- Verify how counted ingredients behave when scaling below one whole ingredient.
- Format scaled quantities for recipe display.

## Open Questions and Assumptions

- Nearest-whole rounding for counted ingredients may still be wrong for small scaled amounts.

The full plan contains the step bodies the implementer will follow. If the planning conversation produces design reasoning that should last beyond this one plan, the prompt writes or updates a design document as part of the same operation. For this ticket, the design might be designs/Quantity Model.md:

# [RECIPE-1] Design: Quantity Model

An ingredient quantity combines an amount, a unit, and a scaling behavior. Flour and milk scale continuously. Eggs and other counted ingredients scale as counts and need an explicit rounding rule.

The developer continues the planning conversation. Before implementation, the plan can be checked against the actual code and the ticket's stated end state:

/jekt-plan-assess

Assessment is read-only. It may say the plan is ready to implement, or it may surface gaps, risks, or assumptions the planning conversation missed. In this example, assessment catches the unsettled counted-ingredient rule: nearest-whole rounding can turn a small sub-whole amount into zero counted ingredients, leaving the cook short.

The developer asks Jekt to revise the plan rather than leaving that finding only in chat:

/jekt-plan-update

The update changes the plan: counted ingredients now round up, and nearest-whole rounding is recorded as a rejected alternative because it can undercount. If that change refines durable reasoning about the quantity model, the Quantity Model design may be updated as part of the same operation. The persisted plan now carries the rule that implementation will follow.

Planning may repeat through discussion, assessment, and update until the plan is ready. Then implementation begins:

/jekt-plan-implement

The plan is read-only during implementation. Implementation itself does not create another Jekt artifact; the assistant edits the project's own files, visible in the Git diff, and reports what was completed, what was skipped, and whether implementation surfaced any divergence. If implementation does reveal that the plan missed something important, the assistant stops and surfaces the issue rather than silently changing direction. In that case, the work returns to planning; additional or later work can also produce additional plans on the same ticket.

At a natural breakpoint, the developer asks Jekt to update the minutes:

/jekt-minutes-update

The minutes prompt looks back over the significant events since the last minutes entry. It may append several entries, one entry, or none. It is not a command to add a bullet after every exchange. Its job is to preserve what a future reader would otherwise have to rediscover:

# [RECIPE-1] Minutes

<!-- Categories: Pivot | Insight | Decision | Finding | Lesson | Milestone | Open | Resolved -->

- 2026-05-18 **Decision**: Display scaled amounts in cooking-friendly forms rather than raw decimal output, because the result is meant to be read while cooking.
- 2026-05-19 **Insight**: A quantity is not just a number; it combines an amount, a unit, and a scaling behavior. Flour scales continuously, while eggs are counted. See [Quantity Model](<designs/Quantity Model.md>).
- 2026-05-20 **Pivot**: Counted ingredients now round up instead of using nearest-whole rounding. Nearest-whole rounding could leave the cook short when a small sub-whole amount rounded to zero.

The minutes give the timeline. The design gives the durable explanation. The plan records the execution path. The code records the accepted implementation. These are related artifacts, not competing places for the same content.

After staging the code and any Jekt artifacts that belong in the same commit, the developer commits:

/jekt-commit

The commit prompt reads the staged diff and the ticket context, then creates a normal Git commit whose subject names the ticket:

[RECIPE-1] Scale ingredient quantities by serving count

Near completion, the developer summarizes the ticket:

/jekt-ticket-summarize

The summary is a synthesis for later readers. It draws on the description, minutes, designs, plans, comments, and commit history:

# [RECIPE-1] Summary

Ingredient scaling was added for recipe serving changes. Continuous ingredients scale proportionally, while counted ingredients round up so the scaled recipe does not ask for less than it needs. The quantity model separates amount, unit, and scaling behavior, with the counted-ingredient rule recorded in the Quantity Model design.

Weeks later, someone asks why the application rounds eggs up in a scaled recipe. The original conversation is gone. The assistant has no memory of it. The answer is still in the repository: the minutes record the pivot, and the linked design explains the model. A developer can open the files directly, or ask a read-only Jekt question such as:

/jekt why does RECIPE-1 round counted ingredients up?

The command is incidental; what matters is that the reasoning outlived the conversation that produced it.

Comparisons

Issue trackers. An issue tracker stores work items in a database. Reasoning usually lands in comments, if it is recorded at all. Jekt makes the reasoning part of the project state: plans, designs, minutes, and summaries are first-class artifacts, and the tracking view follows from them.

Documentation systems. A documentation system stores durable knowledge, but often apart from the work that produced it. Jekt keeps durable knowledge next to the ticket and the code. The record is written where the work is happening.

RAG and memory systems. A retrieval system breaks text into chunks and retrieves by similarity. Jekt stores work in artifacts that already have meaning: a ticket, a plan, a design, a minutes entry, a summary. The boundary comes from the work, not from a text-splitting algorithm.

AI features on trackers. A common approach adds an assistant on top of an existing tracker. The tracker remains the system of record, and the assistant queries it through an interface. Jekt reverses that direction. The files are shaped so the assistant and the developer can read and curate the same project context directly.

Further Reading

The Jekt Specification defines the mechanics: repository structure, identifiers, references, metadata, storage formats, coordination protocols, and conformance rules. The Jekt Design Principles explain the design commitments and the directions Jekt rejects. The reference prompts on the Jekt website can be installed today for use with GitHub Copilot in VS Code.