Add LICENSE. Add design documents.
This commit is contained in:
80
design_docs/DESIGN.md
Normal file
80
design_docs/DESIGN.md
Normal 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/)
|
||||
Reference in New Issue
Block a user