/

/

Hopsule for VS Code: Features and Usage

Hopsule for VS Code: Features and Usage

Learn how to use all features of the Hopsule IDE extension: inline decision enforcement, conflict detection, decision browsing, and intentional override workflows.

Introduction to Hopsule for VS Code

Hopsule for VS Code brings the power of your organization's collective judgment directly into your primary development environment. While the Hopsule Dashboard serves as the central hub for managing the lifecycle of Decisions and Memories, the IDE extension is where those decisions are enforced and remembered during the act of creation. By surfacing constraints and context at the exact moment a developer interacts with code, Hopsule ensures that organizational wisdom is never lost to the friction of context switching.

The extension is designed with a specific philosophy: Enforcement is remembrance, not control. It does not exist to prevent you from writing code, but to remind you why certain paths were chosen and to alert you when current work might contradict an established Decision. This real-time awareness transforms the editor from a simple text manipulation tool into a context-aware interface that respects the history and future goals of your engineering organization.

In this guide, you will learn how to leverage the full suite of features within Hopsule for VS Code, including inline diagnostics, decision browsing, and the intentional override workflow. Whether you are a solo developer maintaining a personal Context Pack or part of a large enterprise team, these tools ensure that every line of code is backed by the authority of your team's best decisions.

Inline Decision Diagnostics

The most immediate and impactful feature of Hopsule for VS Code is Inline Decision Diagnostics. As you navigate and edit your codebase, Hopsule continuously compares your local context against the Accepted Decisions stored in your active Context Packs. When a contradiction is detected, the extension highlights the relevant code section using standard IDE visual indicators, such as colored squiggles and gutter icons.

Unlike traditional linters that focus on syntax or style, Hopsule diagnostics focus on governance and preservation. For example, if a team has an Accepted Decision to deprecate a specific internal library in favor of a new standard, Hopsule will flag any new or existing imports of that library. These diagnostics are not mere warnings; they are invitations to remember the reasoning that led to the decision. By hovering over a flagged line, you can access the full context of the decision, including the Memories that explain the "why" behind the constraint.

Important: Hopsule diagnostics are processed locally. Your source code is never transmitted to Hopsule servers for analysis. The extension downloads the necessary Context Packs and performs the comparison within your local environment to ensure maximum privacy and data sovereignty.

Understanding Diagnostic Messages

When you encounter a Hopsule diagnostic, the hover tooltip provides a structured view of the conflict. This message is designed to give you immediate clarity without requiring you to leave your current file. A typical diagnostic message includes the following components:

  • Decision Title: The explicit commitment that is currently being contradicted.

  • Current Status: Confirmation that the decision is in the Accepted state.

  • The Conflict: A brief explanation of why the current code triggers this specific diagnostic.

  • Reasoning (Memory): A snippet of the most relevant Memory associated with the decision, providing historical context.

  • Resolution Paths: Actionable links to either view the full decision in the Hopsule Dashboard or initiate an Intentional Override.

By providing the reasoning alongside the warning, Hopsule reduces the frustration typically associated with "breaking a rule." When you understand the organizational judgment behind a constraint, compliance becomes a conscious choice rather than a forced requirement.

The Hopsule Sidebar

The Hopsule Sidebar is your primary navigation interface within VS Code. It is divided into several specialized views that allow you to browse, search, and manage your team's memory without losing your place in the code. You can access the sidebar by clicking the Hopsule icon in the Activity Bar.

Decision Browser

The Decision Browser provides a hierarchical view of all Decisions available in your current workspace. Decisions are grouped by their Context Pack and category, making it easy to explore the constraints that govern different parts of your project. Each entry in the browser displays the decision's title and its current lifecycle state. Clicking on a decision will open a detailed read-only view within the editor, showing the full history of Memories and the versioning timeline associated with that decision.

Conflict Panel

The Conflict Panel aggregates every active diagnostic across your entire workspace. This is particularly useful for senior developers and engineering leaders who need to assess the "decision debt" of a project. Instead of hunting through files to find squiggles, you can use the Conflict Panel to see a comprehensive list of every instance where the code contradicts an Accepted Decision. Each conflict in the list is clickable, taking you directly to the line of code where the contradiction occurs.

Tip: Use the Conflict Panel during code reviews to ensure that new contributions align with the team's established governance. If a pull request introduces several new conflicts, it may be a sign that the developer lacks the necessary context or that a decision needs to be re-evaluated.

The Intentional Override Workflow

Hopsule recognizes that software development is nuanced and that Decisions are not absolute laws. There are times when a developer must intentionally deviate from an Accepted Decision for valid, context-specific reasons. Hopsule handles these situations through the Intentional Override workflow, which embodies the philosophy that "Enforcement is remembrance."

An override is not a way to "turn off" a warning; it is a way to document a conscious deviation. When you choose to override a decision, Hopsule prompts you to provide a justification. This justification is then stored as a new Memory linked to that specific instance of the decision. This ensures that the reasoning for the deviation is preserved for future developers who might encounter the same code.

How to Perform an Override

  1. Locate a code segment flagged by a Hopsule diagnostic.

  2. Open the Quick Fix menu (typically Cmd+. or Ctrl+.) or click the Override link in the diagnostic hover.

  3. Select Intentional Override with Justification.

  4. In the input box that appears, describe why this specific deviation is necessary (e.g., "Legacy compatibility required for Client X" or "Performance exception for high-frequency trading module").

  5. Press Enter to submit the override.

