Author: MarrieMitsu
Source: https://github.com/MarrieMitsu/workspace-101
PDF: workspace-101.pdf
Version: v2026.05.15

banner.webp

This document establishes an opinionated guiding framework for file organization and project management, designed to accommodate users of all technical backgrounds. It provides a simple, copy-and-paste system for creating new project workspaces, archiving completed work, and syncing cloud storage, ensuring a clean, accessible, and efficient environment.

Workspace Structure

Below is a high-level view of the workspace directories. The design choice of how the directory is structured is inherited from the author’s experience of managing project directories and is augmented by how everyday computer users do things. Since not all of them have the same background, some of them want something that just works while keeping everything organized by following predefined mental model. This also means you are free to adjust based on your own preference, but because it is an opinionated guiding framework, we will use what is provided.

Note: Directories starting with a dot (like .archive or .home) might be hidden by default on your machine. Make sure to enable “Show hidden files” in your file explorer to see them.

workspace-101/
.archive/
.home/
assets/
docs/
meeting-notes/
templates/
YYYYMMDD_template/
assets/
dist/
src/
README.txt
.tmp/
YYYYMMDD_project_name/
workspace-101.pdf

Directory Breakdown

The YYYYMMDD_template Base Workspace Template

Workspace-101 defines a reusable base workspace template for a project called YYYYMMDD_template with the following structure:

File & Directory Naming Conventions

To make searching easy and keep files sorting logically, follow these rules when naming your files and directories:

Workspace Initialization

This document is provided as a guiding resource on how to manage and organize project directories. Users can immediately create a workspace directory on their machine by following the predefined workspace structure with additional preference adjustments. Users with some degree of technical knowledge might want to automate these things, e.g., by creating a script to do so.

Manual

You can create a workspace directory template called workspace-101 followed by its predefined content structure as shown previously, and then store it somewhere on your machine. Additionally, you can put the workspace-101.pdf reference manual inside. Whenever you want to create a fresh workspace for your company, university, or organization, you can just simply copy that template.

Script

The author provides an init script located in the install/ directory of the following repository https://github.com/MarrieMitsu/workspace-101 to initialize the workspace. You can download the script locally or run it directly through your terminal. What the script does is basically create a workspace directory and its required content.

The script accepts a single optional argument for the workspace name, defaulting to workspace-101. The script itself is well-documented and easy to grasp. It’s recommended to look into it.

Caution: Make sure you check the script first before executing it. If you are unfamiliar with it, just use an LLM to summarize what the script does.

Linux/macOS system

curl -sSL https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.sh | bash

#or

curl -sSL https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.sh | bash -s -- my-company

Windows

PowerShell usage:

Invoke-RestMethod "https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.ps1" | Invoke-Expression

# or

Invoke-Expression "& { $(Invoke-RestMethod 'https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.ps1') } -WorkspaceName my-organization"

Command Prompt usage:

curl -sSL "https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.bat" -o temp.bat && temp.bat & del temp.bat

:: or

curl -sSL "https://raw.githubusercontent.com/MarrieMitsu/workspace-101/refs/tags/v2026.05.15/install/init.bat" -o temp.bat && temp.bat my-university & del temp.bat

How to Use This Workspace

Starting a New Project

To keep our workspace consistent, always create new project from the base template rather than creating directories from scratch.

If a project grows complex, you can group sub-projects inside a main project directory as needed, as long as you maintain the naming conventions. Treat sub-projects exactly like top-level projects by copying the base template:

20260101_my-organization/
.archive/
.home/
.tmp/
20260101_project-a/
20260101_sub-project-1/
assets/
dist/
src/
README.txt
20260103_sub-project-2/
20260101_project-b/
workspace-101.pdf

Note: Avoid nesting directories too deeply (e.g., more than 4-5 levels). Operating systems like Windows have character limits on file paths, and deeply nested directories can cause sync or save errors. It’s not always a hard limit anymore, but it’s still very good practice.

Working Inside Your Project

Once your project is set up, organize your work into the standard sub-directories. Avoid dumping files loosely into the main project directory.

Utilizing the Sandbox .tmp/

Use the .tmp/ directory for scratch work, quick tests, extracting zip file, or staging downloads. Treat this as a temporary holding zone to keep your primary workspace clean. Remember to move any valuable files into proper project directory once they are no longer temporary.

Meeting Notes

Keep all meeting minutes and notes in the centralized .home/meeting-notes/ directory rather than scattering them across individual projects. Keeping them centralized makes it much easier to cross-reference discussions later.

You can use any document format you prefer (Markdown, Word, plain text, or even LaTeX/typst), but the filename must follow a strict chronological naming structure to ensure they sort correctly and remain searchable: YYYY-MM-DD-topic.extension

Example: 2026-04-21-q2-planning-kickoff.md or 2026-04-21-client-sync.docx.

Creating a Template

If you find yourself repeatedly setting up the same directory structures or boilerplate files for specific types of work (e.g., a standard monthly financial report or a specific video editing pipeline), you should create a custom template.

Finishing a Project

To prevent your active workspace from turning into visual clutter, archive projects aggressively.

Once a project is completed, delivered, or canceled, click and drag the entire project directory into the .archive directory. This simple habit keeps your main view focused solely on active priorities while safely preserving your historical data.

Expanding and Customizing

This guiding framework is opinionated but flexible. You are encouraged to adapt it to fit your specific needs.

