From c4d50f1e7888eab65494bbd2d4698a39d5ad2b48 Mon Sep 17 00:00:00 2001 From: zkbgt <177300831+zkbgt@users.noreply.github.com> Date: Sun, 28 Dec 2025 13:20:45 +1300 Subject: [PATCH] Migrate repository --- PID-example.md | 43 +++++++++++++++++++++++++++++++++++++++++++ PID-template.md | 28 ++++++++++++++++++++++++++++ README.md | 19 +++++++++++++++++++ create-project.flo | Bin 0 -> 838 bytes create-project.py | 19 +++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 PID-example.md create mode 100755 PID-template.md create mode 100644 create-project.flo create mode 100755 create-project.py diff --git a/PID-example.md b/PID-example.md new file mode 100644 index 0000000..9898488 --- /dev/null +++ b/PID-example.md @@ -0,0 +1,43 @@ +# Project Initiation Document + +## Project: Align projects across devices + +### Objectives + +Easier capturing of project ideas and access to existing project documentation on the fly. Best tools and storage locations decided and frameworks built around it all to make the workflow work. + +### In scope + +- Workflows on Linux and Android to **initiate** projects +- Creation of project folder and PID document +- Python coding +- Determining suitable Android coding - consider Automate and Tasker, and/or Obsidian plugins if needed +- Update PID template as needed. Use this project as a first-run test case. + +### Out of scope + +- Building an app +- Archiving projects +- Reporting of projects +- Anything to do with undertaking projects + +### Outcomes + +- [x] Single button on Android to start project creation process +- [x] Folders adhere to YYYYMMDD-lower-case-slug format +- [x] All files and folders synced across devices +- [x] Python scripting only on the Linux side +- [x] PID opens in Obsidian (mobile) +- [x] PID opens in Helix (Linux) +- [ ] Any code uploaded to dedicated Codeberg repo + +### Resources + +- [Automate by LlamaLab](https://llamalab.com/automate/doc/index.html) + +### Next actions + +- [x] Move PID template to vault folder and update create_project.py ✅ 2025-05-06 +- [x] Create an Obsidian workflow that replicates create_project.py +- [ ] Update PID template to split "Scope" headings to "In scope" and "Out of scope" +- [ ] Update PID template to include list and TODO placeholders under respective headings diff --git a/PID-template.md b/PID-template.md new file mode 100755 index 0000000..627377b --- /dev/null +++ b/PID-template.md @@ -0,0 +1,28 @@ +# Project Initiation Document + +## Project: + +### Objectives + + + +### In scope + +- + +### Out of scope + +- + +### Outcomes + +- [ ] + +### Resources + +- + +### Next actions + +- [ ] + diff --git a/README.md b/README.md index 2eb0ed0..3a8a375 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,21 @@ # create-project +These are the core files I use in my creation of projects workflow, very specific to the tools and operating systems I use on my laptop and phone (Linux Debian and Android operating systems, with [Obsidian](https://obsidian.md/)/[Syncthing](https://syncthing.net/)/[Helix](https://helix-editor.com/)/[Automate](https://llamalab.com/automate/) setups). + +I apply the agnostic [GTD](https://en.wikipedia.org/wiki/Getting_Things_Done) and [PARA](https://fortelabs.com/blog/para/) methodologies to this project. + +## What happens + +**On Linux**, in the terminal, you are prompted for a project name, then it opens the Project Initiation Document template (+example-project.md) with the cursor at the "Objectives" section, ready to write what the project is about. A project folder has been created in the `YYYYMMDD-lower-case-project-slug-name` format. + +**On Android**, when opening the home screen shortcut, you'll be prompt with project name and project description, which will be used to create the project directory and update the PID. It will then open the PID.md in Obsidian with that data pre-populated. + +If you have syncthing set up correctly, folders will be created in the same spot if you do these steps on either Linux or Android. + +## Notes + +I don't anticipate anyone actually following this setup, but it may give some ideas on what can be done. + +The PID-example.md is the actual Project Initiation Document I used for this project. It contains a bit more info. + +These are my unedited working files so if you actually intend on using them, you'll need to make changes to suit your file and folder structuring. diff --git a/create-project.flo b/create-project.flo new file mode 100644 index 0000000000000000000000000000000000000000..cf8c4122aa5212268910f9353464a500bce18a12 GIT binary patch literal 838 zcmaiy&1(}u6u{>tS(`R#ca5v2rH6n7@#ahDl};NA@G^M?_D0 z^Bg?&Z|Pqkiv-z|c<3>B2%bHNGrJoby*P7upT9Tny?NMtU?J!B(y>-RgG3XMc??MuIjrehLTMiZrkUS z6Gx~k#G#(cX@fffbAkrx1l)BRkN38pOdy7<)6lyZ6FM+Lk8ce~Xa$=#;m(yVw^*M9 zFE=A7x$Rb;)0R|Gav~_68b**B5sE;wUCO(h(N@Pzs{SmTD9SJ8ND&yBl9^+Gh10wd z+{+Ljaxj5m?nt?rMojGyl>46higkjPLu@92(}-f4Dj3yN5{#K}%KXl3_-a;3@~_pA zpxjEj_OWamo9jl?W5maf8!#US%be$XUNWkoQjejA z{lN7|k6~tql0>nIXA7cB6VdVndNJhiS_JdH750)QW5~-wsXK=2|09_=;cISNZh{Y(|LN2(e%$i5*tu8BHdT|O_jq6aI&}CCt2|}NbVy`7bzHae1J9P7X literal 0 HcmV?d00001 diff --git a/create-project.py b/create-project.py new file mode 100755 index 0000000..7b23403 --- /dev/null +++ b/create-project.py @@ -0,0 +1,19 @@ +from datetime import datetime +import os +import pytz + +config_dir = '/home/zkbro/02-Areas/notes/templates/' +projects_dir = '/home/zkbro/01-Projects/' +current_date = datetime.now().astimezone(pytz.timezone('Pacific/Auckland')).strftime('%Y%m%d') +project_name = input("Name of project: ") +project_name_lower = project_name.replace(" ","-").lower() +new_dir = current_date + "-" + project_name_lower +full_path = projects_dir + new_dir +new_pid = full_path + "/+" + project_name_lower + ".md" + +os.makedirs(full_path, exist_ok=True) +os.system(f'cp "{config_dir}PID-template.md" "{new_pid}"') +os.system(f'sed -i "3s/$/{project_name}/" {new_pid}') +os.system(f'$EDITOR {new_pid}:7') # :7 will only work with the helix text editor, opening the file at line 7, ready for a brief description of the project. + +print(project_name, "project created at", full_path)