Skip to content

Feature: Projects #9

@mkh-user

Description

@mkh-user

Feature Summary

Introduce a "Project" system that allows users to define, manage, and generate structured sets of files and configurations as a single unit. Projects can include multiple templates, and metadata.

Motivation

Many users work on recurring tasks that involve multiple related files (e.g., microservices, documentation sets, plugin packages). Managing these manually is time-consuming and error-prone (especially since we don't yet support opening files simultaneously). A project system will streamline workflows, enforce structure, and improve scalability.

Proposed Design

  • Add a Project menu before File menu.
  • Add a internal mode for *.tfproj files and structure for this file type. (INI style)
  • Each project includes:
    • Metadata and configuration.
    • Optional setup scripts or post-generation hooks.
  • Support interactive mode for customizing project parameters.
  • When user open .tfproj file editor load everything.
  • Store file paths in project file.
  • Files panel to see and navigate between project files.
  • A new option in settings: Save files in move between project files

Acceptance Criteria

  • Users can list available projects in Project > Recent Projects.
  • Users can initialize a project and select all related files.
  • Users can save project file anywhere.
  • Users can fill templates with project metadata.
  • Documentation includes examples of project creation and usage.
  • User can select a license and place for it.

Related Issues / Discussions

🛠 Implementation Notes (Optional)

  • Use INI style configuration for project file.
  • Allow include / exclude files and folders.
  • Consider versioning for project definitions to support upgrades.

Localization & Accessibility

  • Needs new translation keys for new menu.

Community Feedback (Optional)

Nothing

Metadata

Metadata

Assignees

Labels

action scriptsOfficial action scripts or action scripts features

Projects

Status

Completed

Relationships

None yet

Development

No branches or pull requests

Issue actions