Initial commit

This commit is contained in:
2026-01-26 16:43:01 -05:00
commit 23cb27503e
39 changed files with 96557 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
---
name: 🔖 Bookmarklet Request
about: Idea for a new bookmarklet or browser utility
title: "[BOOKMARKLET] "
labels: ["bookmarklet", "enhancement"]
assignees: ""
---
## Purpose
<!-- What should this bookmarklet do? -->
## Use Case
<!-- When/where would you use this? -->
## Behavior
<!-- Describe the expected behavior -->
1.
2.
3.
## Technical Considerations
<!-- Any specific requirements or constraints? -->
- Browser compatibility:
- Required permissions:
- Dependencies: None (bookmarklets should be self-contained)
## Inspiration
<!-- Any existing tools or examples? -->
-
## Implementation Notes
<!-- Technical approach or ideas -->
-

40
.github/ISSUE_TEMPLATE/bug-report.md vendored Normal file
View File

@@ -0,0 +1,40 @@
---
name: 🐛 Bug/Issue
about: Report a problem with code or documentation
title: "[BUG] "
labels: ["bug"]
assignees: ""
---
## Description
<!-- Clear description of the issue -->
## Location
<!-- Where is the problem? -->
- File:
- Section:
## Expected Behavior
<!-- What should happen? -->
## Actual Behavior
<!-- What actually happens? -->
## Steps to Reproduce
1.
2.
3.
## Possible Fix
<!-- If you have ideas on how to fix it -->
## Additional Context
<!-- Screenshots, error messages, etc. -->

View File

@@ -0,0 +1,46 @@
---
name: 🧪 Code Experiment
about: Track a code experiment or prototype
title: "[EXPERIMENT] "
labels: ["experiment", "code"]
assignees: ""
---
## Experiment Goal
<!-- What are you trying to learn or build? -->
## Language/Stack
<!-- Python, JavaScript, TypeScript, etc. -->
-
## Hypothesis
<!-- What do you expect to discover or achieve? -->
## Steps
<!-- Outline the experiment -->
- [ ] Setup/preparation
- [ ] Implementation
- [ ] Testing
- [ ] Documentation
## Location
<!-- Where will this code live? -->
- Path: `/code/scratchpad/`
## Success Criteria
<!-- How will you know if this experiment succeeded? -->
-
## Notes
<!-- Any additional context or considerations -->

36
.github/ISSUE_TEMPLATE/concept-idea.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: 💡 Concept/Idea
about: Capture a new concept or idea to develop
title: "[CONCEPT] "
labels: ["concept", "documentation"]
assignees: ""
---
## Concept Summary
<!-- Brief description of the concept or idea -->
## Context
<!-- Where did this idea come from? What problem does it address? -->
## Related Concepts
<!-- Link to related notes or concepts -->
-
## Actions
<!-- What needs to be done to develop this concept? -->
- [ ] Create initial note in `/docs/fleeting/` or `/docs/concepts/`
- [ ] Research and gather information
- [ ] Link to related concepts
- [ ] Refine and expand
## Resources
<!-- Links, references, inspiration -->
-

16
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Choose a template
description: Select the appropriate issue template for your needs
title: ""
labels: []
body:
- type: markdown
attributes:
value: |
## Welcome to Memory Palace Issues!
Choose the template that best fits your need:
- 💡 **Concept/Idea** - Capture new concepts or ideas
- 🔖 **Bookmarklet** - Request or plan a browser utility
- 🧪 **Code Experiment** - Track experiments and prototypes
- 📚 **Project** - Document larger projects
- 🐛 **Bug/Issue** - Report problems

View File

@@ -0,0 +1,55 @@
---
name: 📚 Project Documentation
about: Track documentation for a larger project
title: "[PROJECT] "
labels: ["project", "documentation"]
assignees: ""
---
## Project Name
<!-- What is this project? -->
## Description
<!-- Brief overview -->
## Goals
<!-- What are you trying to accomplish? -->
-
-
## Documentation Structure
- [ ] Create project folder in `/docs/projects/`
- [ ] Project overview/README
- [ ] Technical documentation
- [ ] Decision log
- [ ] Resources and references
## Related Code
<!-- Any code components? -->
- Location:
## Status
<!-- Current state of the project -->
- [ ] Planning
- [ ] In Progress
- [ ] Paused
- [ ] Completed
- [ ] Archived
## Next Steps
- [ ]
- [ ]
## Links & Resources
-

