pingdotgg / pingdotgg/t3code

feat(desktop): open a configured local folder on startup

Open
#9,915 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Summary

Add an optional setting that opens a fresh local draft in a configured folder when T3 Code starts, with the folder preference belonging to the local machine.

Problem to solve

After fully quitting and reopening the macOS desktop app, the reported landing screen selects a project on a different environment even though a preferred local directory is configured under “Add project starts in.” That existing setting describes the Add Project browser, so it does not establish a startup-folder contract. Users who keep their work under a regular local folder have to change the selected project or environment after launch.

Proposed behavior

Offer an opt-in startup-folder setting in General → Projects & threads. Let users configure a directory on the local environment and enable opening that folder on startup. Reusing the existing “Add project starts in” directory is acceptable if the relationship is clear in Settings. When enabled, opening the desktop app normally should land in a local draft rooted at that directory regardless of activity in other projects or remote environments.

Keep the preference scoped to the machine that owns the directory. Reuse an existing project for the folder or register the existing directory when necessary. If the directory is unavailable, explain the problem and offer a way to correct it without silently selecting an unrelated project.

Acceptance criteria

  • A user can enable, disable, inspect, and change the startup-folder preference in Settings.
  • With a valid configured folder, fully quitting and reopening the desktop app opens a local draft in that folder, including when another local or remote project was most recently active.
  • The startup behavior works when the folder has not previously been added as a project and does not create duplicate projects on subsequent launches.
  • The folder and toggle persist across application restarts and are not copied onto unrelated remote machines.
  • An unavailable configured folder produces an actionable message; startup does not create a missing directory or silently select another project.
  • Disabling the option restores the existing landing behavior. Existing installations remain unchanged until they opt in.
  • An explicit link to a thread still opens the requested thread.

Affected area

Desktop startup, the shared web landing screen, and General settings.

Non-goals

Changing provider startup or authentication, resuming interrupted turns, changing the default workspace mode for manually created threads, or automatically moving projects between environments.

Supporting context

The supplied macOS screenshots show a remote project selected after relaunch and a local base directory configured for the Add Project browser. Source inspection confirms the index landing selects the most recently active project across environments. No cause is claimed for the separate provider-status error visible in the screenshot.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the index landing selection and the General → Projects & threads settings entry point, then trace desktop startup and preference persistence for local versus remote environments. Use the acceptance criteria to verify restart behavior, existing and new folders, unavailable paths, duplicate prevention, opt-in compatibility, and explicit thread links.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.