Once submitted, the diagnostic squiggle will disappear, and a Memory entry will be created in Hopsule. This memory is now part of the Knowledge Graph, allowing the team to see where and why their decisions are being challenged. If the same override happens frequently, it serves as a signal to the team that the original Decision may need to be Deprecated or updated.

Quick Actions and Contextual Memory

Beyond enforcement, Hopsule for VS Code allows you to contribute to the organizational memory as you work. Quick Actions are context-sensitive commands that appear in the editor gutter or the context menu, allowing you to capture insights without breaking your flow.

Creating Memories from Code

If you find yourself explaining a complex piece of logic to a teammate or discovering a non-obvious "gotcha" in the codebase, you can immediately capture that as a Memory. By highlighting a block of code and selecting Hopsule: Create Memory from Selection, you can link that specific code context to a new or existing Memory entry. This memory is then persisted in the Hopsule Dashboard and can be linked to future Decisions.

Linking Code to Decisions

You can also explicitly link a file or a specific line of code to an Accepted Decision. This creates a two-way traceability link: someone viewing the decision in the Hopsule Dashboard can see exactly where it is implemented in the code, and someone reading the code can immediately see which decision governs it. This is particularly powerful for Context Packs that deal with security protocols or architectural patterns.

Interface Elements and Navigation

To provide a seamless experience, Hopsule integrates with several standard VS Code interface elements. Understanding these elements will help you monitor the state of your Context Packs and the health of your project's alignment with organizational decisions.

Element

Function

Location

Status Bar Indicator

Displays connection status, active project, and the total count of active decisions.

Bottom Right

Hopsule Gutter Icon

Indicates a line of code that is either governed by a decision or has an associated memory.

Editor Gutter

Activity Bar Icon

Opens the Hopsule Sidebar containing the Decision Browser and Conflict Panel.

Activity Bar

Code Lens

Displays the number of memories or overrides associated with a class or function.

Above Code Blocks

The Status Bar

The Status Bar indicator is your primary health check for the Hopsule extension. It shows whether you are successfully authenticated and which Context Pack is currently active. Clicking the status bar entry opens a quick-pick menu that allows you to switch between projects, refresh your local decision cache, or open the Knowledge Graph in your browser. If the indicator turns amber, it signifies that your local cache is out of date and a sync is required to ensure you are working with the latest Accepted Decisions.

Command Palette and Keyboard Shortcuts

For power users who prefer the keyboard over the mouse, Hopsule for VS Code exposes a wide range of commands via the Command Palette (Cmd+Shift+P or Ctrl+Shift+P). These commands allow you to perform almost any Hopsule action without taking your hands off the keys.

  • Hopsule: Sync Decisions — Manually trigger a synchronization with the Hopsule servers to fetch the latest updates.

  • Hopsule: Search Decisions — Open a searchable list of all decisions in the current workspace.

  • Hopsule: Create Draft Decision — Quickly draft a new decision based on the current code context.

  • Hopsule: Show Conflict Panel — Immediately focus the sidebar on the list of active contradictions.

  • Hopsule: Open Knowledge Graph — Launch the Brain visualization in the Hopsule Dashboard.

Tip: You can bind these commands to custom keyboard shortcuts in VS Code's keybindings.json to further accelerate your workflow. For example, many users bind Hopsule: Search Decisions to Cmd+H for instant access to the organizational memory.

Working with Multiple Projects and Workspaces

Modern engineering often involves working across multiple repositories or within complex monorepos. Hopsule for VS Code is designed to handle these multi-project environments gracefully. When you open a VS Code Workspace containing multiple folders, the extension automatically detects which Context Packs apply to each folder.

Decisions are scoped at the project or organizational level. If you move between a frontend repository and a backend repository within the same workspace, Hopsule will dynamically switch the active set of constraints. The Decision Browser will organize entries by folder, ensuring that you never see irrelevant warnings for the file you are currently editing. This portability is made possible by Capsules, which bundle decisions and memories into shareable units that follow the project, not the user.

Performance, Privacy, and Local Processing

At Hopsule, we believe that a developer's tools should be fast and secure. The IDE extension is built with a "local-first" mentality. Once your Context Packs are synchronized, the enforcement engine runs entirely on your local machine. This has two major benefits:

  1. Zero Latency: Diagnostics appear instantly as you type. There is no waiting for a round-trip to a cloud server to tell you if you've contradicted a decision.

  2. Absolute Privacy: Your source code never leaves your environment. Hopsule only needs to know which decisions are relevant to your project; it does not need to see your proprietary code to enforce them. The matching logic happens locally using the decision metadata and patterns defined in your Context Packs.

To maintain peak performance, Hopsule uses an optimized indexing system for decisions and memories. Even in organizations with thousands of active decisions, the extension's memory footprint remains minimal. If you notice any performance degradation in extremely large workspaces, you can use the Hopsule: Optimize Cache command to rebuild your local index and clear out Deprecated or Historical entries.

Conclusion: Enforcement as a Team Habit

Using Hopsule for VS Code is more than just installing an extension; it is about adopting a habit of preservation. By engaging with the diagnostics, contributing to the Memories, and respecting the Intentional Override workflow, you are participating in the continuous improvement of your organization's judgment. Hopsule ensures that the decisions made in high-level meetings or late-night debugging sessions are not lost to time, but remain active, enforceable, and remembered in the place where they matter most: the code.

For more information on managing the lifecycle of these decisions, please refer to our documentation on the Hopsule Dashboard and Decision Management. If you prefer working from the terminal, the Hopsule CLI offers a powerful set of complementary tools for managing your Context Packs and Capsules.