Before expanding the core root structure, ask if the new addition serves a global purpose. If it only applies to one specific project, keep it confined to that project’s directory.

Cloud Storage Syncing

In most cases, a local workspace is sufficient, especially for users who work exclusively on a single device. However, users who frequently switch between devices depending on their location need a way to synchronize their work to a remote server or a cloud storage provider (e.g., Google Drive, Dropbox, or OneDrive). In such cases, the author provides a way to do so.

Starting from here, the guide becomes a little bit advanced for everyday users. The author encourages readers to explore and consult external resources, as the following guide uses a tool called rclone. According to its documentation page, “Rclone is a command-line program to manage files on cloud storage.”

The author chooses it because it is essentially rsync for cloud storage. rsync is a command-line tool used to efficiently copy and synchronize files between locations—either on the same machine or across different systems over a network. What makes this tool special is that it has a built-in algorithm to transfer only the differences between the source and the destination. This is based on a concept called delta-encoding, which minimizes how much data needs to be moved.

From an end-user perspective, this is an advantage because when you want to back up or update a large file, you only send the changed parts, not the whole thing. This tool is widely used to create incremental backups. You can keep directories in sync or mirror entire file systems with a simple command, making it a perfect fit for our use case.

While rclone itself is a command-line tool, it comes bundled with a web GUI. The following guide will use the command-line version and only show how to install, configure, and use rclone for backing up and retrieving the workspace. It will use Google Drive as the cloud provider merely because it is widely used.

Nevertheless, this step is completely optional; you are perfectly fine having only a local workspace. For further information about rclone, please consult their documentation page at https://rclone.org/.

Note: This guide uses the rclone version available at the time of writing. Future updates may introduce breaking changes that alter how certain commands function. If you experience errors, please verify the commands against the latest official rclone documentation.

Installation

The following installation method is cherry-picked solely for simplicity. For other installation methods, please consult the rclone documentation.

Linux/macOS/BSD system

Open your Terminal and run the official script:

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Windows

We recommend installing via Scoop, a command-line installer. Make sure you have it installed first. Then open PowerShell and run:

scoop install rclone

Configuration

Once installed, you need to connect rclone to your cloud storage. In this case we are going to use Google Drive. The following configuration setup uses a remote / headless machine method.

Open your terminal and run rclone config. This will guide you through an interactive setup process. When you come up to the question Use web browser to automatically authenticate rclone with remote?, answer N

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> marriemitsu

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
[snip]
XX / Google Drive
\ (drive)
Storage> drive

Option client_id.
Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a value. Press Enter to leave empty.
client_id>

Option client_secret.
OAuth Client Secret.
Leave blank normally.
Enter a value. Press Enter to leave empty.
client_secret>

Option scope.
Comma separated list of scopes that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
1 / Full access all files, excluding Application Data Folder.
\ (drive)
2 / Read-only access to file metadata and file contents.
\ (drive.readonly)
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ (drive.file)
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ (drive.appfolder)
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ (drive.metadata.readonly)
scope> 1

Option service_account_file.
Service Account Credentials JSON file path.
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Leading `~` will be expanded in the file name as will environment variables such as `${RCLONE_CONFIG_DIR}`.
Enter a value. Press Enter to leave empty.
service_account_file>

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Use web browser to automatically authenticate rclone with remote?
* Say Y if the machine running rclone has a web browser you can use
* Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.

y) Yes (default)
n) No
y/n> n

Option config_token.
For this to work, you will need rclone available on a machine that has
a web browser available.
For more help and alternate methods see: https://rclone.org/remote_setup/
Execute the following on the machine with the web browser (same rclone
version recommended):
rclone authorize "drive" "XXX"
config_token>

Open a second terminal and run rclone authorize:

clone authorize "drive" "XXX"
2026/05/07 08:04:26 NOTICE: Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
2026/05/07 08:04:26 NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=6tFIwqq4kHOqitjQq5cc8A
2026/05/07 08:04:26 NOTICE: Log in and authorize rclone for access
2026/05/07 08:04:26 NOTICE: Waiting for code...
2026/05/07 08:04:47 NOTICE: Got code
Paste the following into your remote machine --->
SECRET_TOKEN
<---End paste

Then back to the first terminal, paste in the code.

config_token> SECRET_TOKEN

Configure this as a Shared Drive (Team Drive)?

y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: drive
- scope: drive
- token: {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2026-05-07T09:04:47.0528653+07:00","expires_in":3599}
- team_drive:
Keep this "marriemitsu" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name Type
==== ====
marriemitsu drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

You can then use it like this,

List directories in top level of your drive

rclone lsd marriemitsu:

List all the files in your drive

rclone ls marriemitsu:

Syncing the Workspace

The syncing process uses the rclone sync command.

Backup your files to the cloud

When you are done working and want to update the cloud storage, run the following command. Note that we are using the --exclude flag to ensure the .tmp/ sandbox directory isn’t uploaded, saving cloud space.

rclone sync /path/to/workspace-101 marriemitsu:workspace-101 --exclude "/.tmp/**"

Retrieving files to a new machine

If you are at a different machine and need to pull the latest files down from the cloud:

rclone sync marriemitsu:workspace-101 /path/to/workspace-101

Note: rclone sync makes the destination directory exactly match the source directory. If you delete a file locally and run sync to the cloud, it will delete it in the cloud. Furthermore, this system does not handle simultaneous editing well. Ensure you always pull the latest version before you start working, and push it immediately when you are done.

References

Copyright (c) 2026 MarrieMitsu