44
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,44 @@
## Description
<!-- Brief description of changes -->
## Type of Change
<!-- Mark the relevant option -->
- [ ] 📝 Documentation (notes, concepts, project docs)
- [ ] 🔖 Bookmarklet (new or updated browser utility)
- [ ] 🧪 Code (scratchpad experiments, templates)
- [ ] 🔧 Configuration (settings, tools, structure)
- [ ] 🐛 Bug fix
## Changes Made
<!-- List specific changes -->
-
-
## Related Issues
<!-- Link any related issues -->
Closes #
## Files Changed
<!-- Key files or areas affected -->
-
## Checklist
- [ ] Changes are documented
- [ ] Code is tested (if applicable)
- [ ] Links are valid
- [ ] Follows project conventions
- [ ] Commits follow conventional format
## Notes
<!-- Any additional context or considerations -->

69
.github/README.md vendored Normal file
View File

@@ -0,0 +1,69 @@
# Memory Palace - GitHub Structure
This directory contains templates and configurations for GitHub.
## 📁 Structure
### `copilot-instructions.md`
GitHub Copilot instructions that guide AI assistance for this workspace. Defines:
- Project overview and structure
- Documentation and code conventions
- File organization and naming
- Commit practices
### `ISSUE_TEMPLATE/`
Issue templates for tracking:
- **concept-idea.md** - New concepts and ideas
- **bookmarklet-request.md** - Browser utility requests
- **code-experiment.md** - Code experiments and prototypes
- **project-documentation.md** - Larger project tracking
- **bug-report.md** - Bug reports and issues
- **config.yml** - Template configuration
### `PULL_REQUEST_TEMPLATE.md`
Template for pull requests (if collaborating or tracking larger changes)
## 🎯 Usage
### For Issues
Use issues to track:
- Ideas you want to develop into notes
- Bookmarklets you want to build
- Code experiments
- Project planning
- Problems to fix
### For Copilot
The instructions file helps Copilot:
- Understand your project structure
- Suggest appropriate file locations
- Follow your naming conventions
- Generate code matching your style
- Create documentation in your format
## 🔧 Customization
Feel free to:
- Add new issue templates for your workflows
- Modify the copilot instructions as your needs evolve
- Create additional GitHub workflows
- Add labels in the repository settings
## 📝 Future Additions
Consider adding:
- `workflows/` - GitHub Actions for automation
- `CODEOWNERS` - If you collaborate with others
- `FUNDING.yml` - If you want to add sponsorship options
- Label definitions and automation

