Jekt™ VS Code Extension

The Jekt extension provides tools for working with Jekt in VS Code. Its first release includes Jira Cloud import, with additional Jekt tools planned.

Capabilities

Jira Cloud Import

Jira Cloud import converts a project's issues, comments, and available attachments from a downloaded backup into Jekt tickets in your own repository. Each ticket keeps its Jira issue key. You can continue working with the content in files you control, track changes with Git, and use your chosen AI assistant. The import process does not connect to Jira.

For example, importing a Jira issue with the key GUITAR-117 and the title "Audio Stops When Switching Presets" would produce:

.jekt/tickets/GUITAR-117/
├── description - Audio Stops When Switching Presets.md
├── description.yaml
├── comments/
└── attachments/

Installation

Install the extension from the Visual Studio Marketplace, or open the Extensions view in VS Code, search for Jekt, and select Install.

Importing from Jira does not require GitHub Copilot, a Jira API token, or a Jekt account.

Importing a Jira Cloud Project

Each run of the Jekt: Import Jira Cloud Backup... command imports one project from an extracted Jira Cloud backup.

Prepare a Jira Cloud Backup

  1. Create and download a Backup for cloud using Atlassian's export guide. Ask your Jira administrator if you cannot create one. Include attachments if you want their files imported.
  2. Extract the downloaded ZIP file. The command reads an extracted Jira Cloud backup, not a ZIP file or CSV export.

Run the Import

  1. In VS Code, open the folder where the Jekt tickets should be created: your project's repository folder, or an empty folder for a trial. The workspace must be trusted; the extension is disabled in Restricted Mode.
  2. Run Jekt: Import Jira Cloud Backup... from the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS). In a multi-root workspace, select the destination root folder when prompted.
  3. Select the extracted folder containing entities.xml, choose the Jira project, and enter its Jira Cloud domain, such as example.atlassian.net. The domain identifies the source site.
  4. Review the project, backup, domain, and destination, then select Import. The import process creates .jekt/ if needed, without replacing existing files.
  5. When the command finishes, select Show Log in the notification to review the results and anything skipped.

Imported Content

The imported files include the following content and supported metadata:

From JiraIn Jekt
Issue keyTicket ID and directory name.
Title and descriptionA description - {Label}.md document, with the description converted to Markdown.
Type, priority, status, resolution, and assigneeMapped properties in description.yaml, when supplied.
Creator and timestampsRecorded in description.yaml, when supplied.
CommentsMarkdown files under comments/, with timestamps, available author identities, and reply links when present.
Available attachmentsFiles under attachments/, referenced from imported descriptions and comments.
Project key, name, and descriptionA declaration under .jekt/projects/ when none exists, with the name and description recorded when possible.

Links between issues in the selected project point to their Jekt tickets. Jekt normally uses lowercase ticket IDs; imported tickets retain Jira's keys for consistency with the source. The Jekt Jira Profile documents the field mappings.

After Importing

Open .jekt/tickets/ in VS Code's Explorer view to browse the imported files, which you can search and edit like any others. Review the files before committing them with Git or sharing them, as they may contain personal data and private project information from Jira.

Plans, designs, and minutes can be added as work proceeds; importing Jira data does not create them. You can create and edit these files directly or use the reference prompts described under Related Tools. The Jekt Primer explains the artifacts and their roles.

Importing Again

You can run the command again to import another project, add data supported by newer versions, or complete an interrupted run. Importing again adds missing content without replacing existing descriptions or field values; it does not synchronize later changes or deletions in Jira.

The command stops if the destination already contains a ticket with the same issue key that is not recorded as coming from the same Jira site. It does not overwrite that ticket or assign a different ticket ID.

Limitations

In this version, the imported files are not a complete copy of the Jira source.

Troubleshooting

Related Tools

The reference prompts let you direct AI assistants to find and understand project context and work with Jekt artifacts, whether imported or created directly. They are available separately and are not installed by the extension. Jekt agent skills are on the roadmap.

Questions

See the Jekt FAQ for common questions, or ask about the extension on its Marketplace Q & A tab.

License

The extension is licensed under the Jekt Extension License Agreement, which is separate from the Creative Commons Attribution 4.0 license of the Jekt Specification.