A concise guide to get you started with the Project Notes repository structure.
Place your project in the appropriate category:
| Category | Path | Use For |
|---|---|---|
| Electronics | 01 Electronics/ |
Hardware, IoT, embedded systems |
| Web | 02 Web Based/ |
Web apps, websites, APIs |
| Linux | 03 Linux/ |
Linux tools, configurations |
| AI & ML | 04 AI & ML/ |
Machine learning, AI projects |
| Robotics | 05 Robotics/ |
Robotics projects |
| Others | 06 Others/ |
Miscellaneous projects |
| Software | 07 Software/ |
General software, CLI tools |
# Navigate to category
cd "01 Electronics" # or your category
# Create project directory (use Title Case)
mkdir "Your Project Name"
cd "Your Project Name"Copy the appropriate template:
# For Electronics
cp ../../templates/Electronics-Project-Template.md "Your Project Name.md"
# For Web
cp ../../templates/Web-Project-Template.md "Your Project Name.md"
# For AI/ML
cp ../../templates/AI-ML-Project-Template.md "Your Project Name.md"
# For Software
cp ../../templates/Software-Project-Template.md "Your Project Name.md"# Basic structure
mkdir -p attachments/images
mkdir -p attachments/diagrams
mkdir -p code # if you have code
# For versions (optional)
mkdir -p versionsEdit your project file and update the frontmatter:
---
id: Your_Project_Name # Use underscores, no spaces
tags:
- project
- electronics # or website, ai, ml, linux, robotics, software
dg-publish: true
---Fill in the sections as you work on your project:
- Overview - What is it?
- Objectives - What are you trying to achieve?
- Technical Details - How does it work?
- Implementation - How did you build it?
- Add images, diagrams, code as you go
β Good:
- Project directories:
Solar Battery Monitor - Files:
Solar Battery Monitor.md - Images:
circuit-diagram-v2.png
β Bad:
solar_battery_monitor(use spaces, not underscores)SolarBatteryMonitor(not CamelCase)IMG_1234.png(not descriptive)
Always include these tags in frontmatter:
tags:
- project # REQUIRED for all projects
- [category] # electronics, website, ai, ml, etc.
- [custom tags] # Optional: add more descriptive tagsYour Project/
βββ Your Project.md # Main documentation
βββ attachments/
β βββ images/ # Photos, screenshots
β βββ diagrams/ # Excalidraw, draw.io files
β βββ docs/ # PDFs, datasheets, bills
βββ code/ # Source code (if applicable)
β βββ firmware/ # For electronics
β βββ frontend/ # For web
β βββ backend/ # For web
βββ versions/ # Version history (optional)
Every project should have at least:
- Frontmatter - Metadata (id, tags)
- Title -
# Project Name - Overview - Brief description
- Technical Details - Components/tech stack
- Resources - Links and references
Add these for complete documentation:
- Objectives - Goals and requirements
- Implementation - How you built it
- Challenges & Solutions - Problems faced
- Future Improvements - Enhancement ideas
- Photos/Screenshots - Visual documentation
![[image-name.png]]
![[diagram.excalidraw.md]]- Photos/Screenshots β
attachments/images/ - Diagrams β
attachments/diagrams/ - Documents β
attachments/docs/
See also: [[Related Project Name]]
Based on: [[Earlier Project]][External Link](https://example.com)
[Datasheet](attachments/docs/datasheet.pdf)- Dataview - For dynamic queries
- Excalidraw - For diagrams
- Tasks - For task management
List all projects in a category:
TABLE file.name as "Project", file.mtime as "Last Modified"
FROM #project and #electronics
SORT file.mtime DESC
# Check what category you're in
pwd
# List all projects in current category
ls -1
# Create basic structure
mkdir -p "New Project"/{attachments/{images,diagrams,docs},code,versions}
# Copy template
cp ../../templates/Electronics-Project-Template.md "New Project/New Project.md"
# Open in Obsidian (if installed)
open "New Project/New Project.md"- Start Simple: Don't try to fill everything at once
- Document as You Go: Update while building
- Use Checklists: Track your progress
- Add Visuals: Pictures are worth 1000 words
- Link Related Content: Connect related projects
- Update Regularly: Keep documentation current
Must include:
- Block diagram
- Component list
- Circuit explanation
- Code (if applicable)
Must include:
- Tech stack
- Setup instructions
- Screenshots
- Deployment info
Must include:
- Dataset description
- Model architecture
- Training results
- Evaluation metrics
Must include:
- Installation instructions
- Usage examples
- Configuration options
- API docs (if library)
Solution:
- Choose closest template
- Fill in Overview first
- Add sections as needed
Solution:
- Remove sections you don't need
- Mark others as "TBD" to fill later
Solution:
- Put in
06 Others/or closest match - Tag appropriately for search
For detailed information, see:
- README.md - Repository overview
- STRUCTURE.md - Detailed structure guidelines
- CONTRIBUTING.md - How to contribute
- templates/ - Project templates
Here's a complete example of starting a new electronics project:
# 1. Navigate to category
cd "01 Electronics"
# 2. Create project
mkdir "LED Cube"
cd "LED Cube"
# 3. Create structure
mkdir -p attachments/{images,diagrams} code
# 4. Copy template
cp ../../templates/Electronics-Project-Template.md "LED Cube.md"
# 5. Edit the file
# - Update frontmatter (id: LED_Cube, tags: project, electronics)
# - Fill in Overview: "An 8x8x8 LED cube display"
# - List Objectives
# - Add component list as you go
# - Document build process
# - Add photos to attachments/images/
# - Add circuit diagrams to attachments/diagrams/
# 6. As you code, add files to code/
# code/led-cube.ino
# 7. Update documentation regularlyUse this checklist when starting a new project:
- Choose appropriate category
- Create project directory (Title Case)
- Create subdirectories (attachments, code, etc.)
- Copy appropriate template
- Update frontmatter (id, tags)
- Write overview section
- List objectives/goals
- Document as you build
- Add images and diagrams
- Include code/snippets
- Document challenges faced
- List resources used
- Link to related projects
- Update project index if needed
- Check existing projects for examples
- Read STRUCTURE.md for details
- Look at templates in
templates/directory - Open an issue if you have questions
Remember: The goal is documentation that helps you and others understand the project. Don't stress about perfection - start simple and improve over time!
Last Updated: 2025-10-23