Add LICENSE. Add design documents.

This commit is contained in:
Doc
2025-10-28 21:56:46 -04:00
parent bb1c0612d8
commit ae3585bf48
3 changed files with 87 additions and 0 deletions

80
design_docs/DESIGN.md Normal file
View File

@@ -0,0 +1,80 @@
# Prepping Project
## UV project management
```shell
# I want to use uv for managing the python project
cd <directory where I want the project folder>
uv init -v --author-from git --package --vcs git --build-backend uv --color always bpe-jigsaw
cd bpe-jigsaw
uv add pip # To avoid confusion of using the system pip
uv add fastapi httpx pycord cc-ampapi
uv add --dev pytest pytest-cov
# Applying my preferences
sed -Ei 's/"bpe_jigsaw:main"/"bpe_jigsaw.cli:main"/' pyproject.toml
mkdir -p src/bpe_jigsaw
echo -e "def main() -> None:\n print('TODO')\n\nif __name__ == \"__main__\":\n main()" > src/bpe_jigsaw/cli.py
echo -e "from importlib.metadata import version\n" > src/bpe_jigsaw/__init__.py
echo -e "try:\n __version__ = version(__package__ or __name__)" >> src/bpe_jigsaw/__init__.py
echo -e "exception Exception:\n __version__ = \"0.0.0\"" >> src/bpe_jigsaw/__init__.py
echo -e "from bpe_jigsaw.cli import main\n\nif __name__ == '__main__':\n main()" > src/bpe_jigsaw/__main__.py
mkdir -p tests
curl -L 'https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Python.gitignore' -o .gitignore
echo '.secrets' >> .gitignore
# For my vscode usage
mkdir -p ./.vscode
echo -e "{\n \"python.testing.pytestArgs\": [\n \"tests\"\n ],\n \"python.testing.unittestEnabled\": false,\n \"python.testing.pytestEnabled\": true\n}" > ./.vscode/settings.json
git add -A .
git commit -m "Initial Commit"
git remote add origin https://gitea.wolfeden.online/Doc/bpe-jigsaw.git
git push -u origin master
```
# Goals for the program
## Initial logical structure
- Core Functions
- Web page interface
- Discord bot interface
- Scheduled tasks
### Core
- [ ] Import in basic settings file. Toml? Or YAML?
### Amp Interaction
- [ ] Authenticate
- [ ] List instances
### Web page interface
- [ ] Display a landing page
### Discord bot interface
- [ ] Connect to Discord
### Scheduled tasks
# Possible future modules
## HTML rendering
- Jinja. Can do scripting type templating, or just plain templating.
# External Refs
## LLM Session for info gathering
- **LLM Session:** [LLM session for link searching](https://gemini.google.com/share/429e8dd892f6)
- **Pycord**
- **Pycord Documentation:** [https://docs.pycord.dev/](https://docs.pycord.dev/)
- **Pycord Guide (Tutorials):** [https://guide.pycord.dev/](https://guide.pycord.dev/)
- **FastAPI**
- **FastAPI Tutorials and User Guide):** [https://fastapi.tiangolo.com/](https://fastapi.tiangolo.com/)
- **FastAPI Reference:** [https://fastapi.tiangolo.com/reference/](https://fastapi.tiangolo.com/reference/)
- **httpx**
- **httpx Documentation (Main Page):** [https://www.python-httpx.org/](https://www.python-httpx.org/)
- **httpx QuickStart Guide:** [https://www.python-httpx.org/quickstart/](https://www.python-httpx.org/quickstart/)
- **httpx Developer Interface (API Reference):** [https://www.python-httpx.org/api/](https://www.python-httpx.org/api/)
- ** AMP API**
- [Developers: How do I start working with AMP's API? · CubeCoders/AMP Wiki · GitHub](https://github.com/CubeCoders/AMP/wiki/Developers:-How-do-I-start-working-with-AMP's-API%3F)
- http://*-server url-*/api
- [GitHub - p0t4t0sandwich/ampapi: A general repo for all things related to my work with the AMP API](https://github.com/p0t4t0sandwich/ampapi)
- [ampapi · PyPI](https://pypi.org/project/ampapi/)
- [GitHub - k8thekat/AMPAPI\_Python: CubeCoders AMP API for Python](https://github.com/k8thekat/AMPAPI_Python)
- [cc-ampapi · PyPI](https://pypi.org/project/cc-ampapi/)