dimensionalOS / dimensionalOS/dimos
Restructure `dimos/` files
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 808
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 233
Description
The project has grown in some random ways and it would be helpful to logically reorder some of the directories in dimos/.
This will be quite disruptive, but I think necessary (and better now than later).
First PR:
learningtoimitation(it's about imitation learning so we should probably narrow it down)core/teststocore/demosagents/{testing.py,agent_test_runner.py,vlm_stream_tester.py}toagents/testing/
Some proposals (all relative to /dimos/):
memory2tomemoryrobot/cliandutils/clitocli- all the blueprint specifications to
blueprintsincludingall_blueprints.pyand related mapping/utils/clitomapping/cliorclispec/utils.pytocore/spec.py(this contains theis_specstuff used in blueprints/modules)navigation/visual/query.pyandnavigation/bbox_navigation.pytoagent/skillsmodels/qwentomodels/vl/qwen(like the others)perception/experimental/temporal_memorytoexperimental/temporal_memoryperception/object_tracker.py(and\_2d/\_3d) toperception/trackingperception/{spatial_perception.py,spatial_vector_db.py,visual_memory.py}intoperception/spatial_memory/delete(can't, it's used by data/unitree_go2_bigoffice/video)msgs/sensor_msgs/image_impls/AbstractImage.pyskillsfolded into the rest of the skills inagent/skillsagents/system_prompt.pytorobot/unitree/go2/system_prompt.pyutils/docs/doclinks.pytocli/docklinks.py
Other:
- I think we should break up
protocol. You wouldn't have a directory calledclassesorfunctions. Things should be grouped by their area, not what they are. It's especially not a good idea sinceprotocoldoesnt just contain Protocols, but also implementations inprotocol/pubsub/impland benchmarks - Pubsub stuff should be moved into
core/pubsub(out ofprotocol) - Move transport stuff to
core/transport(e.g.core/transport.py,core/transport_factory.py
Please expand, if you have suggestions.
- If you disagree with something
- Please add a sub point like this. If you feel very strongly that something is bad, please
cross offthe item
- Please add a sub point like this. If you feel very strongly that something is bad, please
Ideally, if project is structured really well, there wouldn't be so many cross project imports. This is our current project (dirs below 10000 lines are collapsed)
Synced from DIM-1181 by paul.nechifor
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the proposed moves under dimos/, especially protocol, pubsub, transport, and agent/skills, then trace the cross-project imports affected by each. The work is done when the directory structure has an agreed design and the affected imports and references are updated consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100