188
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,188 @@
# GitHub Copilot Instructions for Memory Palace
## Project Overview
This is a hybrid workspace combining:
- **Documentation**: Obsidian-style knowledge management with wiki-links and backlinks
- **Code Development**: Bookmarklets, scratchpad code, and project prototypes
## Documentation Guidelines
### Writing Style
- Use clear, concise markdown
- Employ wiki-style `[[links]]` for connecting notes
- Include frontmatter metadata in notes (date, type, tags)
- Keep daily notes in `/docs/daily/` with format `daily-YYYY-MM-DD.md`
- Place evergreen concept notes in `/docs/concepts/`
### Note Structure
```markdown
---
type: concept|project|fleeting
created: YYYY-MM-DD
tags: []
---
# Title
## Overview
Brief summary
## Content
Main content with [[links]]
## Related
- [[other-note]]
```
## Code Development Guidelines
### Bookmarklets (`/code/bookmarklets/`)
- Write as regular Node.js-compatible JavaScript files
- Use modern ES6+ syntax, let/const, etc. (will be minified)
- Include JSDoc comments for documentation (removed in final bookmarklet)
- Write clear, readable code - the generator handles minification
- Use descriptive variable and function names
- Test logic in Node.js if possible before converting
**Conversion Process:**
1. Write bookmarklet as normal `.js` file in `/code/bookmarklets/`
2. Run: `npm run bookmarklet -- code/bookmarklets/your-file.js`
3. Generator automatically:
- Removes all comments
- Minifies code
- Wraps in IIFE: `javascript:(function(){...})();`
- Copies to clipboard
4. Paste into browser bookmark URL field
### Scratchpad Code (`/code/scratchpad/`)
- This is experimental space - be creative
- Add `TODO:` comments for work in progress
- Use descriptive variable names
- Include usage examples
- Python: Follow PEP 8 style
- JavaScript/TypeScript: Use modern ES6+ syntax
### Code Style
- **Python**: PEP 8, type hints preferred
- **JavaScript**: Modern ES6+, const/let over var, **ES modules (import/export)**
- **TypeScript**: Explicit types, interfaces over types
- Comments: Explain _why_, not _what_
- Functions: Single responsibility, descriptive names
### Module System
**This project uses ES modules (import/export), not CommonJS (require).**
- Use `import` for dependencies: `import fs from 'fs';`
- Use `export` for exporting: `export default myFunction;` or `export { myFunction };`
- Package.json is configured with `"type": "module"`
- Use `.js` extension for ES modules
- For Node.js built-ins requiring special handling: `import { fileURLToPath } from 'url';`
## File Organization
### When to Create Files
- **Fleeting notes**: Quick captures, temporary thoughts → `/docs/fleeting/`
- **Concept notes**: Refined ideas, evergreen content → `/docs/concepts/`
- **Project docs**: Specific project documentation → `/docs/projects/`
- **Bookmarklets**: Browser utilities → `/code/bookmarklets/`
- **Experiments**: Testing/learning → `/code/scratchpad/`
### Naming Conventions
- Documentation: `kebab-case.md` (e.g., `my-note.md`)
- JavaScript: `kebab-case.js` (e.g., `my-bookmarklet.js`)
- Python: `snake_case.py` (e.g., `my_script.py`)
- TypeScript: `kebab-case.ts` (e.g., `my-module.ts`)
## Git Commit Practices
GitDoc auto-commits on save. For manual commits:
- Use conventional commits: `type: description`
- Types: `docs:`, `feat:`, `fix:`, `refactor:`, `chore:`
- Examples:
- `docs: add note on memory techniques`
- `feat: create bookmark highlighter bookmarklet`
- `fix: correct regex in search bookmarklet`
## Special Considerations
### Cross-Linking
When suggesting note connections:
- Look for conceptual relationships
- Suggest bidirectional links
- Consider creating index notes for related topics
### Code Reusability
- Create templates in `/code/templates/` for common patterns
- Extract reusable functions into utility modules
- Document APIs and interfaces
### Search & Discovery
- Use descriptive titles and headers
- Include relevant tags in frontmatter
- Add aliases for alternative terms
- Consider TODO tags: `TODO:`, `FIXME:`, `NOTE:`, `IDEA:`
## Preferences
- **Brevity**: Favor concise, clear explanations
- **Examples**: Include practical examples in code
- **Context**: Assume this is a personal knowledge workspace
- **Flexibility**: This is a scratchpad - prioritize exploration over perfection
- **Learning**: Explain concepts when introducing new patterns or techniques
## README Maintenance
**IMPORTANT**: Keep README files synchronized with project structure changes.
### When to Update READMEs
Update relevant README.md files whenever you:
- Add or remove folders
- Change file organization
- Add new tools or utilities
- Modify workflows or conventions
- Add new features or capabilities
### README Locations
- `/README.md` - Main project overview and quick start
- `/docs/README.md` - Documentation hub and note-taking guide
- `/code/README.md` - Code section overview
- `/code/bookmarklets/README.md` - Bookmarklet creation guide
- `/.github/README.md` - GitHub templates and structure
### Update Guidelines
- Keep structure diagrams accurate
- Update examples to reflect current patterns
- Maintain consistency across all READMEs
- Add new sections before implementation when adding major features
- Remove outdated information immediately
## Tools & Extensions Available
- Foam (wiki-links, backlinks, graph)
- Code Runner (quick code execution)
- Todo Tree (tracks TODO comments)
- Bookmarks (mark important code locations)
- ESLint (JavaScript linting)